1 /* 2 * Copyright (C) 2016 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. Neither the name of the copyright holders nor the names of 14 * contributors may be used to endorse or promote products derived 15 * from this software without specific prior written permission. 16 * 4. Any redistribution, use, or modification is done solely for 17 * personal benefit and not for any commercial purpose or for 18 * monetary gain. 19 * 20 * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS 21 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BLUEKITCHEN 24 * GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 27 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 30 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * Please inquire about commercial licensing options at 34 * [email protected] 35 * 36 */ 37 38 39 /** 40 * HCI Event Getter 41 * 42 * Note: Don't edit this file. It is generated by tool/btstack_event_generator.py 43 * 44 */ 45 46 #ifndef BTSTACK_EVENT_H 47 #define BTSTACK_EVENT_H 48 49 #if defined __cplusplus 50 extern "C" { 51 #endif 52 53 #include "btstack_util.h" 54 #include <stdint.h> 55 56 #ifdef ENABLE_BLE 57 #include "ble/gatt_client.h" 58 #endif 59 60 /* API_START */ 61 62 /** 63 * @brief Get event type 64 * @param event 65 * @return type of event 66 */ 67 static inline uint8_t hci_event_packet_get_type(const uint8_t * event){ 68 return event[0]; 69 } 70 71 /*** 72 * @brief Get subevent code for a2dp event 73 * @param event packet 74 * @return subevent_code 75 */ 76 static inline uint8_t hci_event_a2dp_meta_get_subevent_code(const uint8_t * event){ 77 return event[2]; 78 } 79 /*** 80 * @brief Get subevent code for ancs event 81 * @param event packet 82 * @return subevent_code 83 */ 84 static inline uint8_t hci_event_ancs_meta_get_subevent_code(const uint8_t * event){ 85 return event[2]; 86 } 87 /*** 88 * @brief Get subevent code for avdtp event 89 * @param event packet 90 * @return subevent_code 91 */ 92 static inline uint8_t hci_event_avdtp_meta_get_subevent_code(const uint8_t * event){ 93 return event[2]; 94 } 95 /*** 96 * @brief Get subevent code for avrcp event 97 * @param event packet 98 * @return subevent_code 99 */ 100 static inline uint8_t hci_event_avrcp_meta_get_subevent_code(const uint8_t * event){ 101 return event[2]; 102 } 103 /*** 104 * @brief Get subevent code for gap event 105 * @param event packet 106 * @return subevent_code 107 */ 108 static inline uint8_t hci_event_gap_meta_get_subevent_code(const uint8_t * event){ 109 return event[2]; 110 } 111 /*** 112 * @brief Get subevent code for gattservice event 113 * @param event packet 114 * @return subevent_code 115 */ 116 static inline uint8_t hci_event_gattservice_meta_get_subevent_code(const uint8_t * event){ 117 return event[2]; 118 } 119 /*** 120 * @brief Get subevent code for goep event 121 * @param event packet 122 * @return subevent_code 123 */ 124 static inline uint8_t hci_event_goep_meta_get_subevent_code(const uint8_t * event){ 125 return event[2]; 126 } 127 /*** 128 * @brief Get subevent code for hfp event 129 * @param event packet 130 * @return subevent_code 131 */ 132 static inline uint8_t hci_event_hfp_meta_get_subevent_code(const uint8_t * event){ 133 return event[2]; 134 } 135 /*** 136 * @brief Get subevent code for hid event 137 * @param event packet 138 * @return subevent_code 139 */ 140 static inline uint8_t hci_event_hid_meta_get_subevent_code(const uint8_t * event){ 141 return event[2]; 142 } 143 /*** 144 * @brief Get subevent code for hids event 145 * @param event packet 146 * @return subevent_code 147 */ 148 static inline uint8_t hci_event_hids_meta_get_subevent_code(const uint8_t * event){ 149 return event[2]; 150 } 151 /*** 152 * @brief Get subevent code for hsp event 153 * @param event packet 154 * @return subevent_code 155 */ 156 static inline uint8_t hci_event_hsp_meta_get_subevent_code(const uint8_t * event){ 157 return event[2]; 158 } 159 /*** 160 * @brief Get subevent code for le event 161 * @param event packet 162 * @return subevent_code 163 */ 164 static inline uint8_t hci_event_le_meta_get_subevent_code(const uint8_t * event){ 165 return event[2]; 166 } 167 /*** 168 * @brief Get subevent code for map event 169 * @param event packet 170 * @return subevent_code 171 */ 172 static inline uint8_t hci_event_map_meta_get_subevent_code(const uint8_t * event){ 173 return event[2]; 174 } 175 /*** 176 * @brief Get subevent code for mesh event 177 * @param event packet 178 * @return subevent_code 179 */ 180 static inline uint8_t hci_event_mesh_meta_get_subevent_code(const uint8_t * event){ 181 return event[2]; 182 } 183 /*** 184 * @brief Get subevent code for pbap event 185 * @param event packet 186 * @return subevent_code 187 */ 188 static inline uint8_t hci_event_pbap_meta_get_subevent_code(const uint8_t * event){ 189 return event[2]; 190 } 191 /*** 192 * @brief Get subevent code for opp event 193 * @param event packet 194 * @return subevent_code 195 */ 196 static inline uint8_t hci_event_opp_meta_get_subevent_code(const uint8_t * event){ 197 return event[2]; 198 } 199 /** 200 * @brief Get field status from event HCI_EVENT_INQUIRY_COMPLETE 201 * @param event packet 202 * @return status 203 * @note: btstack_type 1 204 */ 205 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){ 206 return event[2]; 207 } 208 209 /** 210 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT 211 * @param event packet 212 * @return num_responses 213 * @note: btstack_type 1 214 */ 215 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){ 216 return event[2]; 217 } 218 /** 219 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT 220 * @param event packet 221 * @param Pointer to storage for bd_addr 222 * @note: btstack_type B 223 */ 224 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 225 reverse_bytes(&event[3], bd_addr, 6); 226 } 227 /** 228 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT 229 * @param event packet 230 * @return page_scan_repetition_mode 231 * @note: btstack_type 1 232 */ 233 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 234 return event[9]; 235 } 236 /** 237 * @brief Get field reserved1 from event HCI_EVENT_INQUIRY_RESULT 238 * @param event packet 239 * @return reserved1 240 * @note: btstack_type 1 241 */ 242 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){ 243 return event[10]; 244 } 245 /** 246 * @brief Get field reserved2 from event HCI_EVENT_INQUIRY_RESULT 247 * @param event packet 248 * @return reserved2 249 * @note: btstack_type 1 250 */ 251 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){ 252 return event[11]; 253 } 254 /** 255 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT 256 * @param event packet 257 * @return class_of_device 258 * @note: btstack_type 3 259 */ 260 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){ 261 return little_endian_read_24(event, 12); 262 } 263 /** 264 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT 265 * @param event packet 266 * @return clock_offset 267 * @note: btstack_type 2 268 */ 269 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){ 270 return little_endian_read_16(event, 15); 271 } 272 273 /** 274 * @brief Get field status from event HCI_EVENT_CONNECTION_COMPLETE 275 * @param event packet 276 * @return status 277 * @note: btstack_type 1 278 */ 279 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){ 280 return event[2]; 281 } 282 /** 283 * @brief Get field connection_handle from event HCI_EVENT_CONNECTION_COMPLETE 284 * @param event packet 285 * @return connection_handle 286 * @note: btstack_type 2 287 */ 288 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){ 289 return little_endian_read_16(event, 3); 290 } 291 /** 292 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_COMPLETE 293 * @param event packet 294 * @param Pointer to storage for bd_addr 295 * @note: btstack_type B 296 */ 297 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 298 reverse_bytes(&event[5], bd_addr, 6); 299 } 300 /** 301 * @brief Get field link_type from event HCI_EVENT_CONNECTION_COMPLETE 302 * @param event packet 303 * @return link_type 304 * @note: btstack_type 1 305 */ 306 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){ 307 return event[11]; 308 } 309 /** 310 * @brief Get field encryption_enabled from event HCI_EVENT_CONNECTION_COMPLETE 311 * @param event packet 312 * @return encryption_enabled 313 * @note: btstack_type 1 314 */ 315 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){ 316 return event[12]; 317 } 318 319 /** 320 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_REQUEST 321 * @param event packet 322 * @param Pointer to storage for bd_addr 323 * @note: btstack_type B 324 */ 325 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 326 reverse_bytes(&event[2], bd_addr, 6); 327 } 328 /** 329 * @brief Get field class_of_device from event HCI_EVENT_CONNECTION_REQUEST 330 * @param event packet 331 * @return class_of_device 332 * @note: btstack_type 3 333 */ 334 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){ 335 return little_endian_read_24(event, 8); 336 } 337 /** 338 * @brief Get field link_type from event HCI_EVENT_CONNECTION_REQUEST 339 * @param event packet 340 * @return link_type 341 * @note: btstack_type 1 342 */ 343 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){ 344 return event[11]; 345 } 346 347 /** 348 * @brief Get field status from event HCI_EVENT_DISCONNECTION_COMPLETE 349 * @param event packet 350 * @return status 351 * @note: btstack_type 1 352 */ 353 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){ 354 return event[2]; 355 } 356 /** 357 * @brief Get field connection_handle from event HCI_EVENT_DISCONNECTION_COMPLETE 358 * @param event packet 359 * @return connection_handle 360 * @note: btstack_type 2 361 */ 362 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){ 363 return little_endian_read_16(event, 3); 364 } 365 /** 366 * @brief Get field reason from event HCI_EVENT_DISCONNECTION_COMPLETE 367 * @param event packet 368 * @return reason 369 * @note: btstack_type 1 370 */ 371 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){ 372 return event[5]; 373 } 374 375 /** 376 * @brief Get field status from event HCI_EVENT_AUTHENTICATION_COMPLETE 377 * @param event packet 378 * @return status 379 * @note: btstack_type 1 380 */ 381 static inline uint8_t hci_event_authentication_complete_get_status(const uint8_t * event){ 382 return event[2]; 383 } 384 /** 385 * @brief Get field connection_handle from event HCI_EVENT_AUTHENTICATION_COMPLETE 386 * @param event packet 387 * @return connection_handle 388 * @note: btstack_type 2 389 */ 390 static inline uint16_t hci_event_authentication_complete_get_connection_handle(const uint8_t * event){ 391 return little_endian_read_16(event, 3); 392 } 393 394 /** 395 * @brief Get field status from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 396 * @param event packet 397 * @return status 398 * @note: btstack_type 1 399 */ 400 static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){ 401 return event[2]; 402 } 403 /** 404 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 405 * @param event packet 406 * @param Pointer to storage for bd_addr 407 * @note: btstack_type B 408 */ 409 static inline void hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 410 reverse_bytes(&event[3], bd_addr, 6); 411 } 412 /** 413 * @brief Get field remote_name from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 414 * @param event packet 415 * @return remote_name 416 * @note: btstack_type N 417 */ 418 static inline const char * hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){ 419 return (const char *) &event[9]; 420 } 421 422 /** 423 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE 424 * @param event packet 425 * @return status 426 * @note: btstack_type 1 427 */ 428 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){ 429 return event[2]; 430 } 431 /** 432 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE 433 * @param event packet 434 * @return connection_handle 435 * @note: btstack_type 2 436 */ 437 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){ 438 return little_endian_read_16(event, 3); 439 } 440 /** 441 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE 442 * @param event packet 443 * @return encryption_enabled 444 * @note: btstack_type 1 445 */ 446 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){ 447 return event[5]; 448 } 449 450 /** 451 * @brief Get field status from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 452 * @param event packet 453 * @return status 454 * @note: btstack_type 1 455 */ 456 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){ 457 return event[2]; 458 } 459 /** 460 * @brief Get field connection_handle from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 461 * @param event packet 462 * @return connection_handle 463 * @note: btstack_type 2 464 */ 465 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){ 466 return little_endian_read_16(event, 3); 467 } 468 469 /** 470 * @brief Get field status from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 471 * @param event packet 472 * @return status 473 * @note: btstack_type 1 474 */ 475 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){ 476 return event[2]; 477 } 478 /** 479 * @brief Get field connection_handle from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 480 * @param event packet 481 * @return connection_handle 482 * @note: btstack_type 2 483 */ 484 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){ 485 return little_endian_read_16(event, 3); 486 } 487 /** 488 * @brief Get field key_flag from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 489 * @param event packet 490 * @return key_flag 491 * @note: btstack_type 1 492 */ 493 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){ 494 return event[5]; 495 } 496 497 /** 498 * @brief Get field status from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 499 * @param event packet 500 * @return status 501 * @note: btstack_type 1 502 */ 503 static inline uint8_t hci_event_read_remote_version_information_complete_get_status(const uint8_t * event){ 504 return event[2]; 505 } 506 /** 507 * @brief Get field connection_handle from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 508 * @param event packet 509 * @return connection_handle 510 * @note: btstack_type 2 511 */ 512 static inline uint16_t hci_event_read_remote_version_information_complete_get_connection_handle(const uint8_t * event){ 513 return little_endian_read_16(event, 3); 514 } 515 /** 516 * @brief Get field version from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 517 * @param event packet 518 * @return version 519 * @note: btstack_type 1 520 */ 521 static inline uint8_t hci_event_read_remote_version_information_complete_get_version(const uint8_t * event){ 522 return event[5]; 523 } 524 /** 525 * @brief Get field manufacturer_name from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 526 * @param event packet 527 * @return manufacturer_name 528 * @note: btstack_type 2 529 */ 530 static inline uint16_t hci_event_read_remote_version_information_complete_get_manufacturer_name(const uint8_t * event){ 531 return little_endian_read_16(event, 6); 532 } 533 /** 534 * @brief Get field subversion from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 535 * @param event packet 536 * @return subversion 537 * @note: btstack_type 2 538 */ 539 static inline uint16_t hci_event_read_remote_version_information_complete_get_subversion(const uint8_t * event){ 540 return little_endian_read_16(event, 8); 541 } 542 543 /** 544 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_COMPLETE 545 * @param event packet 546 * @return num_hci_command_packets 547 * @note: btstack_type 1 548 */ 549 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){ 550 return event[2]; 551 } 552 /** 553 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_COMPLETE 554 * @param event packet 555 * @return command_opcode 556 * @note: btstack_type 2 557 */ 558 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){ 559 return little_endian_read_16(event, 3); 560 } 561 /** 562 * @brief Get field return_parameters from event HCI_EVENT_COMMAND_COMPLETE 563 * @param event packet 564 * @return return_parameters 565 * @note: btstack_type R 566 */ 567 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){ 568 return &event[5]; 569 } 570 571 /** 572 * @brief Get field status from event HCI_EVENT_COMMAND_STATUS 573 * @param event packet 574 * @return status 575 * @note: btstack_type 1 576 */ 577 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){ 578 return event[2]; 579 } 580 /** 581 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_STATUS 582 * @param event packet 583 * @return num_hci_command_packets 584 * @note: btstack_type 1 585 */ 586 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){ 587 return event[3]; 588 } 589 /** 590 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_STATUS 591 * @param event packet 592 * @return command_opcode 593 * @note: btstack_type 2 594 */ 595 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){ 596 return little_endian_read_16(event, 4); 597 } 598 599 /** 600 * @brief Get field hardware_code from event HCI_EVENT_HARDWARE_ERROR 601 * @param event packet 602 * @return hardware_code 603 * @note: btstack_type 1 604 */ 605 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){ 606 return event[2]; 607 } 608 609 /** 610 * @brief Get field handle from event HCI_EVENT_FLUSH_OCCURRED 611 * @param event packet 612 * @return handle 613 * @note: btstack_type H 614 */ 615 static inline hci_con_handle_t hci_event_flush_occurred_get_handle(const uint8_t * event){ 616 return little_endian_read_16(event, 2); 617 } 618 619 /** 620 * @brief Get field status from event HCI_EVENT_ROLE_CHANGE 621 * @param event packet 622 * @return status 623 * @note: btstack_type 1 624 */ 625 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){ 626 return event[2]; 627 } 628 /** 629 * @brief Get field bd_addr from event HCI_EVENT_ROLE_CHANGE 630 * @param event packet 631 * @param Pointer to storage for bd_addr 632 * @note: btstack_type B 633 */ 634 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 635 reverse_bytes(&event[3], bd_addr, 6); 636 } 637 /** 638 * @brief Get field role from event HCI_EVENT_ROLE_CHANGE 639 * @param event packet 640 * @return role 641 * @note: btstack_type 1 642 */ 643 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){ 644 return event[9]; 645 } 646 647 /** 648 * @brief Get field status from event HCI_EVENT_MODE_CHANGE 649 * @param event packet 650 * @return status 651 * @note: btstack_type 1 652 */ 653 static inline uint8_t hci_event_mode_change_get_status(const uint8_t * event){ 654 return event[2]; 655 } 656 /** 657 * @brief Get field handle from event HCI_EVENT_MODE_CHANGE 658 * @param event packet 659 * @return handle 660 * @note: btstack_type H 661 */ 662 static inline hci_con_handle_t hci_event_mode_change_get_handle(const uint8_t * event){ 663 return little_endian_read_16(event, 3); 664 } 665 /** 666 * @brief Get field mode from event HCI_EVENT_MODE_CHANGE 667 * @param event packet 668 * @return mode 669 * @note: btstack_type 1 670 */ 671 static inline uint8_t hci_event_mode_change_get_mode(const uint8_t * event){ 672 return event[5]; 673 } 674 /** 675 * @brief Get field interval from event HCI_EVENT_MODE_CHANGE 676 * @param event packet 677 * @return interval 678 * @note: btstack_type 2 679 */ 680 static inline uint16_t hci_event_mode_change_get_interval(const uint8_t * event){ 681 return little_endian_read_16(event, 6); 682 } 683 684 /** 685 * @brief Get field bd_addr from event HCI_EVENT_PIN_CODE_REQUEST 686 * @param event packet 687 * @param Pointer to storage for bd_addr 688 * @note: btstack_type B 689 */ 690 static inline void hci_event_pin_code_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 691 reverse_bytes(&event[2], bd_addr, 6); 692 } 693 694 /** 695 * @brief Get field bd_addr from event HCI_EVENT_LINK_KEY_REQUEST 696 * @param event packet 697 * @param Pointer to storage for bd_addr 698 * @note: btstack_type B 699 */ 700 static inline void hci_event_link_key_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 701 reverse_bytes(&event[2], bd_addr, 6); 702 } 703 704 /** 705 * @brief Get field link_type from event HCI_EVENT_DATA_BUFFER_OVERFLOW 706 * @param event packet 707 * @return link_type 708 * @note: btstack_type 1 709 */ 710 static inline uint8_t hci_event_data_buffer_overflow_get_link_type(const uint8_t * event){ 711 return event[2]; 712 } 713 714 /** 715 * @brief Get field handle from event HCI_EVENT_MAX_SLOTS_CHANGED 716 * @param event packet 717 * @return handle 718 * @note: btstack_type H 719 */ 720 static inline hci_con_handle_t hci_event_max_slots_changed_get_handle(const uint8_t * event){ 721 return little_endian_read_16(event, 2); 722 } 723 /** 724 * @brief Get field lmp_max_slots from event HCI_EVENT_MAX_SLOTS_CHANGED 725 * @param event packet 726 * @return lmp_max_slots 727 * @note: btstack_type 1 728 */ 729 static inline uint8_t hci_event_max_slots_changed_get_lmp_max_slots(const uint8_t * event){ 730 return event[4]; 731 } 732 733 /** 734 * @brief Get field status from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 735 * @param event packet 736 * @return status 737 * @note: btstack_type 1 738 */ 739 static inline uint8_t hci_event_read_clock_offset_complete_get_status(const uint8_t * event){ 740 return event[2]; 741 } 742 /** 743 * @brief Get field handle from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 744 * @param event packet 745 * @return handle 746 * @note: btstack_type H 747 */ 748 static inline hci_con_handle_t hci_event_read_clock_offset_complete_get_handle(const uint8_t * event){ 749 return little_endian_read_16(event, 3); 750 } 751 /** 752 * @brief Get field clock_offset from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 753 * @param event packet 754 * @return clock_offset 755 * @note: btstack_type 2 756 */ 757 static inline uint16_t hci_event_read_clock_offset_complete_get_clock_offset(const uint8_t * event){ 758 return little_endian_read_16(event, 5); 759 } 760 761 /** 762 * @brief Get field status from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 763 * @param event packet 764 * @return status 765 * @note: btstack_type 1 766 */ 767 static inline uint8_t hci_event_connection_packet_type_changed_get_status(const uint8_t * event){ 768 return event[2]; 769 } 770 /** 771 * @brief Get field handle from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 772 * @param event packet 773 * @return handle 774 * @note: btstack_type H 775 */ 776 static inline hci_con_handle_t hci_event_connection_packet_type_changed_get_handle(const uint8_t * event){ 777 return little_endian_read_16(event, 3); 778 } 779 /** 780 * @brief Get field packet_types from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 781 * @param event packet 782 * @return packet_types 783 * @note: btstack_type 2 784 */ 785 static inline uint16_t hci_event_connection_packet_type_changed_get_packet_types(const uint8_t * event){ 786 return little_endian_read_16(event, 5); 787 } 788 789 /** 790 * @brief Get field handle from event HCI_EVENT_QOS_VIOLATION 791 * @param event packet 792 * @return handle 793 * @note: btstack_type H 794 */ 795 static inline hci_con_handle_t hci_event_qos_violation_get_handle(const uint8_t * event){ 796 return little_endian_read_16(event, 2); 797 } 798 799 /** 800 * @brief Get field handle from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 801 * @param event packet 802 * @return handle 803 * @note: btstack_type H 804 */ 805 static inline hci_con_handle_t hci_event_page_scan_repetition_mode_change_get_handle(const uint8_t * event){ 806 return little_endian_read_16(event, 2); 807 } 808 /** 809 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE 810 * @param event packet 811 * @return page_scan_repetition_mode 812 * @note: btstack_type 1 813 */ 814 static inline uint8_t hci_event_page_scan_repetition_mode_change_get_page_scan_repetition_mode(const uint8_t * event){ 815 return event[4]; 816 } 817 818 /** 819 * @brief Get field status from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 820 * @param event packet 821 * @return status 822 * @note: btstack_type 1 823 */ 824 static inline uint8_t hci_event_flow_specification_complete_get_status(const uint8_t * event){ 825 return event[2]; 826 } 827 /** 828 * @brief Get field handle from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 829 * @param event packet 830 * @return handle 831 * @note: btstack_type H 832 */ 833 static inline hci_con_handle_t hci_event_flow_specification_complete_get_handle(const uint8_t * event){ 834 return little_endian_read_16(event, 3); 835 } 836 /** 837 * @brief Get field unused from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 838 * @param event packet 839 * @return unused 840 * @note: btstack_type 1 841 */ 842 static inline uint8_t hci_event_flow_specification_complete_get_unused(const uint8_t * event){ 843 return event[5]; 844 } 845 /** 846 * @brief Get field flow_direction from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 847 * @param event packet 848 * @return flow_direction 849 * @note: btstack_type 1 850 */ 851 static inline uint8_t hci_event_flow_specification_complete_get_flow_direction(const uint8_t * event){ 852 return event[6]; 853 } 854 /** 855 * @brief Get field service_type from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 856 * @param event packet 857 * @return service_type 858 * @note: btstack_type 1 859 */ 860 static inline uint8_t hci_event_flow_specification_complete_get_service_type(const uint8_t * event){ 861 return event[7]; 862 } 863 /** 864 * @brief Get field token_rate from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 865 * @param event packet 866 * @return token_rate 867 * @note: btstack_type 4 868 */ 869 static inline uint32_t hci_event_flow_specification_complete_get_token_rate(const uint8_t * event){ 870 return little_endian_read_32(event, 8); 871 } 872 /** 873 * @brief Get field token_bucket_size from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 874 * @param event packet 875 * @return token_bucket_size 876 * @note: btstack_type 4 877 */ 878 static inline uint32_t hci_event_flow_specification_complete_get_token_bucket_size(const uint8_t * event){ 879 return little_endian_read_32(event, 12); 880 } 881 /** 882 * @brief Get field peak_bandwidth from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 883 * @param event packet 884 * @return peak_bandwidth 885 * @note: btstack_type 4 886 */ 887 static inline uint32_t hci_event_flow_specification_complete_get_peak_bandwidth(const uint8_t * event){ 888 return little_endian_read_32(event, 16); 889 } 890 /** 891 * @brief Get field access_latency from event HCI_EVENT_FLOW_SPECIFICATION_COMPLETE 892 * @param event packet 893 * @return access_latency 894 * @note: btstack_type 4 895 */ 896 static inline uint32_t hci_event_flow_specification_complete_get_access_latency(const uint8_t * event){ 897 return little_endian_read_32(event, 20); 898 } 899 900 /** 901 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 902 * @param event packet 903 * @return num_responses 904 * @note: btstack_type 1 905 */ 906 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){ 907 return event[2]; 908 } 909 /** 910 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 911 * @param event packet 912 * @param Pointer to storage for bd_addr 913 * @note: btstack_type B 914 */ 915 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 916 reverse_bytes(&event[3], bd_addr, 6); 917 } 918 /** 919 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 920 * @param event packet 921 * @return page_scan_repetition_mode 922 * @note: btstack_type 1 923 */ 924 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){ 925 return event[9]; 926 } 927 /** 928 * @brief Get field reserved from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 929 * @param event packet 930 * @return reserved 931 * @note: btstack_type 1 932 */ 933 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){ 934 return event[10]; 935 } 936 /** 937 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 938 * @param event packet 939 * @return class_of_device 940 * @note: btstack_type 3 941 */ 942 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){ 943 return little_endian_read_24(event, 11); 944 } 945 /** 946 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 947 * @param event packet 948 * @return clock_offset 949 * @note: btstack_type 2 950 */ 951 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){ 952 return little_endian_read_16(event, 14); 953 } 954 /** 955 * @brief Get field rssi from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 956 * @param event packet 957 * @return rssi 958 * @note: btstack_type 1 959 */ 960 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){ 961 return event[16]; 962 } 963 964 /** 965 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 966 * @param event packet 967 * @return status 968 * @note: btstack_type 1 969 */ 970 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){ 971 return event[2]; 972 } 973 /** 974 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 975 * @param event packet 976 * @return handle 977 * @note: btstack_type H 978 */ 979 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){ 980 return little_endian_read_16(event, 3); 981 } 982 /** 983 * @brief Get field bd_addr from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 984 * @param event packet 985 * @param Pointer to storage for bd_addr 986 * @note: btstack_type B 987 */ 988 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 989 reverse_bytes(&event[5], bd_addr, 6); 990 } 991 /** 992 * @brief Get field link_type from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 993 * @param event packet 994 * @return link_type 995 * @note: btstack_type 1 996 */ 997 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){ 998 return event[11]; 999 } 1000 /** 1001 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1002 * @param event packet 1003 * @return transmission_interval 1004 * @note: btstack_type 1 1005 */ 1006 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){ 1007 return event[12]; 1008 } 1009 /** 1010 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1011 * @param event packet 1012 * @return retransmission_interval 1013 * @note: btstack_type 1 1014 */ 1015 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){ 1016 return event[13]; 1017 } 1018 /** 1019 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1020 * @param event packet 1021 * @return rx_packet_length 1022 * @note: btstack_type 2 1023 */ 1024 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){ 1025 return little_endian_read_16(event, 14); 1026 } 1027 /** 1028 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1029 * @param event packet 1030 * @return tx_packet_length 1031 * @note: btstack_type 2 1032 */ 1033 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){ 1034 return little_endian_read_16(event, 16); 1035 } 1036 /** 1037 * @brief Get field air_mode from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 1038 * @param event packet 1039 * @return air_mode 1040 * @note: btstack_type 1 1041 */ 1042 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){ 1043 return event[18]; 1044 } 1045 1046 /** 1047 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1048 * @param event packet 1049 * @return status 1050 * @note: btstack_type 1 1051 */ 1052 static inline uint8_t hci_event_synchronous_connection_changed_get_status(const uint8_t * event){ 1053 return event[2]; 1054 } 1055 /** 1056 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1057 * @param event packet 1058 * @return handle 1059 * @note: btstack_type H 1060 */ 1061 static inline hci_con_handle_t hci_event_synchronous_connection_changed_get_handle(const uint8_t * event){ 1062 return little_endian_read_16(event, 3); 1063 } 1064 /** 1065 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1066 * @param event packet 1067 * @return transmission_interval 1068 * @note: btstack_type 1 1069 */ 1070 static inline uint8_t hci_event_synchronous_connection_changed_get_transmission_interval(const uint8_t * event){ 1071 return event[5]; 1072 } 1073 /** 1074 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1075 * @param event packet 1076 * @return retransmission_interval 1077 * @note: btstack_type 1 1078 */ 1079 static inline uint8_t hci_event_synchronous_connection_changed_get_retransmission_interval(const uint8_t * event){ 1080 return event[6]; 1081 } 1082 /** 1083 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1084 * @param event packet 1085 * @return rx_packet_length 1086 * @note: btstack_type 2 1087 */ 1088 static inline uint16_t hci_event_synchronous_connection_changed_get_rx_packet_length(const uint8_t * event){ 1089 return little_endian_read_16(event, 7); 1090 } 1091 /** 1092 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED 1093 * @param event packet 1094 * @return tx_packet_length 1095 * @note: btstack_type 2 1096 */ 1097 static inline uint16_t hci_event_synchronous_connection_changed_get_tx_packet_length(const uint8_t * event){ 1098 return little_endian_read_16(event, 9); 1099 } 1100 1101 /** 1102 * @brief Get field status from event HCI_EVENT_SNIFF_SUBRATING 1103 * @param event packet 1104 * @return status 1105 * @note: btstack_type 1 1106 */ 1107 static inline uint8_t hci_event_sniff_subrating_get_status(const uint8_t * event){ 1108 return event[2]; 1109 } 1110 /** 1111 * @brief Get field handle from event HCI_EVENT_SNIFF_SUBRATING 1112 * @param event packet 1113 * @return handle 1114 * @note: btstack_type H 1115 */ 1116 static inline hci_con_handle_t hci_event_sniff_subrating_get_handle(const uint8_t * event){ 1117 return little_endian_read_16(event, 3); 1118 } 1119 /** 1120 * @brief Get field max_tx_latency from event HCI_EVENT_SNIFF_SUBRATING 1121 * @param event packet 1122 * @return max_tx_latency 1123 * @note: btstack_type 2 1124 */ 1125 static inline uint16_t hci_event_sniff_subrating_get_max_tx_latency(const uint8_t * event){ 1126 return little_endian_read_16(event, 5); 1127 } 1128 /** 1129 * @brief Get field max_rx_latency from event HCI_EVENT_SNIFF_SUBRATING 1130 * @param event packet 1131 * @return max_rx_latency 1132 * @note: btstack_type 2 1133 */ 1134 static inline uint16_t hci_event_sniff_subrating_get_max_rx_latency(const uint8_t * event){ 1135 return little_endian_read_16(event, 7); 1136 } 1137 /** 1138 * @brief Get field min_remote_timeout from event HCI_EVENT_SNIFF_SUBRATING 1139 * @param event packet 1140 * @return min_remote_timeout 1141 * @note: btstack_type 2 1142 */ 1143 static inline uint16_t hci_event_sniff_subrating_get_min_remote_timeout(const uint8_t * event){ 1144 return little_endian_read_16(event, 9); 1145 } 1146 /** 1147 * @brief Get field min_local_timeout from event HCI_EVENT_SNIFF_SUBRATING 1148 * @param event packet 1149 * @return min_local_timeout 1150 * @note: btstack_type 2 1151 */ 1152 static inline uint16_t hci_event_sniff_subrating_get_min_local_timeout(const uint8_t * event){ 1153 return little_endian_read_16(event, 11); 1154 } 1155 1156 /** 1157 * @brief Get field num_responses from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1158 * @param event packet 1159 * @return num_responses 1160 * @note: btstack_type 1 1161 */ 1162 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){ 1163 return event[2]; 1164 } 1165 /** 1166 * @brief Get field bd_addr from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1167 * @param event packet 1168 * @param Pointer to storage for bd_addr 1169 * @note: btstack_type B 1170 */ 1171 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1172 reverse_bytes(&event[3], bd_addr, 6); 1173 } 1174 /** 1175 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1176 * @param event packet 1177 * @return page_scan_repetition_mode 1178 * @note: btstack_type 1 1179 */ 1180 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){ 1181 return event[9]; 1182 } 1183 /** 1184 * @brief Get field reserved from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1185 * @param event packet 1186 * @return reserved 1187 * @note: btstack_type 1 1188 */ 1189 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){ 1190 return event[10]; 1191 } 1192 /** 1193 * @brief Get field class_of_device from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1194 * @param event packet 1195 * @return class_of_device 1196 * @note: btstack_type 3 1197 */ 1198 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){ 1199 return little_endian_read_24(event, 11); 1200 } 1201 /** 1202 * @brief Get field clock_offset from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1203 * @param event packet 1204 * @return clock_offset 1205 * @note: btstack_type 2 1206 */ 1207 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){ 1208 return little_endian_read_16(event, 14); 1209 } 1210 /** 1211 * @brief Get field rssi from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 1212 * @param event packet 1213 * @return rssi 1214 * @note: btstack_type 1 1215 */ 1216 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){ 1217 return event[16]; 1218 } 1219 1220 /** 1221 * @brief Get field status from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1222 * @param event packet 1223 * @return status 1224 * @note: btstack_type 1 1225 */ 1226 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){ 1227 return event[2]; 1228 } 1229 /** 1230 * @brief Get field handle from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 1231 * @param event packet 1232 * @return handle 1233 * @note: btstack_type H 1234 */ 1235 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){ 1236 return little_endian_read_16(event, 3); 1237 } 1238 1239 /** 1240 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_REQUEST 1241 * @param event packet 1242 * @param Pointer to storage for bd_addr 1243 * @note: btstack_type B 1244 */ 1245 static inline void hci_event_io_capability_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1246 reverse_bytes(&event[2], bd_addr, 6); 1247 } 1248 1249 /** 1250 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1251 * @param event packet 1252 * @param Pointer to storage for bd_addr 1253 * @note: btstack_type B 1254 */ 1255 static inline void hci_event_io_capability_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1256 reverse_bytes(&event[2], bd_addr, 6); 1257 } 1258 /** 1259 * @brief Get field io_capability from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1260 * @param event packet 1261 * @return io_capability 1262 * @note: btstack_type 1 1263 */ 1264 static inline uint8_t hci_event_io_capability_response_get_io_capability(const uint8_t * event){ 1265 return event[8]; 1266 } 1267 /** 1268 * @brief Get field oob_data_present from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1269 * @param event packet 1270 * @return oob_data_present 1271 * @note: btstack_type 1 1272 */ 1273 static inline uint8_t hci_event_io_capability_response_get_oob_data_present(const uint8_t * event){ 1274 return event[9]; 1275 } 1276 /** 1277 * @brief Get field authentication_requirements from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1278 * @param event packet 1279 * @return authentication_requirements 1280 * @note: btstack_type 1 1281 */ 1282 static inline uint8_t hci_event_io_capability_response_get_authentication_requirements(const uint8_t * event){ 1283 return event[10]; 1284 } 1285 1286 /** 1287 * @brief Get field bd_addr from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1288 * @param event packet 1289 * @param Pointer to storage for bd_addr 1290 * @note: btstack_type B 1291 */ 1292 static inline void hci_event_user_confirmation_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1293 reverse_bytes(&event[2], bd_addr, 6); 1294 } 1295 /** 1296 * @brief Get field numeric_value from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1297 * @param event packet 1298 * @return numeric_value 1299 * @note: btstack_type 4 1300 */ 1301 static inline uint32_t hci_event_user_confirmation_request_get_numeric_value(const uint8_t * event){ 1302 return little_endian_read_32(event, 8); 1303 } 1304 1305 /** 1306 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_REQUEST 1307 * @param event packet 1308 * @param Pointer to storage for bd_addr 1309 * @note: btstack_type B 1310 */ 1311 static inline void hci_event_user_passkey_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1312 reverse_bytes(&event[2], bd_addr, 6); 1313 } 1314 1315 /** 1316 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_OOB_DATA_REQUEST 1317 * @param event packet 1318 * @param Pointer to storage for bd_addr 1319 * @note: btstack_type B 1320 */ 1321 static inline void hci_event_remote_oob_data_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1322 reverse_bytes(&event[2], bd_addr, 6); 1323 } 1324 1325 /** 1326 * @brief Get field status from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1327 * @param event packet 1328 * @return status 1329 * @note: btstack_type 1 1330 */ 1331 static inline uint8_t hci_event_simple_pairing_complete_get_status(const uint8_t * event){ 1332 return event[2]; 1333 } 1334 /** 1335 * @brief Get field bd_addr from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1336 * @param event packet 1337 * @param Pointer to storage for bd_addr 1338 * @note: btstack_type B 1339 */ 1340 static inline void hci_event_simple_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1341 reverse_bytes(&event[3], bd_addr, 6); 1342 } 1343 1344 /** 1345 * @brief Get field handle from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1346 * @param event packet 1347 * @return handle 1348 * @note: btstack_type H 1349 */ 1350 static inline hci_con_handle_t hci_event_link_supervision_timeout_changed_get_handle(const uint8_t * event){ 1351 return little_endian_read_16(event, 2); 1352 } 1353 /** 1354 * @brief Get field link_supervision_timeout from event HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED 1355 * @param event packet 1356 * @return link_supervision_timeout 1357 * @note: btstack_type 2 1358 */ 1359 static inline uint16_t hci_event_link_supervision_timeout_changed_get_link_supervision_timeout(const uint8_t * event){ 1360 return little_endian_read_16(event, 4); 1361 } 1362 1363 /** 1364 * @brief Get field handle from event HCI_EVENT_ENHANCED_FLUSH_COMPLETE 1365 * @param event packet 1366 * @return handle 1367 * @note: btstack_type H 1368 */ 1369 static inline hci_con_handle_t hci_event_enhanced_flush_complete_get_handle(const uint8_t * event){ 1370 return little_endian_read_16(event, 2); 1371 } 1372 1373 /** 1374 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1375 * @param event packet 1376 * @param Pointer to storage for bd_addr 1377 * @note: btstack_type B 1378 */ 1379 static inline void hci_event_user_passkey_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1380 reverse_bytes(&event[2], bd_addr, 6); 1381 } 1382 /** 1383 * @brief Get field numeric_value from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1384 * @param event packet 1385 * @return numeric_value 1386 * @note: btstack_type 4 1387 */ 1388 static inline uint32_t hci_event_user_passkey_notification_get_numeric_value(const uint8_t * event){ 1389 return little_endian_read_32(event, 8); 1390 } 1391 1392 /** 1393 * @brief Get field bd_addr from event HCI_EVENT_KEYPRESS_NOTIFICATION 1394 * @param event packet 1395 * @param Pointer to storage for bd_addr 1396 * @note: btstack_type B 1397 */ 1398 static inline void hci_event_keypress_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1399 reverse_bytes(&event[2], bd_addr, 6); 1400 } 1401 /** 1402 * @brief Get field notification_type from event HCI_EVENT_KEYPRESS_NOTIFICATION 1403 * @param event packet 1404 * @return notification_type 1405 * @note: btstack_type 1 1406 */ 1407 static inline uint8_t hci_event_keypress_notification_get_notification_type(const uint8_t * event){ 1408 return event[8]; 1409 } 1410 1411 /** 1412 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1413 * @param event packet 1414 * @return status 1415 * @note: btstack_type 1 1416 */ 1417 static inline uint8_t hci_event_encryption_change_v2_get_status(const uint8_t * event){ 1418 return event[2]; 1419 } 1420 /** 1421 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1422 * @param event packet 1423 * @return connection_handle 1424 * @note: btstack_type 2 1425 */ 1426 static inline uint16_t hci_event_encryption_change_v2_get_connection_handle(const uint8_t * event){ 1427 return little_endian_read_16(event, 3); 1428 } 1429 /** 1430 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1431 * @param event packet 1432 * @return encryption_enabled 1433 * @note: btstack_type 1 1434 */ 1435 static inline uint8_t hci_event_encryption_change_v2_get_encryption_enabled(const uint8_t * event){ 1436 return event[5]; 1437 } 1438 /** 1439 * @brief Get field encryption_key_size from event HCI_EVENT_ENCRYPTION_CHANGE_V2 1440 * @param event packet 1441 * @return encryption_key_size 1442 * @note: btstack_type 1 1443 */ 1444 static inline uint8_t hci_event_encryption_change_v2_get_encryption_key_size(const uint8_t * event){ 1445 return event[6]; 1446 } 1447 1448 /** 1449 * @brief Get field state from event BTSTACK_EVENT_STATE 1450 * @param event packet 1451 * @return state 1452 * @note: btstack_type 1 1453 */ 1454 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){ 1455 return event[2]; 1456 } 1457 1458 /** 1459 * @brief Get field number_connections from event BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 1460 * @param event packet 1461 * @return number_connections 1462 * @note: btstack_type 1 1463 */ 1464 static inline uint8_t btstack_event_nr_connections_changed_get_number_connections(const uint8_t * event){ 1465 return event[2]; 1466 } 1467 1468 1469 /** 1470 * @brief Get field discoverable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1471 * @param event packet 1472 * @return discoverable 1473 * @note: btstack_type 1 1474 */ 1475 static inline uint8_t btstack_event_scan_mode_changed_get_discoverable(const uint8_t * event){ 1476 return event[2]; 1477 } 1478 /** 1479 * @brief Get field connectable from event BTSTACK_EVENT_SCAN_MODE_CHANGED 1480 * @param event packet 1481 * @return connectable 1482 * @note: btstack_type 1 1483 */ 1484 static inline uint8_t btstack_event_scan_mode_changed_get_connectable(const uint8_t * event){ 1485 return event[3]; 1486 } 1487 1488 /** 1489 * @brief Get field active from event HCI_EVENT_TRANSPORT_SLEEP_MODE 1490 * @param event packet 1491 * @return active 1492 * @note: btstack_type 1 1493 */ 1494 static inline uint8_t hci_event_transport_sleep_mode_get_active(const uint8_t * event){ 1495 return event[2]; 1496 } 1497 1498 /** 1499 * @brief Get field vendor_id from event HCI_EVENT_TRANSPORT_USB_INFO 1500 * @param event packet 1501 * @return vendor_id 1502 * @note: btstack_type 2 1503 */ 1504 static inline uint16_t hci_event_transport_usb_info_get_vendor_id(const uint8_t * event){ 1505 return little_endian_read_16(event, 2); 1506 } 1507 /** 1508 * @brief Get field product_id from event HCI_EVENT_TRANSPORT_USB_INFO 1509 * @param event packet 1510 * @return product_id 1511 * @note: btstack_type 2 1512 */ 1513 static inline uint16_t hci_event_transport_usb_info_get_product_id(const uint8_t * event){ 1514 return little_endian_read_16(event, 4); 1515 } 1516 /** 1517 * @brief Get field path_len from event HCI_EVENT_TRANSPORT_USB_INFO 1518 * @param event packet 1519 * @return path_len 1520 * @note: btstack_type J 1521 */ 1522 static inline uint8_t hci_event_transport_usb_info_get_path_len(const uint8_t * event){ 1523 return event[6]; 1524 } 1525 /** 1526 * @brief Get field path from event HCI_EVENT_TRANSPORT_USB_INFO 1527 * @param event packet 1528 * @return path 1529 * @note: btstack_type V 1530 */ 1531 static inline const uint8_t * hci_event_transport_usb_info_get_path(const uint8_t * event){ 1532 return &event[7]; 1533 } 1534 1535 /** 1536 * @brief Get field big_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1537 * @param event packet 1538 * @return big_handle 1539 * @note: btstack_type 1 1540 */ 1541 static inline uint8_t hci_event_bis_can_send_now_get_big_handle(const uint8_t * event){ 1542 return event[2]; 1543 } 1544 /** 1545 * @brief Get field bis_index from event HCI_EVENT_BIS_CAN_SEND_NOW 1546 * @param event packet 1547 * @return bis_index 1548 * @note: btstack_type 1 1549 */ 1550 static inline uint8_t hci_event_bis_can_send_now_get_bis_index(const uint8_t * event){ 1551 return event[3]; 1552 } 1553 /** 1554 * @brief Get field con_handle from event HCI_EVENT_BIS_CAN_SEND_NOW 1555 * @param event packet 1556 * @return con_handle 1557 * @note: btstack_type H 1558 */ 1559 static inline hci_con_handle_t hci_event_bis_can_send_now_get_con_handle(const uint8_t * event){ 1560 return little_endian_read_16(event, 4); 1561 } 1562 1563 /** 1564 * @brief Get field cis_con_handle from event HCI_EVENT_CIS_CAN_SEND_NOW 1565 * @param event packet 1566 * @return cis_con_handle 1567 * @note: btstack_type H 1568 */ 1569 static inline hci_con_handle_t hci_event_cis_can_send_now_get_cis_con_handle(const uint8_t * event){ 1570 return little_endian_read_16(event, 2); 1571 } 1572 1573 1574 /** 1575 * @brief Get field status from event L2CAP_EVENT_CHANNEL_OPENED 1576 * @param event packet 1577 * @return status 1578 * @note: btstack_type 1 1579 */ 1580 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){ 1581 return event[2]; 1582 } 1583 /** 1584 * @brief Get field address from event L2CAP_EVENT_CHANNEL_OPENED 1585 * @param event packet 1586 * @param Pointer to storage for address 1587 * @note: btstack_type B 1588 */ 1589 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1590 reverse_bytes(&event[3], address, 6); 1591 } 1592 /** 1593 * @brief Get field handle from event L2CAP_EVENT_CHANNEL_OPENED 1594 * @param event packet 1595 * @return handle 1596 * @note: btstack_type H 1597 */ 1598 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){ 1599 return little_endian_read_16(event, 9); 1600 } 1601 /** 1602 * @brief Get field psm from event L2CAP_EVENT_CHANNEL_OPENED 1603 * @param event packet 1604 * @return psm 1605 * @note: btstack_type 2 1606 */ 1607 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){ 1608 return little_endian_read_16(event, 11); 1609 } 1610 /** 1611 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_OPENED 1612 * @param event packet 1613 * @return local_cid 1614 * @note: btstack_type 2 1615 */ 1616 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){ 1617 return little_endian_read_16(event, 13); 1618 } 1619 /** 1620 * @brief Get field remote_cid from event L2CAP_EVENT_CHANNEL_OPENED 1621 * @param event packet 1622 * @return remote_cid 1623 * @note: btstack_type 2 1624 */ 1625 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){ 1626 return little_endian_read_16(event, 15); 1627 } 1628 /** 1629 * @brief Get field local_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1630 * @param event packet 1631 * @return local_mtu 1632 * @note: btstack_type 2 1633 */ 1634 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){ 1635 return little_endian_read_16(event, 17); 1636 } 1637 /** 1638 * @brief Get field remote_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1639 * @param event packet 1640 * @return remote_mtu 1641 * @note: btstack_type 2 1642 */ 1643 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){ 1644 return little_endian_read_16(event, 19); 1645 } 1646 /** 1647 * @brief Get field flush_timeout from event L2CAP_EVENT_CHANNEL_OPENED 1648 * @param event packet 1649 * @return flush_timeout 1650 * @note: btstack_type 2 1651 */ 1652 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){ 1653 return little_endian_read_16(event, 21); 1654 } 1655 /** 1656 * @brief Get field incoming from event L2CAP_EVENT_CHANNEL_OPENED 1657 * @param event packet 1658 * @return incoming 1659 * @note: btstack_type 1 1660 */ 1661 static inline uint8_t l2cap_event_channel_opened_get_incoming(const uint8_t * event){ 1662 return event[23]; 1663 } 1664 /** 1665 * @brief Get field mode from event L2CAP_EVENT_CHANNEL_OPENED 1666 * @param event packet 1667 * @return mode 1668 * @note: btstack_type 1 1669 */ 1670 static inline uint8_t l2cap_event_channel_opened_get_mode(const uint8_t * event){ 1671 return event[24]; 1672 } 1673 /** 1674 * @brief Get field fcs from event L2CAP_EVENT_CHANNEL_OPENED 1675 * @param event packet 1676 * @return fcs 1677 * @note: btstack_type 1 1678 */ 1679 static inline uint8_t l2cap_event_channel_opened_get_fcs(const uint8_t * event){ 1680 return event[25]; 1681 } 1682 1683 /** 1684 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_CLOSED 1685 * @param event packet 1686 * @return local_cid 1687 * @note: btstack_type 2 1688 */ 1689 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){ 1690 return little_endian_read_16(event, 2); 1691 } 1692 1693 /** 1694 * @brief Get field address from event L2CAP_EVENT_INCOMING_CONNECTION 1695 * @param event packet 1696 * @param Pointer to storage for address 1697 * @note: btstack_type B 1698 */ 1699 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1700 reverse_bytes(&event[2], address, 6); 1701 } 1702 /** 1703 * @brief Get field handle from event L2CAP_EVENT_INCOMING_CONNECTION 1704 * @param event packet 1705 * @return handle 1706 * @note: btstack_type H 1707 */ 1708 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){ 1709 return little_endian_read_16(event, 8); 1710 } 1711 /** 1712 * @brief Get field psm from event L2CAP_EVENT_INCOMING_CONNECTION 1713 * @param event packet 1714 * @return psm 1715 * @note: btstack_type 2 1716 */ 1717 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){ 1718 return little_endian_read_16(event, 10); 1719 } 1720 /** 1721 * @brief Get field local_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1722 * @param event packet 1723 * @return local_cid 1724 * @note: btstack_type 2 1725 */ 1726 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){ 1727 return little_endian_read_16(event, 12); 1728 } 1729 /** 1730 * @brief Get field remote_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1731 * @param event packet 1732 * @return remote_cid 1733 * @note: btstack_type 2 1734 */ 1735 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){ 1736 return little_endian_read_16(event, 14); 1737 } 1738 1739 /** 1740 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1741 * @param event packet 1742 * @return handle 1743 * @note: btstack_type H 1744 */ 1745 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){ 1746 return little_endian_read_16(event, 2); 1747 } 1748 /** 1749 * @brief Get field interval_min from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1750 * @param event packet 1751 * @return interval_min 1752 * @note: btstack_type 2 1753 */ 1754 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){ 1755 return little_endian_read_16(event, 4); 1756 } 1757 /** 1758 * @brief Get field interval_max from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1759 * @param event packet 1760 * @return interval_max 1761 * @note: btstack_type 2 1762 */ 1763 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){ 1764 return little_endian_read_16(event, 6); 1765 } 1766 /** 1767 * @brief Get field latency from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1768 * @param event packet 1769 * @return latency 1770 * @note: btstack_type 2 1771 */ 1772 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latency(const uint8_t * event){ 1773 return little_endian_read_16(event, 8); 1774 } 1775 /** 1776 * @brief Get field timeout_multiplier from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1777 * @param event packet 1778 * @return timeout_multiplier 1779 * @note: btstack_type 2 1780 */ 1781 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){ 1782 return little_endian_read_16(event, 10); 1783 } 1784 1785 /** 1786 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1787 * @param event packet 1788 * @return handle 1789 * @note: btstack_type H 1790 */ 1791 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){ 1792 return little_endian_read_16(event, 2); 1793 } 1794 /** 1795 * @brief Get field result from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1796 * @param event packet 1797 * @return result 1798 * @note: btstack_type 2 1799 */ 1800 static inline uint16_t l2cap_event_connection_parameter_update_response_get_result(const uint8_t * event){ 1801 return little_endian_read_16(event, 4); 1802 } 1803 1804 /** 1805 * @brief Get field con_handle from event L2CAP_EVENT_INFORMATION_RESPONSE 1806 * @param event packet 1807 * @return con_handle 1808 * @note: btstack_type H 1809 */ 1810 static inline hci_con_handle_t l2cap_event_information_response_get_con_handle(const uint8_t * event){ 1811 return little_endian_read_16(event, 2); 1812 } 1813 /** 1814 * @brief Get field extended_feature_mask from event L2CAP_EVENT_INFORMATION_RESPONSE 1815 * @param event packet 1816 * @return extended_feature_mask 1817 * @note: btstack_type 2 1818 */ 1819 static inline uint16_t l2cap_event_information_response_get_extended_feature_mask(const uint8_t * event){ 1820 return little_endian_read_16(event, 4); 1821 } 1822 /** 1823 * @brief Get field fixed_channels_supported from event L2CAP_EVENT_INFORMATION_RESPONSE 1824 * @param event packet 1825 * @return fixed_channels_supported 1826 * @note: btstack_type 2 1827 */ 1828 static inline uint16_t l2cap_event_information_response_get_fixed_channels_supported(const uint8_t * event){ 1829 return little_endian_read_16(event, 6); 1830 } 1831 1832 /** 1833 * @brief Get field local_cid from event L2CAP_EVENT_CAN_SEND_NOW 1834 * @param event packet 1835 * @return local_cid 1836 * @note: btstack_type 2 1837 */ 1838 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){ 1839 return little_endian_read_16(event, 2); 1840 } 1841 1842 /** 1843 * @brief Get field local_cid from event L2CAP_EVENT_PACKET_SENT 1844 * @param event packet 1845 * @return local_cid 1846 * @note: btstack_type 2 1847 */ 1848 static inline uint16_t l2cap_event_packet_sent_get_local_cid(const uint8_t * event){ 1849 return little_endian_read_16(event, 2); 1850 } 1851 1852 /** 1853 * @brief Get field local_cid from event L2CAP_EVENT_ERTM_BUFFER_RELEASED 1854 * @param event packet 1855 * @return local_cid 1856 * @note: btstack_type 2 1857 */ 1858 static inline uint16_t l2cap_event_ertm_buffer_released_get_local_cid(const uint8_t * event){ 1859 return little_endian_read_16(event, 2); 1860 } 1861 1862 /** 1863 * @brief Get field address_type from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1864 * @param event packet 1865 * @return address_type 1866 * @note: btstack_type 1 1867 */ 1868 static inline uint8_t l2cap_event_cbm_incoming_connection_get_address_type(const uint8_t * event){ 1869 return event[2]; 1870 } 1871 /** 1872 * @brief Get field address from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1873 * @param event packet 1874 * @param Pointer to storage for address 1875 * @note: btstack_type B 1876 */ 1877 static inline void l2cap_event_cbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1878 reverse_bytes(&event[3], address, 6); 1879 } 1880 /** 1881 * @brief Get field handle from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1882 * @param event packet 1883 * @return handle 1884 * @note: btstack_type H 1885 */ 1886 static inline hci_con_handle_t l2cap_event_cbm_incoming_connection_get_handle(const uint8_t * event){ 1887 return little_endian_read_16(event, 9); 1888 } 1889 /** 1890 * @brief Get field psm from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1891 * @param event packet 1892 * @return psm 1893 * @note: btstack_type 2 1894 */ 1895 static inline uint16_t l2cap_event_cbm_incoming_connection_get_psm(const uint8_t * event){ 1896 return little_endian_read_16(event, 11); 1897 } 1898 /** 1899 * @brief Get field local_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1900 * @param event packet 1901 * @return local_cid 1902 * @note: btstack_type 2 1903 */ 1904 static inline uint16_t l2cap_event_cbm_incoming_connection_get_local_cid(const uint8_t * event){ 1905 return little_endian_read_16(event, 13); 1906 } 1907 /** 1908 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1909 * @param event packet 1910 * @return remote_cid 1911 * @note: btstack_type 2 1912 */ 1913 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_cid(const uint8_t * event){ 1914 return little_endian_read_16(event, 15); 1915 } 1916 /** 1917 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_INCOMING_CONNECTION 1918 * @param event packet 1919 * @return remote_mtu 1920 * @note: btstack_type 2 1921 */ 1922 static inline uint16_t l2cap_event_cbm_incoming_connection_get_remote_mtu(const uint8_t * event){ 1923 return little_endian_read_16(event, 17); 1924 } 1925 1926 /** 1927 * @brief Get field status from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1928 * @param event packet 1929 * @return status 1930 * @note: btstack_type 1 1931 */ 1932 static inline uint8_t l2cap_event_cbm_channel_opened_get_status(const uint8_t * event){ 1933 return event[2]; 1934 } 1935 /** 1936 * @brief Get field address_type from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1937 * @param event packet 1938 * @return address_type 1939 * @note: btstack_type 1 1940 */ 1941 static inline uint8_t l2cap_event_cbm_channel_opened_get_address_type(const uint8_t * event){ 1942 return event[3]; 1943 } 1944 /** 1945 * @brief Get field address from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1946 * @param event packet 1947 * @param Pointer to storage for address 1948 * @note: btstack_type B 1949 */ 1950 static inline void l2cap_event_cbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1951 reverse_bytes(&event[4], address, 6); 1952 } 1953 /** 1954 * @brief Get field handle from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1955 * @param event packet 1956 * @return handle 1957 * @note: btstack_type H 1958 */ 1959 static inline hci_con_handle_t l2cap_event_cbm_channel_opened_get_handle(const uint8_t * event){ 1960 return little_endian_read_16(event, 10); 1961 } 1962 /** 1963 * @brief Get field incoming from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1964 * @param event packet 1965 * @return incoming 1966 * @note: btstack_type 1 1967 */ 1968 static inline uint8_t l2cap_event_cbm_channel_opened_get_incoming(const uint8_t * event){ 1969 return event[12]; 1970 } 1971 /** 1972 * @brief Get field psm from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1973 * @param event packet 1974 * @return psm 1975 * @note: btstack_type 2 1976 */ 1977 static inline uint16_t l2cap_event_cbm_channel_opened_get_psm(const uint8_t * event){ 1978 return little_endian_read_16(event, 13); 1979 } 1980 /** 1981 * @brief Get field local_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1982 * @param event packet 1983 * @return local_cid 1984 * @note: btstack_type 2 1985 */ 1986 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_cid(const uint8_t * event){ 1987 return little_endian_read_16(event, 15); 1988 } 1989 /** 1990 * @brief Get field remote_cid from event L2CAP_EVENT_CBM_CHANNEL_OPENED 1991 * @param event packet 1992 * @return remote_cid 1993 * @note: btstack_type 2 1994 */ 1995 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_cid(const uint8_t * event){ 1996 return little_endian_read_16(event, 17); 1997 } 1998 /** 1999 * @brief Get field local_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2000 * @param event packet 2001 * @return local_mtu 2002 * @note: btstack_type 2 2003 */ 2004 static inline uint16_t l2cap_event_cbm_channel_opened_get_local_mtu(const uint8_t * event){ 2005 return little_endian_read_16(event, 19); 2006 } 2007 /** 2008 * @brief Get field remote_mtu from event L2CAP_EVENT_CBM_CHANNEL_OPENED 2009 * @param event packet 2010 * @return remote_mtu 2011 * @note: btstack_type 2 2012 */ 2013 static inline uint16_t l2cap_event_cbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2014 return little_endian_read_16(event, 21); 2015 } 2016 2017 2018 /** 2019 * @brief Get field address_type from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2020 * @param event packet 2021 * @return address_type 2022 * @note: btstack_type 1 2023 */ 2024 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_address_type(const uint8_t * event){ 2025 return event[2]; 2026 } 2027 /** 2028 * @brief Get field address from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2029 * @param event packet 2030 * @param Pointer to storage for address 2031 * @note: btstack_type B 2032 */ 2033 static inline void l2cap_event_ecbm_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 2034 reverse_bytes(&event[3], address, 6); 2035 } 2036 /** 2037 * @brief Get field handle from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2038 * @param event packet 2039 * @return handle 2040 * @note: btstack_type H 2041 */ 2042 static inline hci_con_handle_t l2cap_event_ecbm_incoming_connection_get_handle(const uint8_t * event){ 2043 return little_endian_read_16(event, 9); 2044 } 2045 /** 2046 * @brief Get field psm from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2047 * @param event packet 2048 * @return psm 2049 * @note: btstack_type 2 2050 */ 2051 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_psm(const uint8_t * event){ 2052 return little_endian_read_16(event, 11); 2053 } 2054 /** 2055 * @brief Get field num_channels from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2056 * @param event packet 2057 * @return num_channels 2058 * @note: btstack_type 1 2059 */ 2060 static inline uint8_t l2cap_event_ecbm_incoming_connection_get_num_channels(const uint8_t * event){ 2061 return event[13]; 2062 } 2063 /** 2064 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_INCOMING_CONNECTION 2065 * @param event packet 2066 * @return local_cid 2067 * @note: btstack_type 2 2068 */ 2069 static inline uint16_t l2cap_event_ecbm_incoming_connection_get_local_cid(const uint8_t * event){ 2070 return little_endian_read_16(event, 14); 2071 } 2072 2073 /** 2074 * @brief Get field status from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2075 * @param event packet 2076 * @return status 2077 * @note: btstack_type 1 2078 */ 2079 static inline uint8_t l2cap_event_ecbm_channel_opened_get_status(const uint8_t * event){ 2080 return event[2]; 2081 } 2082 /** 2083 * @brief Get field address_type from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2084 * @param event packet 2085 * @return address_type 2086 * @note: btstack_type 1 2087 */ 2088 static inline uint8_t l2cap_event_ecbm_channel_opened_get_address_type(const uint8_t * event){ 2089 return event[3]; 2090 } 2091 /** 2092 * @brief Get field address from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2093 * @param event packet 2094 * @param Pointer to storage for address 2095 * @note: btstack_type B 2096 */ 2097 static inline void l2cap_event_ecbm_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 2098 reverse_bytes(&event[4], address, 6); 2099 } 2100 /** 2101 * @brief Get field handle from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2102 * @param event packet 2103 * @return handle 2104 * @note: btstack_type H 2105 */ 2106 static inline hci_con_handle_t l2cap_event_ecbm_channel_opened_get_handle(const uint8_t * event){ 2107 return little_endian_read_16(event, 10); 2108 } 2109 /** 2110 * @brief Get field incoming from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2111 * @param event packet 2112 * @return incoming 2113 * @note: btstack_type 1 2114 */ 2115 static inline uint8_t l2cap_event_ecbm_channel_opened_get_incoming(const uint8_t * event){ 2116 return event[12]; 2117 } 2118 /** 2119 * @brief Get field psm from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2120 * @param event packet 2121 * @return psm 2122 * @note: btstack_type 2 2123 */ 2124 static inline uint16_t l2cap_event_ecbm_channel_opened_get_psm(const uint8_t * event){ 2125 return little_endian_read_16(event, 13); 2126 } 2127 /** 2128 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2129 * @param event packet 2130 * @return local_cid 2131 * @note: btstack_type 2 2132 */ 2133 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_cid(const uint8_t * event){ 2134 return little_endian_read_16(event, 15); 2135 } 2136 /** 2137 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2138 * @param event packet 2139 * @return remote_cid 2140 * @note: btstack_type 2 2141 */ 2142 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_cid(const uint8_t * event){ 2143 return little_endian_read_16(event, 17); 2144 } 2145 /** 2146 * @brief Get field local_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2147 * @param event packet 2148 * @return local_mtu 2149 * @note: btstack_type 2 2150 */ 2151 static inline uint16_t l2cap_event_ecbm_channel_opened_get_local_mtu(const uint8_t * event){ 2152 return little_endian_read_16(event, 19); 2153 } 2154 /** 2155 * @brief Get field remote_mtu from event L2CAP_EVENT_ECBM_CHANNEL_OPENED 2156 * @param event packet 2157 * @return remote_mtu 2158 * @note: btstack_type 2 2159 */ 2160 static inline uint16_t l2cap_event_ecbm_channel_opened_get_remote_mtu(const uint8_t * event){ 2161 return little_endian_read_16(event, 21); 2162 } 2163 2164 /** 2165 * @brief Get field remote_cid from event L2CAP_EVENT_ECBM_RECONFIGURED 2166 * @param event packet 2167 * @return remote_cid 2168 * @note: btstack_type 2 2169 */ 2170 static inline uint16_t l2cap_event_ecbm_reconfigured_get_remote_cid(const uint8_t * event){ 2171 return little_endian_read_16(event, 2); 2172 } 2173 /** 2174 * @brief Get field mtu from event L2CAP_EVENT_ECBM_RECONFIGURED 2175 * @param event packet 2176 * @return mtu 2177 * @note: btstack_type 2 2178 */ 2179 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mtu(const uint8_t * event){ 2180 return little_endian_read_16(event, 4); 2181 } 2182 /** 2183 * @brief Get field mps from event L2CAP_EVENT_ECBM_RECONFIGURED 2184 * @param event packet 2185 * @return mps 2186 * @note: btstack_type 2 2187 */ 2188 static inline uint16_t l2cap_event_ecbm_reconfigured_get_mps(const uint8_t * event){ 2189 return little_endian_read_16(event, 6); 2190 } 2191 2192 /** 2193 * @brief Get field local_cid from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2194 * @param event packet 2195 * @return local_cid 2196 * @note: btstack_type 2 2197 */ 2198 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_local_cid(const uint8_t * event){ 2199 return little_endian_read_16(event, 2); 2200 } 2201 /** 2202 * @brief Get field reconfigure_result from event L2CAP_EVENT_ECBM_RECONFIGURATION_COMPLETE 2203 * @param event packet 2204 * @return reconfigure_result 2205 * @note: btstack_type 2 2206 */ 2207 static inline uint16_t l2cap_event_ecbm_reconfiguration_complete_get_reconfigure_result(const uint8_t * event){ 2208 return little_endian_read_16(event, 4); 2209 } 2210 2211 /** 2212 * @brief Get field status from event RFCOMM_EVENT_CHANNEL_OPENED 2213 * @param event packet 2214 * @return status 2215 * @note: btstack_type 1 2216 */ 2217 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){ 2218 return event[2]; 2219 } 2220 /** 2221 * @brief Get field bd_addr from event RFCOMM_EVENT_CHANNEL_OPENED 2222 * @param event packet 2223 * @param Pointer to storage for bd_addr 2224 * @note: btstack_type B 2225 */ 2226 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2227 reverse_bytes(&event[3], bd_addr, 6); 2228 } 2229 /** 2230 * @brief Get field con_handle from event RFCOMM_EVENT_CHANNEL_OPENED 2231 * @param event packet 2232 * @return con_handle 2233 * @note: btstack_type 2 2234 */ 2235 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){ 2236 return little_endian_read_16(event, 9); 2237 } 2238 /** 2239 * @brief Get field server_channel from event RFCOMM_EVENT_CHANNEL_OPENED 2240 * @param event packet 2241 * @return server_channel 2242 * @note: btstack_type 1 2243 */ 2244 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){ 2245 return event[11]; 2246 } 2247 /** 2248 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_OPENED 2249 * @param event packet 2250 * @return rfcomm_cid 2251 * @note: btstack_type 2 2252 */ 2253 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){ 2254 return little_endian_read_16(event, 12); 2255 } 2256 /** 2257 * @brief Get field max_frame_size from event RFCOMM_EVENT_CHANNEL_OPENED 2258 * @param event packet 2259 * @return max_frame_size 2260 * @note: btstack_type 2 2261 */ 2262 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){ 2263 return little_endian_read_16(event, 14); 2264 } 2265 /** 2266 * @brief Get field incoming from event RFCOMM_EVENT_CHANNEL_OPENED 2267 * @param event packet 2268 * @return incoming 2269 * @note: btstack_type 1 2270 */ 2271 static inline uint8_t rfcomm_event_channel_opened_get_incoming(const uint8_t * event){ 2272 return event[16]; 2273 } 2274 2275 /** 2276 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_CLOSED 2277 * @param event packet 2278 * @return rfcomm_cid 2279 * @note: btstack_type 2 2280 */ 2281 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){ 2282 return little_endian_read_16(event, 2); 2283 } 2284 2285 /** 2286 * @brief Get field bd_addr from event RFCOMM_EVENT_INCOMING_CONNECTION 2287 * @param event packet 2288 * @param Pointer to storage for bd_addr 2289 * @note: btstack_type B 2290 */ 2291 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 2292 reverse_bytes(&event[2], bd_addr, 6); 2293 } 2294 /** 2295 * @brief Get field server_channel from event RFCOMM_EVENT_INCOMING_CONNECTION 2296 * @param event packet 2297 * @return server_channel 2298 * @note: btstack_type 1 2299 */ 2300 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){ 2301 return event[8]; 2302 } 2303 /** 2304 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_INCOMING_CONNECTION 2305 * @param event packet 2306 * @return rfcomm_cid 2307 * @note: btstack_type 2 2308 */ 2309 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){ 2310 return little_endian_read_16(event, 9); 2311 } 2312 /** 2313 * @brief Get field con_handle from event RFCOMM_EVENT_INCOMING_CONNECTION 2314 * @param event packet 2315 * @return con_handle 2316 * @note: btstack_type H 2317 */ 2318 static inline hci_con_handle_t rfcomm_event_incoming_connection_get_con_handle(const uint8_t * event){ 2319 return little_endian_read_16(event, 11); 2320 } 2321 2322 /** 2323 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2324 * @param event packet 2325 * @return rfcomm_cid 2326 * @note: btstack_type 2 2327 */ 2328 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){ 2329 return little_endian_read_16(event, 2); 2330 } 2331 /** 2332 * @brief Get field line_status from event RFCOMM_EVENT_REMOTE_LINE_STATUS 2333 * @param event packet 2334 * @return line_status 2335 * @note: btstack_type 1 2336 */ 2337 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){ 2338 return event[4]; 2339 } 2340 2341 /** 2342 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2343 * @param event packet 2344 * @return rfcomm_cid 2345 * @note: btstack_type 2 2346 */ 2347 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){ 2348 return little_endian_read_16(event, 2); 2349 } 2350 /** 2351 * @brief Get field modem_status from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 2352 * @param event packet 2353 * @return modem_status 2354 * @note: btstack_type 1 2355 */ 2356 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){ 2357 return event[4]; 2358 } 2359 2360 /** 2361 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CAN_SEND_NOW 2362 * @param event packet 2363 * @return rfcomm_cid 2364 * @note: btstack_type 2 2365 */ 2366 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){ 2367 return little_endian_read_16(event, 2); 2368 } 2369 2370 /** 2371 * @brief Get field status from event SDP_EVENT_QUERY_COMPLETE 2372 * @param event packet 2373 * @return status 2374 * @note: btstack_type 1 2375 */ 2376 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){ 2377 return event[2]; 2378 } 2379 2380 /** 2381 * @brief Get field rfcomm_channel from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2382 * @param event packet 2383 * @return rfcomm_channel 2384 * @note: btstack_type 1 2385 */ 2386 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){ 2387 return event[2]; 2388 } 2389 /** 2390 * @brief Get field name from event SDP_EVENT_QUERY_RFCOMM_SERVICE 2391 * @param event packet 2392 * @return name 2393 * @note: btstack_type T 2394 */ 2395 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){ 2396 return (const char *) &event[3]; 2397 } 2398 2399 /** 2400 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2401 * @param event packet 2402 * @return record_id 2403 * @note: btstack_type 2 2404 */ 2405 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){ 2406 return little_endian_read_16(event, 2); 2407 } 2408 /** 2409 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2410 * @param event packet 2411 * @return attribute_id 2412 * @note: btstack_type 2 2413 */ 2414 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){ 2415 return little_endian_read_16(event, 4); 2416 } 2417 /** 2418 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2419 * @param event packet 2420 * @return attribute_length 2421 * @note: btstack_type 2 2422 */ 2423 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){ 2424 return little_endian_read_16(event, 6); 2425 } 2426 /** 2427 * @brief Get field data_offset from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2428 * @param event packet 2429 * @return data_offset 2430 * @note: btstack_type 2 2431 */ 2432 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){ 2433 return little_endian_read_16(event, 8); 2434 } 2435 /** 2436 * @brief Get field data from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 2437 * @param event packet 2438 * @return data 2439 * @note: btstack_type 1 2440 */ 2441 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){ 2442 return event[10]; 2443 } 2444 2445 /** 2446 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2447 * @param event packet 2448 * @return record_id 2449 * @note: btstack_type 2 2450 */ 2451 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){ 2452 return little_endian_read_16(event, 2); 2453 } 2454 /** 2455 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2456 * @param event packet 2457 * @return attribute_id 2458 * @note: btstack_type 2 2459 */ 2460 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){ 2461 return little_endian_read_16(event, 4); 2462 } 2463 /** 2464 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2465 * @param event packet 2466 * @return attribute_length 2467 * @note: btstack_type L 2468 */ 2469 static inline uint16_t sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){ 2470 return little_endian_read_16(event, 6); 2471 } 2472 /** 2473 * @brief Get field attribute_value from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 2474 * @param event packet 2475 * @return attribute_value 2476 * @note: btstack_type V 2477 */ 2478 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){ 2479 return &event[8]; 2480 } 2481 2482 /** 2483 * @brief Get field total_count from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2484 * @param event packet 2485 * @return total_count 2486 * @note: btstack_type 2 2487 */ 2488 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){ 2489 return little_endian_read_16(event, 2); 2490 } 2491 /** 2492 * @brief Get field record_index from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2493 * @param event packet 2494 * @return record_index 2495 * @note: btstack_type 2 2496 */ 2497 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){ 2498 return little_endian_read_16(event, 4); 2499 } 2500 /** 2501 * @brief Get field record_handle from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 2502 * @param event packet 2503 * @return record_handle 2504 * @note: btstack_type 4 2505 */ 2506 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){ 2507 return little_endian_read_32(event, 6); 2508 } 2509 2510 #ifdef ENABLE_BLE 2511 /** 2512 * @brief Get field handle from event GATT_EVENT_QUERY_COMPLETE 2513 * @param event packet 2514 * @return handle 2515 * @note: btstack_type H 2516 */ 2517 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){ 2518 return little_endian_read_16(event, 2); 2519 } 2520 /** 2521 * @brief Get field att_status from event GATT_EVENT_QUERY_COMPLETE 2522 * @param event packet 2523 * @return att_status 2524 * @note: btstack_type 1 2525 */ 2526 static inline uint8_t gatt_event_query_complete_get_att_status(const uint8_t * event){ 2527 return event[4]; 2528 } 2529 #endif 2530 2531 #ifdef ENABLE_BLE 2532 /** 2533 * @brief Get field handle from event GATT_EVENT_SERVICE_QUERY_RESULT 2534 * @param event packet 2535 * @return handle 2536 * @note: btstack_type H 2537 */ 2538 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){ 2539 return little_endian_read_16(event, 2); 2540 } 2541 /** 2542 * @brief Get field service from event GATT_EVENT_SERVICE_QUERY_RESULT 2543 * @param event packet 2544 * @param Pointer to storage for service 2545 * @note: btstack_type X 2546 */ 2547 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2548 gatt_client_deserialize_service(event, 4, service); 2549 } 2550 #endif 2551 2552 #ifdef ENABLE_BLE 2553 /** 2554 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2555 * @param event packet 2556 * @return handle 2557 * @note: btstack_type H 2558 */ 2559 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){ 2560 return little_endian_read_16(event, 2); 2561 } 2562 /** 2563 * @brief Get field characteristic from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 2564 * @param event packet 2565 * @param Pointer to storage for characteristic 2566 * @note: btstack_type Y 2567 */ 2568 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){ 2569 gatt_client_deserialize_characteristic(event, 4, characteristic); 2570 } 2571 #endif 2572 2573 #ifdef ENABLE_BLE 2574 /** 2575 * @brief Get field handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2576 * @param event packet 2577 * @return handle 2578 * @note: btstack_type H 2579 */ 2580 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){ 2581 return little_endian_read_16(event, 2); 2582 } 2583 /** 2584 * @brief Get field include_handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2585 * @param event packet 2586 * @return include_handle 2587 * @note: btstack_type 2 2588 */ 2589 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){ 2590 return little_endian_read_16(event, 4); 2591 } 2592 /** 2593 * @brief Get field service from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 2594 * @param event packet 2595 * @param Pointer to storage for service 2596 * @note: btstack_type X 2597 */ 2598 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2599 gatt_client_deserialize_service(event, 6, service); 2600 } 2601 #endif 2602 2603 #ifdef ENABLE_BLE 2604 /** 2605 * @brief Get field handle from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2606 * @param event packet 2607 * @return handle 2608 * @note: btstack_type H 2609 */ 2610 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){ 2611 return little_endian_read_16(event, 2); 2612 } 2613 /** 2614 * @brief Get field characteristic_descriptor from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2615 * @param event packet 2616 * @param Pointer to storage for characteristic_descriptor 2617 * @note: btstack_type Z 2618 */ 2619 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){ 2620 gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor); 2621 } 2622 #endif 2623 2624 #ifdef ENABLE_BLE 2625 /** 2626 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2627 * @param event packet 2628 * @return handle 2629 * @note: btstack_type H 2630 */ 2631 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){ 2632 return little_endian_read_16(event, 2); 2633 } 2634 /** 2635 * @brief Get field value_handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2636 * @param event packet 2637 * @return value_handle 2638 * @note: btstack_type 2 2639 */ 2640 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2641 return little_endian_read_16(event, 4); 2642 } 2643 /** 2644 * @brief Get field value_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2645 * @param event packet 2646 * @return value_length 2647 * @note: btstack_type L 2648 */ 2649 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2650 return little_endian_read_16(event, 6); 2651 } 2652 /** 2653 * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2654 * @param event packet 2655 * @return value 2656 * @note: btstack_type V 2657 */ 2658 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){ 2659 return &event[8]; 2660 } 2661 #endif 2662 2663 #ifdef ENABLE_BLE 2664 /** 2665 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2666 * @param event packet 2667 * @return handle 2668 * @note: btstack_type H 2669 */ 2670 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){ 2671 return little_endian_read_16(event, 2); 2672 } 2673 /** 2674 * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2675 * @param event packet 2676 * @return value_handle 2677 * @note: btstack_type 2 2678 */ 2679 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2680 return little_endian_read_16(event, 4); 2681 } 2682 /** 2683 * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2684 * @param event packet 2685 * @return value_offset 2686 * @note: btstack_type 2 2687 */ 2688 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){ 2689 return little_endian_read_16(event, 6); 2690 } 2691 /** 2692 * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2693 * @param event packet 2694 * @return value_length 2695 * @note: btstack_type L 2696 */ 2697 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2698 return little_endian_read_16(event, 8); 2699 } 2700 /** 2701 * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2702 * @param event packet 2703 * @return value 2704 * @note: btstack_type V 2705 */ 2706 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){ 2707 return &event[10]; 2708 } 2709 #endif 2710 2711 #ifdef ENABLE_BLE 2712 /** 2713 * @brief Get field handle from event GATT_EVENT_NOTIFICATION 2714 * @param event packet 2715 * @return handle 2716 * @note: btstack_type H 2717 */ 2718 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){ 2719 return little_endian_read_16(event, 2); 2720 } 2721 /** 2722 * @brief Get field value_handle from event GATT_EVENT_NOTIFICATION 2723 * @param event packet 2724 * @return value_handle 2725 * @note: btstack_type 2 2726 */ 2727 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){ 2728 return little_endian_read_16(event, 4); 2729 } 2730 /** 2731 * @brief Get field value_length from event GATT_EVENT_NOTIFICATION 2732 * @param event packet 2733 * @return value_length 2734 * @note: btstack_type L 2735 */ 2736 static inline uint16_t gatt_event_notification_get_value_length(const uint8_t * event){ 2737 return little_endian_read_16(event, 6); 2738 } 2739 /** 2740 * @brief Get field value from event GATT_EVENT_NOTIFICATION 2741 * @param event packet 2742 * @return value 2743 * @note: btstack_type V 2744 */ 2745 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){ 2746 return &event[8]; 2747 } 2748 #endif 2749 2750 #ifdef ENABLE_BLE 2751 /** 2752 * @brief Get field handle from event GATT_EVENT_INDICATION 2753 * @param event packet 2754 * @return handle 2755 * @note: btstack_type H 2756 */ 2757 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){ 2758 return little_endian_read_16(event, 2); 2759 } 2760 /** 2761 * @brief Get field value_handle from event GATT_EVENT_INDICATION 2762 * @param event packet 2763 * @return value_handle 2764 * @note: btstack_type 2 2765 */ 2766 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){ 2767 return little_endian_read_16(event, 4); 2768 } 2769 /** 2770 * @brief Get field value_length from event GATT_EVENT_INDICATION 2771 * @param event packet 2772 * @return value_length 2773 * @note: btstack_type L 2774 */ 2775 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){ 2776 return little_endian_read_16(event, 6); 2777 } 2778 /** 2779 * @brief Get field value from event GATT_EVENT_INDICATION 2780 * @param event packet 2781 * @return value 2782 * @note: btstack_type V 2783 */ 2784 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){ 2785 return &event[8]; 2786 } 2787 #endif 2788 2789 #ifdef ENABLE_BLE 2790 /** 2791 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2792 * @param event packet 2793 * @return handle 2794 * @note: btstack_type H 2795 */ 2796 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2797 return little_endian_read_16(event, 2); 2798 } 2799 /** 2800 * @brief Get field descriptor_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2801 * @param event packet 2802 * @return descriptor_handle 2803 * @note: btstack_type 2 2804 */ 2805 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 2806 return little_endian_read_16(event, 4); 2807 } 2808 /** 2809 * @brief Get field descriptor_length from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2810 * @param event packet 2811 * @return descriptor_length 2812 * @note: btstack_type L 2813 */ 2814 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 2815 return little_endian_read_16(event, 6); 2816 } 2817 /** 2818 * @brief Get field descriptor from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2819 * @param event packet 2820 * @return descriptor 2821 * @note: btstack_type V 2822 */ 2823 static inline const uint8_t * gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 2824 return &event[8]; 2825 } 2826 #endif 2827 2828 #ifdef ENABLE_BLE 2829 /** 2830 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2831 * @param event packet 2832 * @return handle 2833 * @note: btstack_type H 2834 */ 2835 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2836 return little_endian_read_16(event, 2); 2837 } 2838 /** 2839 * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2840 * @param event packet 2841 * @return descriptor_offset 2842 * @note: btstack_type 2 2843 */ 2844 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){ 2845 return little_endian_read_16(event, 4); 2846 } 2847 /** 2848 * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2849 * @param event packet 2850 * @return descriptor_length 2851 * @note: btstack_type L 2852 */ 2853 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 2854 return little_endian_read_16(event, 6); 2855 } 2856 /** 2857 * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2858 * @param event packet 2859 * @return descriptor 2860 * @note: btstack_type V 2861 */ 2862 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 2863 return &event[8]; 2864 } 2865 #endif 2866 2867 #ifdef ENABLE_BLE 2868 /** 2869 * @brief Get field handle from event GATT_EVENT_MTU 2870 * @param event packet 2871 * @return handle 2872 * @note: btstack_type H 2873 */ 2874 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){ 2875 return little_endian_read_16(event, 2); 2876 } 2877 /** 2878 * @brief Get field MTU from event GATT_EVENT_MTU 2879 * @param event packet 2880 * @return MTU 2881 * @note: btstack_type 2 2882 */ 2883 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){ 2884 return little_endian_read_16(event, 4); 2885 } 2886 #endif 2887 2888 #ifdef ENABLE_BLE 2889 /** 2890 * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 2891 * @param event packet 2892 * @return handle 2893 * @note: btstack_type H 2894 */ 2895 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){ 2896 return little_endian_read_16(event, 2); 2897 } 2898 #endif 2899 2900 /** 2901 * @brief Get field address_type from event ATT_EVENT_CONNECTED 2902 * @param event packet 2903 * @return address_type 2904 * @note: btstack_type 1 2905 */ 2906 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){ 2907 return event[2]; 2908 } 2909 /** 2910 * @brief Get field address from event ATT_EVENT_CONNECTED 2911 * @param event packet 2912 * @param Pointer to storage for address 2913 * @note: btstack_type B 2914 */ 2915 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 2916 reverse_bytes(&event[3], address, 6); 2917 } 2918 /** 2919 * @brief Get field handle from event ATT_EVENT_CONNECTED 2920 * @param event packet 2921 * @return handle 2922 * @note: btstack_type H 2923 */ 2924 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){ 2925 return little_endian_read_16(event, 9); 2926 } 2927 2928 /** 2929 * @brief Get field handle from event ATT_EVENT_DISCONNECTED 2930 * @param event packet 2931 * @return handle 2932 * @note: btstack_type H 2933 */ 2934 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){ 2935 return little_endian_read_16(event, 2); 2936 } 2937 2938 /** 2939 * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 2940 * @param event packet 2941 * @return handle 2942 * @note: btstack_type H 2943 */ 2944 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){ 2945 return little_endian_read_16(event, 2); 2946 } 2947 /** 2948 * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 2949 * @param event packet 2950 * @return MTU 2951 * @note: btstack_type 2 2952 */ 2953 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){ 2954 return little_endian_read_16(event, 4); 2955 } 2956 2957 /** 2958 * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2959 * @param event packet 2960 * @return status 2961 * @note: btstack_type 1 2962 */ 2963 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){ 2964 return event[2]; 2965 } 2966 /** 2967 * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2968 * @param event packet 2969 * @return conn_handle 2970 * @note: btstack_type H 2971 */ 2972 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){ 2973 return little_endian_read_16(event, 3); 2974 } 2975 /** 2976 * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2977 * @param event packet 2978 * @return attribute_handle 2979 * @note: btstack_type 2 2980 */ 2981 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){ 2982 return little_endian_read_16(event, 5); 2983 } 2984 2985 2986 /** 2987 * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED 2988 * @param event packet 2989 * @return status 2990 * @note: btstack_type 1 2991 */ 2992 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){ 2993 return event[2]; 2994 } 2995 /** 2996 * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED 2997 * @param event packet 2998 * @return service_uuid 2999 * @note: btstack_type 2 3000 */ 3001 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){ 3002 return little_endian_read_16(event, 3); 3003 } 3004 3005 /** 3006 * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED 3007 * @param event packet 3008 * @return status 3009 * @note: btstack_type 1 3010 */ 3011 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){ 3012 return event[2]; 3013 } 3014 /** 3015 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED 3016 * @param event packet 3017 * @return bnep_cid 3018 * @note: btstack_type 2 3019 */ 3020 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){ 3021 return little_endian_read_16(event, 3); 3022 } 3023 /** 3024 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED 3025 * @param event packet 3026 * @return source_uuid 3027 * @note: btstack_type 2 3028 */ 3029 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){ 3030 return little_endian_read_16(event, 5); 3031 } 3032 /** 3033 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED 3034 * @param event packet 3035 * @return destination_uuid 3036 * @note: btstack_type 2 3037 */ 3038 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){ 3039 return little_endian_read_16(event, 7); 3040 } 3041 /** 3042 * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED 3043 * @param event packet 3044 * @return mtu 3045 * @note: btstack_type 2 3046 */ 3047 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){ 3048 return little_endian_read_16(event, 9); 3049 } 3050 /** 3051 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED 3052 * @param event packet 3053 * @param Pointer to storage for remote_address 3054 * @note: btstack_type B 3055 */ 3056 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3057 reverse_bytes(&event[11], remote_address, 6); 3058 } 3059 /** 3060 * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED 3061 * @param event packet 3062 * @return con_handle 3063 * @note: btstack_type H 3064 */ 3065 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){ 3066 return little_endian_read_16(event, 17); 3067 } 3068 3069 /** 3070 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED 3071 * @param event packet 3072 * @return bnep_cid 3073 * @note: btstack_type 2 3074 */ 3075 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){ 3076 return little_endian_read_16(event, 2); 3077 } 3078 /** 3079 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3080 * @param event packet 3081 * @return source_uuid 3082 * @note: btstack_type 2 3083 */ 3084 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){ 3085 return little_endian_read_16(event, 4); 3086 } 3087 /** 3088 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3089 * @param event packet 3090 * @return destination_uuid 3091 * @note: btstack_type 2 3092 */ 3093 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){ 3094 return little_endian_read_16(event, 6); 3095 } 3096 /** 3097 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED 3098 * @param event packet 3099 * @param Pointer to storage for remote_address 3100 * @note: btstack_type B 3101 */ 3102 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3103 reverse_bytes(&event[8], remote_address, 6); 3104 } 3105 3106 /** 3107 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT 3108 * @param event packet 3109 * @return bnep_cid 3110 * @note: btstack_type 2 3111 */ 3112 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){ 3113 return little_endian_read_16(event, 2); 3114 } 3115 /** 3116 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3117 * @param event packet 3118 * @return source_uuid 3119 * @note: btstack_type 2 3120 */ 3121 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){ 3122 return little_endian_read_16(event, 4); 3123 } 3124 /** 3125 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3126 * @param event packet 3127 * @return destination_uuid 3128 * @note: btstack_type 2 3129 */ 3130 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){ 3131 return little_endian_read_16(event, 6); 3132 } 3133 /** 3134 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT 3135 * @param event packet 3136 * @param Pointer to storage for remote_address 3137 * @note: btstack_type B 3138 */ 3139 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3140 reverse_bytes(&event[8], remote_address, 6); 3141 } 3142 /** 3143 * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT 3144 * @param event packet 3145 * @return channel_state 3146 * @note: btstack_type 1 3147 */ 3148 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){ 3149 return event[14]; 3150 } 3151 3152 /** 3153 * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW 3154 * @param event packet 3155 * @return bnep_cid 3156 * @note: btstack_type 2 3157 */ 3158 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){ 3159 return little_endian_read_16(event, 2); 3160 } 3161 /** 3162 * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW 3163 * @param event packet 3164 * @return source_uuid 3165 * @note: btstack_type 2 3166 */ 3167 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){ 3168 return little_endian_read_16(event, 4); 3169 } 3170 /** 3171 * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW 3172 * @param event packet 3173 * @return destination_uuid 3174 * @note: btstack_type 2 3175 */ 3176 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){ 3177 return little_endian_read_16(event, 6); 3178 } 3179 /** 3180 * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW 3181 * @param event packet 3182 * @param Pointer to storage for remote_address 3183 * @note: btstack_type B 3184 */ 3185 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3186 reverse_bytes(&event[8], remote_address, 6); 3187 } 3188 3189 #ifdef ENABLE_BLE 3190 /** 3191 * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST 3192 * @param event packet 3193 * @return handle 3194 * @note: btstack_type H 3195 */ 3196 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ 3197 return little_endian_read_16(event, 2); 3198 } 3199 /** 3200 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST 3201 * @param event packet 3202 * @return addr_type 3203 * @note: btstack_type 1 3204 */ 3205 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ 3206 return event[4]; 3207 } 3208 /** 3209 * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST 3210 * @param event packet 3211 * @param Pointer to storage for address 3212 * @note: btstack_type B 3213 */ 3214 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ 3215 reverse_bytes(&event[5], address, 6); 3216 } 3217 /** 3218 * @brief Get field secure_connection from event SM_EVENT_JUST_WORKS_REQUEST 3219 * @param event packet 3220 * @return secure_connection 3221 * @note: btstack_type 1 3222 */ 3223 static inline uint8_t sm_event_just_works_request_get_secure_connection(const uint8_t * event){ 3224 return event[11]; 3225 } 3226 #endif 3227 3228 #ifdef ENABLE_BLE 3229 /** 3230 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3231 * @param event packet 3232 * @return handle 3233 * @note: btstack_type H 3234 */ 3235 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ 3236 return little_endian_read_16(event, 2); 3237 } 3238 /** 3239 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3240 * @param event packet 3241 * @return addr_type 3242 * @note: btstack_type 1 3243 */ 3244 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ 3245 return event[4]; 3246 } 3247 /** 3248 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3249 * @param event packet 3250 * @param Pointer to storage for address 3251 * @note: btstack_type B 3252 */ 3253 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ 3254 reverse_bytes(&event[5], address, 6); 3255 } 3256 /** 3257 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3258 * @param event packet 3259 * @return secure_connection 3260 * @note: btstack_type 1 3261 */ 3262 static inline uint8_t sm_event_passkey_display_number_get_secure_connection(const uint8_t * event){ 3263 return event[11]; 3264 } 3265 /** 3266 * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3267 * @param event packet 3268 * @return passkey 3269 * @note: btstack_type 4 3270 */ 3271 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ 3272 return little_endian_read_32(event, 12); 3273 } 3274 #endif 3275 3276 #ifdef ENABLE_BLE 3277 /** 3278 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3279 * @param event packet 3280 * @return handle 3281 * @note: btstack_type H 3282 */ 3283 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ 3284 return little_endian_read_16(event, 2); 3285 } 3286 /** 3287 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3288 * @param event packet 3289 * @return addr_type 3290 * @note: btstack_type 1 3291 */ 3292 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ 3293 return event[4]; 3294 } 3295 /** 3296 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3297 * @param event packet 3298 * @param Pointer to storage for address 3299 * @note: btstack_type B 3300 */ 3301 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ 3302 reverse_bytes(&event[5], address, 6); 3303 } 3304 #endif 3305 3306 #ifdef ENABLE_BLE 3307 /** 3308 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER 3309 * @param event packet 3310 * @return handle 3311 * @note: btstack_type H 3312 */ 3313 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ 3314 return little_endian_read_16(event, 2); 3315 } 3316 /** 3317 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER 3318 * @param event packet 3319 * @return addr_type 3320 * @note: btstack_type 1 3321 */ 3322 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ 3323 return event[4]; 3324 } 3325 /** 3326 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER 3327 * @param event packet 3328 * @param Pointer to storage for address 3329 * @note: btstack_type B 3330 */ 3331 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ 3332 reverse_bytes(&event[5], address, 6); 3333 } 3334 /** 3335 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_INPUT_NUMBER 3336 * @param event packet 3337 * @return secure_connection 3338 * @note: btstack_type 1 3339 */ 3340 static inline uint8_t sm_event_passkey_input_number_get_secure_connection(const uint8_t * event){ 3341 return event[11]; 3342 } 3343 #endif 3344 3345 #ifdef ENABLE_BLE 3346 /** 3347 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3348 * @param event packet 3349 * @return handle 3350 * @note: btstack_type H 3351 */ 3352 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){ 3353 return little_endian_read_16(event, 2); 3354 } 3355 /** 3356 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3357 * @param event packet 3358 * @return addr_type 3359 * @note: btstack_type 1 3360 */ 3361 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){ 3362 return event[4]; 3363 } 3364 /** 3365 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3366 * @param event packet 3367 * @param Pointer to storage for address 3368 * @note: btstack_type B 3369 */ 3370 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){ 3371 reverse_bytes(&event[5], address, 6); 3372 } 3373 /** 3374 * @brief Get field secure_connection from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3375 * @param event packet 3376 * @return secure_connection 3377 * @note: btstack_type 1 3378 */ 3379 static inline uint8_t sm_event_numeric_comparison_request_get_secure_connection(const uint8_t * event){ 3380 return event[11]; 3381 } 3382 /** 3383 * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3384 * @param event packet 3385 * @return passkey 3386 * @note: btstack_type 4 3387 */ 3388 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){ 3389 return little_endian_read_32(event, 12); 3390 } 3391 #endif 3392 3393 #ifdef ENABLE_BLE 3394 /** 3395 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3396 * @param event packet 3397 * @return handle 3398 * @note: btstack_type H 3399 */ 3400 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ 3401 return little_endian_read_16(event, 2); 3402 } 3403 /** 3404 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3405 * @param event packet 3406 * @return addr_type 3407 * @note: btstack_type 1 3408 */ 3409 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ 3410 return event[4]; 3411 } 3412 /** 3413 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3414 * @param event packet 3415 * @param Pointer to storage for address 3416 * @note: btstack_type B 3417 */ 3418 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ 3419 reverse_bytes(&event[5], address, 6); 3420 } 3421 #endif 3422 3423 #ifdef ENABLE_BLE 3424 /** 3425 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3426 * @param event packet 3427 * @return handle 3428 * @note: btstack_type H 3429 */ 3430 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ 3431 return little_endian_read_16(event, 2); 3432 } 3433 /** 3434 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3435 * @param event packet 3436 * @return addr_type 3437 * @note: btstack_type 1 3438 */ 3439 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ 3440 return event[4]; 3441 } 3442 /** 3443 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3444 * @param event packet 3445 * @param Pointer to storage for address 3446 * @note: btstack_type B 3447 */ 3448 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ 3449 reverse_bytes(&event[5], address, 6); 3450 } 3451 #endif 3452 3453 #ifdef ENABLE_BLE 3454 /** 3455 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3456 * @param event packet 3457 * @return handle 3458 * @note: btstack_type H 3459 */ 3460 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ 3461 return little_endian_read_16(event, 2); 3462 } 3463 /** 3464 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3465 * @param event packet 3466 * @return addr_type 3467 * @note: btstack_type 1 3468 */ 3469 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ 3470 return event[4]; 3471 } 3472 /** 3473 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3474 * @param event packet 3475 * @param Pointer to storage for address 3476 * @note: btstack_type B 3477 */ 3478 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ 3479 reverse_bytes(&event[5], address, 6); 3480 } 3481 /** 3482 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3483 * @param event packet 3484 * @return identity_addr_type 3485 * @note: btstack_type 1 3486 */ 3487 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){ 3488 return event[11]; 3489 } 3490 /** 3491 * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3492 * @param event packet 3493 * @param Pointer to storage for identity_address 3494 * @note: btstack_type B 3495 */ 3496 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3497 reverse_bytes(&event[12], identity_address, 6); 3498 } 3499 /** 3500 * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3501 * @param event packet 3502 * @return index 3503 * @note: btstack_type 2 3504 */ 3505 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){ 3506 return little_endian_read_16(event, 18); 3507 } 3508 #endif 3509 3510 #ifdef ENABLE_BLE 3511 /** 3512 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST 3513 * @param event packet 3514 * @return handle 3515 * @note: btstack_type H 3516 */ 3517 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){ 3518 return little_endian_read_16(event, 2); 3519 } 3520 /** 3521 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST 3522 * @param event packet 3523 * @return addr_type 3524 * @note: btstack_type 1 3525 */ 3526 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ 3527 return event[4]; 3528 } 3529 /** 3530 * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST 3531 * @param event packet 3532 * @param Pointer to storage for address 3533 * @note: btstack_type B 3534 */ 3535 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ 3536 reverse_bytes(&event[5], address, 6); 3537 } 3538 #endif 3539 3540 #ifdef ENABLE_BLE 3541 /** 3542 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT 3543 * @param event packet 3544 * @return handle 3545 * @note: btstack_type H 3546 */ 3547 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ 3548 return little_endian_read_16(event, 2); 3549 } 3550 /** 3551 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT 3552 * @param event packet 3553 * @return addr_type 3554 * @note: btstack_type 1 3555 */ 3556 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ 3557 return event[4]; 3558 } 3559 /** 3560 * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT 3561 * @param event packet 3562 * @param Pointer to storage for address 3563 * @note: btstack_type B 3564 */ 3565 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ 3566 reverse_bytes(&event[5], address, 6); 3567 } 3568 /** 3569 * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT 3570 * @param event packet 3571 * @return authorization_result 3572 * @note: btstack_type 1 3573 */ 3574 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ 3575 return event[11]; 3576 } 3577 #endif 3578 3579 #ifdef ENABLE_BLE 3580 /** 3581 * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION 3582 * @param event packet 3583 * @return handle 3584 * @note: btstack_type H 3585 */ 3586 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){ 3587 return little_endian_read_16(event, 2); 3588 } 3589 /** 3590 * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION 3591 * @param event packet 3592 * @return action 3593 * @note: btstack_type 1 3594 */ 3595 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){ 3596 return event[4]; 3597 } 3598 #endif 3599 3600 #ifdef ENABLE_BLE 3601 /** 3602 * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED 3603 * @param event packet 3604 * @return handle 3605 * @note: btstack_type H 3606 */ 3607 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){ 3608 return little_endian_read_16(event, 2); 3609 } 3610 /** 3611 * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED 3612 * @param event packet 3613 * @return addr_type 3614 * @note: btstack_type 1 3615 */ 3616 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){ 3617 return event[4]; 3618 } 3619 /** 3620 * @brief Get field address from event SM_EVENT_IDENTITY_CREATED 3621 * @param event packet 3622 * @param Pointer to storage for address 3623 * @note: btstack_type B 3624 */ 3625 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){ 3626 reverse_bytes(&event[5], address, 6); 3627 } 3628 /** 3629 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED 3630 * @param event packet 3631 * @return identity_addr_type 3632 * @note: btstack_type 1 3633 */ 3634 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){ 3635 return event[11]; 3636 } 3637 /** 3638 * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED 3639 * @param event packet 3640 * @param Pointer to storage for identity_address 3641 * @note: btstack_type B 3642 */ 3643 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3644 reverse_bytes(&event[12], identity_address, 6); 3645 } 3646 /** 3647 * @brief Get field index from event SM_EVENT_IDENTITY_CREATED 3648 * @param event packet 3649 * @return index 3650 * @note: btstack_type 2 3651 */ 3652 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){ 3653 return little_endian_read_16(event, 18); 3654 } 3655 #endif 3656 3657 #ifdef ENABLE_BLE 3658 /** 3659 * @brief Get field handle from event SM_EVENT_PAIRING_STARTED 3660 * @param event packet 3661 * @return handle 3662 * @note: btstack_type H 3663 */ 3664 static inline hci_con_handle_t sm_event_pairing_started_get_handle(const uint8_t * event){ 3665 return little_endian_read_16(event, 2); 3666 } 3667 /** 3668 * @brief Get field addr_type from event SM_EVENT_PAIRING_STARTED 3669 * @param event packet 3670 * @return addr_type 3671 * @note: btstack_type 1 3672 */ 3673 static inline uint8_t sm_event_pairing_started_get_addr_type(const uint8_t * event){ 3674 return event[4]; 3675 } 3676 /** 3677 * @brief Get field address from event SM_EVENT_PAIRING_STARTED 3678 * @param event packet 3679 * @param Pointer to storage for address 3680 * @note: btstack_type B 3681 */ 3682 static inline void sm_event_pairing_started_get_address(const uint8_t * event, bd_addr_t address){ 3683 reverse_bytes(&event[5], address, 6); 3684 } 3685 #endif 3686 3687 #ifdef ENABLE_BLE 3688 /** 3689 * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE 3690 * @param event packet 3691 * @return handle 3692 * @note: btstack_type H 3693 */ 3694 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){ 3695 return little_endian_read_16(event, 2); 3696 } 3697 /** 3698 * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE 3699 * @param event packet 3700 * @return addr_type 3701 * @note: btstack_type 1 3702 */ 3703 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){ 3704 return event[4]; 3705 } 3706 /** 3707 * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE 3708 * @param event packet 3709 * @param Pointer to storage for address 3710 * @note: btstack_type B 3711 */ 3712 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){ 3713 reverse_bytes(&event[5], address, 6); 3714 } 3715 /** 3716 * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE 3717 * @param event packet 3718 * @return status 3719 * @note: btstack_type 1 3720 */ 3721 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){ 3722 return event[11]; 3723 } 3724 /** 3725 * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE 3726 * @param event packet 3727 * @return reason 3728 * @note: btstack_type 1 3729 */ 3730 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){ 3731 return event[12]; 3732 } 3733 #endif 3734 3735 #ifdef ENABLE_BLE 3736 /** 3737 * @brief Get field handle from event SM_EVENT_REENCRYPTION_STARTED 3738 * @param event packet 3739 * @return handle 3740 * @note: btstack_type H 3741 */ 3742 static inline hci_con_handle_t sm_event_reencryption_started_get_handle(const uint8_t * event){ 3743 return little_endian_read_16(event, 2); 3744 } 3745 /** 3746 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_STARTED 3747 * @param event packet 3748 * @return addr_type 3749 * @note: btstack_type 1 3750 */ 3751 static inline uint8_t sm_event_reencryption_started_get_addr_type(const uint8_t * event){ 3752 return event[4]; 3753 } 3754 /** 3755 * @brief Get field address from event SM_EVENT_REENCRYPTION_STARTED 3756 * @param event packet 3757 * @param Pointer to storage for address 3758 * @note: btstack_type B 3759 */ 3760 static inline void sm_event_reencryption_started_get_address(const uint8_t * event, bd_addr_t address){ 3761 reverse_bytes(&event[5], address, 6); 3762 } 3763 #endif 3764 3765 #ifdef ENABLE_BLE 3766 /** 3767 * @brief Get field handle from event SM_EVENT_REENCRYPTION_COMPLETE 3768 * @param event packet 3769 * @return handle 3770 * @note: btstack_type H 3771 */ 3772 static inline hci_con_handle_t sm_event_reencryption_complete_get_handle(const uint8_t * event){ 3773 return little_endian_read_16(event, 2); 3774 } 3775 /** 3776 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_COMPLETE 3777 * @param event packet 3778 * @return addr_type 3779 * @note: btstack_type 1 3780 */ 3781 static inline uint8_t sm_event_reencryption_complete_get_addr_type(const uint8_t * event){ 3782 return event[4]; 3783 } 3784 /** 3785 * @brief Get field address from event SM_EVENT_REENCRYPTION_COMPLETE 3786 * @param event packet 3787 * @param Pointer to storage for address 3788 * @note: btstack_type B 3789 */ 3790 static inline void sm_event_reencryption_complete_get_address(const uint8_t * event, bd_addr_t address){ 3791 reverse_bytes(&event[5], address, 6); 3792 } 3793 /** 3794 * @brief Get field status from event SM_EVENT_REENCRYPTION_COMPLETE 3795 * @param event packet 3796 * @return status 3797 * @note: btstack_type 1 3798 */ 3799 static inline uint8_t sm_event_reencryption_complete_get_status(const uint8_t * event){ 3800 return event[11]; 3801 } 3802 #endif 3803 3804 /** 3805 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 3806 * @param event packet 3807 * @return handle 3808 * @note: btstack_type H 3809 */ 3810 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 3811 return little_endian_read_16(event, 2); 3812 } 3813 /** 3814 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 3815 * @param event packet 3816 * @return security_level 3817 * @note: btstack_type 1 3818 */ 3819 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 3820 return event[4]; 3821 } 3822 3823 /** 3824 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3825 * @param event packet 3826 * @return status 3827 * @note: btstack_type 1 3828 */ 3829 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 3830 return event[2]; 3831 } 3832 /** 3833 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3834 * @param event packet 3835 * @param Pointer to storage for address 3836 * @note: btstack_type B 3837 */ 3838 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 3839 reverse_bytes(&event[3], address, 6); 3840 } 3841 3842 /** 3843 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 3844 * @param event packet 3845 * @return advertising_event_type 3846 * @note: btstack_type 1 3847 */ 3848 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 3849 return event[2]; 3850 } 3851 /** 3852 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 3853 * @param event packet 3854 * @return address_type 3855 * @note: btstack_type 1 3856 */ 3857 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 3858 return event[3]; 3859 } 3860 /** 3861 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 3862 * @param event packet 3863 * @param Pointer to storage for address 3864 * @note: btstack_type B 3865 */ 3866 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 3867 reverse_bytes(&event[4], address, 6); 3868 } 3869 /** 3870 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 3871 * @param event packet 3872 * @return rssi 3873 * @note: btstack_type 1 3874 */ 3875 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 3876 return event[10]; 3877 } 3878 /** 3879 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 3880 * @param event packet 3881 * @return data_length 3882 * @note: btstack_type J 3883 */ 3884 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 3885 return event[11]; 3886 } 3887 /** 3888 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 3889 * @param event packet 3890 * @return data 3891 * @note: btstack_type V 3892 */ 3893 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 3894 return &event[12]; 3895 } 3896 3897 /** 3898 * @brief Get field advertising_event_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3899 * @param event packet 3900 * @return advertising_event_type 3901 * @note: btstack_type 2 3902 */ 3903 static inline uint16_t gap_event_extended_advertising_report_get_advertising_event_type(const uint8_t * event){ 3904 return little_endian_read_16(event, 2); 3905 } 3906 /** 3907 * @brief Get field address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3908 * @param event packet 3909 * @return address_type 3910 * @note: btstack_type 1 3911 */ 3912 static inline uint8_t gap_event_extended_advertising_report_get_address_type(const uint8_t * event){ 3913 return event[4]; 3914 } 3915 /** 3916 * @brief Get field address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3917 * @param event packet 3918 * @param Pointer to storage for address 3919 * @note: btstack_type B 3920 */ 3921 static inline void gap_event_extended_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 3922 reverse_bytes(&event[5], address, 6); 3923 } 3924 /** 3925 * @brief Get field primary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3926 * @param event packet 3927 * @return primary_phy 3928 * @note: btstack_type 1 3929 */ 3930 static inline uint8_t gap_event_extended_advertising_report_get_primary_phy(const uint8_t * event){ 3931 return event[11]; 3932 } 3933 /** 3934 * @brief Get field secondary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3935 * @param event packet 3936 * @return secondary_phy 3937 * @note: btstack_type 1 3938 */ 3939 static inline uint8_t gap_event_extended_advertising_report_get_secondary_phy(const uint8_t * event){ 3940 return event[12]; 3941 } 3942 /** 3943 * @brief Get field advertising_sid from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3944 * @param event packet 3945 * @return advertising_sid 3946 * @note: btstack_type 1 3947 */ 3948 static inline uint8_t gap_event_extended_advertising_report_get_advertising_sid(const uint8_t * event){ 3949 return event[13]; 3950 } 3951 /** 3952 * @brief Get field tx_power from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3953 * @param event packet 3954 * @return tx_power 3955 * @note: btstack_type 1 3956 */ 3957 static inline uint8_t gap_event_extended_advertising_report_get_tx_power(const uint8_t * event){ 3958 return event[14]; 3959 } 3960 /** 3961 * @brief Get field rssi from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3962 * @param event packet 3963 * @return rssi 3964 * @note: btstack_type 1 3965 */ 3966 static inline uint8_t gap_event_extended_advertising_report_get_rssi(const uint8_t * event){ 3967 return event[15]; 3968 } 3969 /** 3970 * @brief Get field periodic_advertising_interval from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3971 * @param event packet 3972 * @return periodic_advertising_interval 3973 * @note: btstack_type 2 3974 */ 3975 static inline uint16_t gap_event_extended_advertising_report_get_periodic_advertising_interval(const uint8_t * event){ 3976 return little_endian_read_16(event, 16); 3977 } 3978 /** 3979 * @brief Get field direct_address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3980 * @param event packet 3981 * @return direct_address_type 3982 * @note: btstack_type 1 3983 */ 3984 static inline uint8_t gap_event_extended_advertising_report_get_direct_address_type(const uint8_t * event){ 3985 return event[18]; 3986 } 3987 /** 3988 * @brief Get field direct_address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3989 * @param event packet 3990 * @param Pointer to storage for direct_address 3991 * @note: btstack_type B 3992 */ 3993 static inline void gap_event_extended_advertising_report_get_direct_address(const uint8_t * event, bd_addr_t direct_address){ 3994 reverse_bytes(&event[19], direct_address, 6); 3995 } 3996 /** 3997 * @brief Get field data_length from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3998 * @param event packet 3999 * @return data_length 4000 * @note: btstack_type J 4001 */ 4002 static inline uint8_t gap_event_extended_advertising_report_get_data_length(const uint8_t * event){ 4003 return event[25]; 4004 } 4005 /** 4006 * @brief Get field data from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4007 * @param event packet 4008 * @return data 4009 * @note: btstack_type V 4010 */ 4011 static inline const uint8_t * gap_event_extended_advertising_report_get_data(const uint8_t * event){ 4012 return &event[26]; 4013 } 4014 4015 /** 4016 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 4017 * @param event packet 4018 * @param Pointer to storage for bd_addr 4019 * @note: btstack_type B 4020 */ 4021 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4022 reverse_bytes(&event[2], bd_addr, 6); 4023 } 4024 /** 4025 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 4026 * @param event packet 4027 * @return page_scan_repetition_mode 4028 * @note: btstack_type 1 4029 */ 4030 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 4031 return event[8]; 4032 } 4033 /** 4034 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 4035 * @param event packet 4036 * @return class_of_device 4037 * @note: btstack_type 3 4038 */ 4039 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 4040 return little_endian_read_24(event, 9); 4041 } 4042 /** 4043 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 4044 * @param event packet 4045 * @return clock_offset 4046 * @note: btstack_type 2 4047 */ 4048 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 4049 return little_endian_read_16(event, 12); 4050 } 4051 /** 4052 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 4053 * @param event packet 4054 * @return rssi_available 4055 * @note: btstack_type 1 4056 */ 4057 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 4058 return event[14]; 4059 } 4060 /** 4061 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 4062 * @param event packet 4063 * @return rssi 4064 * @note: btstack_type 1 4065 */ 4066 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 4067 return event[15]; 4068 } 4069 /** 4070 * @brief Get field device_id_available from event GAP_EVENT_INQUIRY_RESULT 4071 * @param event packet 4072 * @return device_id_available 4073 * @note: btstack_type 1 4074 */ 4075 static inline uint8_t gap_event_inquiry_result_get_device_id_available(const uint8_t * event){ 4076 return event[16]; 4077 } 4078 /** 4079 * @brief Get field device_id_vendor_id_source from event GAP_EVENT_INQUIRY_RESULT 4080 * @param event packet 4081 * @return device_id_vendor_id_source 4082 * @note: btstack_type 2 4083 */ 4084 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id_source(const uint8_t * event){ 4085 return little_endian_read_16(event, 17); 4086 } 4087 /** 4088 * @brief Get field device_id_vendor_id from event GAP_EVENT_INQUIRY_RESULT 4089 * @param event packet 4090 * @return device_id_vendor_id 4091 * @note: btstack_type 2 4092 */ 4093 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id(const uint8_t * event){ 4094 return little_endian_read_16(event, 19); 4095 } 4096 /** 4097 * @brief Get field device_id_product_id from event GAP_EVENT_INQUIRY_RESULT 4098 * @param event packet 4099 * @return device_id_product_id 4100 * @note: btstack_type 2 4101 */ 4102 static inline uint16_t gap_event_inquiry_result_get_device_id_product_id(const uint8_t * event){ 4103 return little_endian_read_16(event, 21); 4104 } 4105 /** 4106 * @brief Get field device_id_version from event GAP_EVENT_INQUIRY_RESULT 4107 * @param event packet 4108 * @return device_id_version 4109 * @note: btstack_type 2 4110 */ 4111 static inline uint16_t gap_event_inquiry_result_get_device_id_version(const uint8_t * event){ 4112 return little_endian_read_16(event, 23); 4113 } 4114 /** 4115 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 4116 * @param event packet 4117 * @return name_available 4118 * @note: btstack_type 1 4119 */ 4120 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 4121 return event[25]; 4122 } 4123 /** 4124 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 4125 * @param event packet 4126 * @return name_len 4127 * @note: btstack_type J 4128 */ 4129 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 4130 return event[26]; 4131 } 4132 /** 4133 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 4134 * @param event packet 4135 * @return name 4136 * @note: btstack_type V 4137 */ 4138 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 4139 return &event[27]; 4140 } 4141 4142 /** 4143 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 4144 * @param event packet 4145 * @return status 4146 * @note: btstack_type 1 4147 */ 4148 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 4149 return event[2]; 4150 } 4151 4152 /** 4153 * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT 4154 * @param event packet 4155 * @return con_handle 4156 * @note: btstack_type H 4157 */ 4158 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){ 4159 return little_endian_read_16(event, 2); 4160 } 4161 /** 4162 * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT 4163 * @param event packet 4164 * @return rssi 4165 * @note: btstack_type 1 4166 */ 4167 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){ 4168 return event[4]; 4169 } 4170 4171 /** 4172 * @brief Get field oob_data_present from event GAP_EVENT_LOCAL_OOB_DATA 4173 * @param event packet 4174 * @return oob_data_present 4175 * @note: btstack_type 1 4176 */ 4177 static inline uint8_t gap_event_local_oob_data_get_oob_data_present(const uint8_t * event){ 4178 return event[2]; 4179 } 4180 /** 4181 * @brief Get field c_192 from event GAP_EVENT_LOCAL_OOB_DATA 4182 * @param event packet 4183 * @param Pointer to storage for c_192 4184 * @note: btstack_type K 4185 */ 4186 static inline void gap_event_local_oob_data_get_c_192(const uint8_t * event, uint8_t * c_192){ 4187 reverse_bytes(&event[3], c_192, 16); 4188 } 4189 /** 4190 * @brief Get field r_192 from event GAP_EVENT_LOCAL_OOB_DATA 4191 * @param event packet 4192 * @param Pointer to storage for r_192 4193 * @note: btstack_type K 4194 */ 4195 static inline void gap_event_local_oob_data_get_r_192(const uint8_t * event, uint8_t * r_192){ 4196 reverse_bytes(&event[19], r_192, 16); 4197 } 4198 /** 4199 * @brief Get field c_256 from event GAP_EVENT_LOCAL_OOB_DATA 4200 * @param event packet 4201 * @param Pointer to storage for c_256 4202 * @note: btstack_type K 4203 */ 4204 static inline void gap_event_local_oob_data_get_c_256(const uint8_t * event, uint8_t * c_256){ 4205 reverse_bytes(&event[35], c_256, 16); 4206 } 4207 /** 4208 * @brief Get field r_256 from event GAP_EVENT_LOCAL_OOB_DATA 4209 * @param event packet 4210 * @param Pointer to storage for r_256 4211 * @note: btstack_type K 4212 */ 4213 static inline void gap_event_local_oob_data_get_r_256(const uint8_t * event, uint8_t * r_256){ 4214 reverse_bytes(&event[51], r_256, 16); 4215 } 4216 4217 /** 4218 * @brief Get field con_handle from event GAP_EVENT_PAIRING_STARTED 4219 * @param event packet 4220 * @return con_handle 4221 * @note: btstack_type H 4222 */ 4223 static inline hci_con_handle_t gap_event_pairing_started_get_con_handle(const uint8_t * event){ 4224 return little_endian_read_16(event, 2); 4225 } 4226 /** 4227 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_STARTED 4228 * @param event packet 4229 * @param Pointer to storage for bd_addr 4230 * @note: btstack_type B 4231 */ 4232 static inline void gap_event_pairing_started_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4233 reverse_bytes(&event[4], bd_addr, 6); 4234 } 4235 /** 4236 * @brief Get field ssp from event GAP_EVENT_PAIRING_STARTED 4237 * @param event packet 4238 * @return ssp 4239 * @note: btstack_type 1 4240 */ 4241 static inline uint8_t gap_event_pairing_started_get_ssp(const uint8_t * event){ 4242 return event[10]; 4243 } 4244 /** 4245 * @brief Get field initiator from event GAP_EVENT_PAIRING_STARTED 4246 * @param event packet 4247 * @return initiator 4248 * @note: btstack_type 1 4249 */ 4250 static inline uint8_t gap_event_pairing_started_get_initiator(const uint8_t * event){ 4251 return event[11]; 4252 } 4253 4254 /** 4255 * @brief Get field con_handle from event GAP_EVENT_PAIRING_COMPLETE 4256 * @param event packet 4257 * @return con_handle 4258 * @note: btstack_type H 4259 */ 4260 static inline hci_con_handle_t gap_event_pairing_complete_get_con_handle(const uint8_t * event){ 4261 return little_endian_read_16(event, 2); 4262 } 4263 /** 4264 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_COMPLETE 4265 * @param event packet 4266 * @param Pointer to storage for bd_addr 4267 * @note: btstack_type B 4268 */ 4269 static inline void gap_event_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4270 reverse_bytes(&event[4], bd_addr, 6); 4271 } 4272 /** 4273 * @brief Get field status from event GAP_EVENT_PAIRING_COMPLETE 4274 * @param event packet 4275 * @return status 4276 * @note: btstack_type 1 4277 */ 4278 static inline uint8_t gap_event_pairing_complete_get_status(const uint8_t * event){ 4279 return event[10]; 4280 } 4281 4282 /** 4283 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4284 * @param event packet 4285 * @return status 4286 * @note: btstack_type 1 4287 */ 4288 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 4289 return event[3]; 4290 } 4291 /** 4292 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4293 * @param event packet 4294 * @return connection_handle 4295 * @note: btstack_type H 4296 */ 4297 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 4298 return little_endian_read_16(event, 4); 4299 } 4300 /** 4301 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4302 * @param event packet 4303 * @return role 4304 * @note: btstack_type 1 4305 */ 4306 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 4307 return event[6]; 4308 } 4309 /** 4310 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4311 * @param event packet 4312 * @return peer_address_type 4313 * @note: btstack_type 1 4314 */ 4315 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 4316 return event[7]; 4317 } 4318 /** 4319 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4320 * @param event packet 4321 * @param Pointer to storage for peer_address 4322 * @note: btstack_type B 4323 */ 4324 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 4325 reverse_bytes(&event[8], peer_address, 6); 4326 } 4327 /** 4328 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4329 * @param event packet 4330 * @return conn_interval 4331 * @note: btstack_type 2 4332 */ 4333 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 4334 return little_endian_read_16(event, 14); 4335 } 4336 /** 4337 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4338 * @param event packet 4339 * @return conn_latency 4340 * @note: btstack_type 2 4341 */ 4342 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 4343 return little_endian_read_16(event, 16); 4344 } 4345 /** 4346 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4347 * @param event packet 4348 * @return supervision_timeout 4349 * @note: btstack_type 2 4350 */ 4351 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 4352 return little_endian_read_16(event, 18); 4353 } 4354 /** 4355 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4356 * @param event packet 4357 * @return master_clock_accuracy 4358 * @note: btstack_type 1 4359 */ 4360 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 4361 return event[20]; 4362 } 4363 4364 /** 4365 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4366 * @param event packet 4367 * @return status 4368 * @note: btstack_type 1 4369 */ 4370 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 4371 return event[3]; 4372 } 4373 /** 4374 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4375 * @param event packet 4376 * @return connection_handle 4377 * @note: btstack_type H 4378 */ 4379 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 4380 return little_endian_read_16(event, 4); 4381 } 4382 /** 4383 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4384 * @param event packet 4385 * @return conn_interval 4386 * @note: btstack_type 2 4387 */ 4388 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 4389 return little_endian_read_16(event, 6); 4390 } 4391 /** 4392 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4393 * @param event packet 4394 * @return conn_latency 4395 * @note: btstack_type 2 4396 */ 4397 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 4398 return little_endian_read_16(event, 8); 4399 } 4400 /** 4401 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4402 * @param event packet 4403 * @return supervision_timeout 4404 * @note: btstack_type 2 4405 */ 4406 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 4407 return little_endian_read_16(event, 10); 4408 } 4409 4410 /** 4411 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4412 * @param event packet 4413 * @return connection_handle 4414 * @note: btstack_type H 4415 */ 4416 static inline hci_con_handle_t hci_subevent_le_read_remote_features_complete_get_connection_handle(const uint8_t * event){ 4417 return little_endian_read_16(event, 3); 4418 } 4419 /** 4420 * @brief Get field le_features from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4421 * @param event packet 4422 * @return le_features 4423 * @note: btstack_type D 4424 */ 4425 static inline const uint8_t * hci_subevent_le_read_remote_features_complete_get_le_features(const uint8_t * event){ 4426 return (const uint8_t *) &event[5]; 4427 } 4428 4429 /** 4430 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4431 * @param event packet 4432 * @return connection_handle 4433 * @note: btstack_type H 4434 */ 4435 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 4436 return little_endian_read_16(event, 3); 4437 } 4438 /** 4439 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4440 * @param event packet 4441 * @return random_number 4442 * @note: btstack_type D 4443 */ 4444 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 4445 return (const uint8_t *) &event[5]; 4446 } 4447 /** 4448 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4449 * @param event packet 4450 * @return encryption_diversifier 4451 * @note: btstack_type 2 4452 */ 4453 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 4454 return little_endian_read_16(event, 13); 4455 } 4456 4457 /** 4458 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4459 * @param event packet 4460 * @return connection_handle 4461 * @note: btstack_type H 4462 */ 4463 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 4464 return little_endian_read_16(event, 3); 4465 } 4466 /** 4467 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4468 * @param event packet 4469 * @return interval_min 4470 * @note: btstack_type 2 4471 */ 4472 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 4473 return little_endian_read_16(event, 5); 4474 } 4475 /** 4476 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4477 * @param event packet 4478 * @return interval_max 4479 * @note: btstack_type 2 4480 */ 4481 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 4482 return little_endian_read_16(event, 7); 4483 } 4484 /** 4485 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4486 * @param event packet 4487 * @return latency 4488 * @note: btstack_type 2 4489 */ 4490 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 4491 return little_endian_read_16(event, 9); 4492 } 4493 /** 4494 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4495 * @param event packet 4496 * @return timeout 4497 * @note: btstack_type 2 4498 */ 4499 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 4500 return little_endian_read_16(event, 11); 4501 } 4502 4503 /** 4504 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4505 * @param event packet 4506 * @return connection_handle 4507 * @note: btstack_type H 4508 */ 4509 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 4510 return little_endian_read_16(event, 3); 4511 } 4512 /** 4513 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4514 * @param event packet 4515 * @return max_tx_octets 4516 * @note: btstack_type 2 4517 */ 4518 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 4519 return little_endian_read_16(event, 5); 4520 } 4521 /** 4522 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4523 * @param event packet 4524 * @return max_tx_time 4525 * @note: btstack_type 2 4526 */ 4527 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 4528 return little_endian_read_16(event, 7); 4529 } 4530 /** 4531 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4532 * @param event packet 4533 * @return max_rx_octets 4534 * @note: btstack_type 2 4535 */ 4536 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 4537 return little_endian_read_16(event, 9); 4538 } 4539 /** 4540 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4541 * @param event packet 4542 * @return max_rx_time 4543 * @note: btstack_type 2 4544 */ 4545 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 4546 return little_endian_read_16(event, 11); 4547 } 4548 4549 /** 4550 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4551 * @param event packet 4552 * @return status 4553 * @note: btstack_type 1 4554 */ 4555 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 4556 return event[3]; 4557 } 4558 /** 4559 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4560 * @param event packet 4561 * @param Pointer to storage for dhkey_x 4562 * @note: btstack_type Q 4563 */ 4564 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 4565 reverse_bytes(&event[4], dhkey_x, 32); 4566 } 4567 /** 4568 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4569 * @param event packet 4570 * @param Pointer to storage for dhkey_y 4571 * @note: btstack_type Q 4572 */ 4573 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 4574 reverse_bytes(&event[36], dhkey_y, 32); 4575 } 4576 4577 /** 4578 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4579 * @param event packet 4580 * @return status 4581 * @note: btstack_type 1 4582 */ 4583 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 4584 return event[3]; 4585 } 4586 /** 4587 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4588 * @param event packet 4589 * @param Pointer to storage for dhkey 4590 * @note: btstack_type Q 4591 */ 4592 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 4593 reverse_bytes(&event[4], dhkey, 32); 4594 } 4595 4596 /** 4597 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4598 * @param event packet 4599 * @return status 4600 * @note: btstack_type 1 4601 */ 4602 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_status(const uint8_t * event){ 4603 return event[3]; 4604 } 4605 /** 4606 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4607 * @param event packet 4608 * @return connection_handle 4609 * @note: btstack_type H 4610 */ 4611 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_get_connection_handle(const uint8_t * event){ 4612 return little_endian_read_16(event, 4); 4613 } 4614 /** 4615 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4616 * @param event packet 4617 * @return role 4618 * @note: btstack_type 1 4619 */ 4620 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_role(const uint8_t * event){ 4621 return event[6]; 4622 } 4623 /** 4624 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4625 * @param event packet 4626 * @return peer_address_type 4627 * @note: btstack_type 1 4628 */ 4629 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_peer_address_type(const uint8_t * event){ 4630 return event[7]; 4631 } 4632 /** 4633 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4634 * @param event packet 4635 * @param Pointer to storage for peer_addresss 4636 * @note: btstack_type B 4637 */ 4638 static inline void hci_subevent_le_enhanced_connection_complete_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 4639 reverse_bytes(&event[8], peer_addresss, 6); 4640 } 4641 /** 4642 * @brief Get field local_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4643 * @param event packet 4644 * @param Pointer to storage for local_resolvable_private_addres 4645 * @note: btstack_type B 4646 */ 4647 static inline void hci_subevent_le_enhanced_connection_complete_get_local_resolvable_private_addres(const uint8_t * event, bd_addr_t local_resolvable_private_addres){ 4648 reverse_bytes(&event[14], local_resolvable_private_addres, 6); 4649 } 4650 /** 4651 * @brief Get field peer_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4652 * @param event packet 4653 * @param Pointer to storage for peer_resolvable_private_addres 4654 * @note: btstack_type B 4655 */ 4656 static inline void hci_subevent_le_enhanced_connection_complete_get_peer_resolvable_private_addres(const uint8_t * event, bd_addr_t peer_resolvable_private_addres){ 4657 reverse_bytes(&event[20], peer_resolvable_private_addres, 6); 4658 } 4659 /** 4660 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4661 * @param event packet 4662 * @return conn_interval 4663 * @note: btstack_type 2 4664 */ 4665 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_interval(const uint8_t * event){ 4666 return little_endian_read_16(event, 26); 4667 } 4668 /** 4669 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4670 * @param event packet 4671 * @return conn_latency 4672 * @note: btstack_type 2 4673 */ 4674 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_latency(const uint8_t * event){ 4675 return little_endian_read_16(event, 28); 4676 } 4677 /** 4678 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4679 * @param event packet 4680 * @return supervision_timeout 4681 * @note: btstack_type 2 4682 */ 4683 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_supervision_timeout(const uint8_t * event){ 4684 return little_endian_read_16(event, 30); 4685 } 4686 /** 4687 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4688 * @param event packet 4689 * @return master_clock_accuracy 4690 * @note: btstack_type 1 4691 */ 4692 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 4693 return event[32]; 4694 } 4695 4696 /** 4697 * @brief Get field status from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4698 * @param event packet 4699 * @return status 4700 * @note: btstack_type 1 4701 */ 4702 static inline uint8_t hci_subevent_le_phy_update_complete_get_status(const uint8_t * event){ 4703 return event[3]; 4704 } 4705 /** 4706 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4707 * @param event packet 4708 * @return connection_handle 4709 * @note: btstack_type H 4710 */ 4711 static inline hci_con_handle_t hci_subevent_le_phy_update_complete_get_connection_handle(const uint8_t * event){ 4712 return little_endian_read_16(event, 4); 4713 } 4714 /** 4715 * @brief Get field tx_phy from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4716 * @param event packet 4717 * @return tx_phy 4718 * @note: btstack_type 1 4719 */ 4720 static inline uint8_t hci_subevent_le_phy_update_complete_get_tx_phy(const uint8_t * event){ 4721 return event[6]; 4722 } 4723 4724 /** 4725 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4726 * @param event packet 4727 * @return status 4728 * @note: btstack_type 1 4729 */ 4730 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_status(const uint8_t * event){ 4731 return event[3]; 4732 } 4733 /** 4734 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4735 * @param event packet 4736 * @return sync_handle 4737 * @note: btstack_type H 4738 */ 4739 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_establishment_get_sync_handle(const uint8_t * event){ 4740 return little_endian_read_16(event, 4); 4741 } 4742 /** 4743 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4744 * @param event packet 4745 * @return advertising_sid 4746 * @note: btstack_type 1 4747 */ 4748 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertising_sid(const uint8_t * event){ 4749 return event[6]; 4750 } 4751 /** 4752 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4753 * @param event packet 4754 * @return advertiser_address_type 4755 * @note: btstack_type 1 4756 */ 4757 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address_type(const uint8_t * event){ 4758 return event[7]; 4759 } 4760 /** 4761 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4762 * @param event packet 4763 * @param Pointer to storage for advertiser_address 4764 * @note: btstack_type B 4765 */ 4766 static inline void hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 4767 reverse_bytes(&event[8], advertiser_address, 6); 4768 } 4769 /** 4770 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4771 * @param event packet 4772 * @return advertiser_phy 4773 * @note: btstack_type 1 4774 */ 4775 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_phy(const uint8_t * event){ 4776 return event[14]; 4777 } 4778 /** 4779 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4780 * @param event packet 4781 * @return periodic_advertising_interval 4782 * @note: btstack_type 2 4783 */ 4784 static inline uint16_t hci_subevent_le_periodic_advertising_sync_establishment_get_periodic_advertising_interval(const uint8_t * event){ 4785 return little_endian_read_16(event, 15); 4786 } 4787 /** 4788 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4789 * @param event packet 4790 * @return advertiser_clock_accuracy 4791 * @note: btstack_type 1 4792 */ 4793 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_clock_accuracy(const uint8_t * event){ 4794 return event[17]; 4795 } 4796 4797 /** 4798 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4799 * @param event packet 4800 * @return sync_handle 4801 * @note: btstack_type H 4802 */ 4803 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_report_get_sync_handle(const uint8_t * event){ 4804 return little_endian_read_16(event, 3); 4805 } 4806 /** 4807 * @brief Get field tx_power from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4808 * @param event packet 4809 * @return tx_power 4810 * @note: btstack_type 1 4811 */ 4812 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_tx_power(const uint8_t * event){ 4813 return event[5]; 4814 } 4815 /** 4816 * @brief Get field rssi from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4817 * @param event packet 4818 * @return rssi 4819 * @note: btstack_type 1 4820 */ 4821 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_rssi(const uint8_t * event){ 4822 return event[6]; 4823 } 4824 /** 4825 * @brief Get field cte_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4826 * @param event packet 4827 * @return cte_type 4828 * @note: btstack_type 1 4829 */ 4830 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_cte_type(const uint8_t * event){ 4831 return event[7]; 4832 } 4833 /** 4834 * @brief Get field data_status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4835 * @param event packet 4836 * @return data_status 4837 * @note: btstack_type 1 4838 */ 4839 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_status(const uint8_t * event){ 4840 return event[8]; 4841 } 4842 /** 4843 * @brief Get field data_length from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4844 * @param event packet 4845 * @return data_length 4846 * @note: btstack_type J 4847 */ 4848 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_length(const uint8_t * event){ 4849 return event[9]; 4850 } 4851 /** 4852 * @brief Get field data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4853 * @param event packet 4854 * @return data 4855 * @note: btstack_type V 4856 */ 4857 static inline const uint8_t * hci_subevent_le_periodic_advertising_report_get_data(const uint8_t * event){ 4858 return &event[10]; 4859 } 4860 4861 /** 4862 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_LOST 4863 * @param event packet 4864 * @return sync_handle 4865 * @note: btstack_type H 4866 */ 4867 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_lost_get_sync_handle(const uint8_t * event){ 4868 return little_endian_read_16(event, 3); 4869 } 4870 4871 4872 /** 4873 * @brief Get field status from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 4874 * @param event packet 4875 * @return status 4876 * @note: btstack_type 1 4877 */ 4878 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_status(const uint8_t * event){ 4879 return event[3]; 4880 } 4881 /** 4882 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 4883 * @param event packet 4884 * @return advertising_handle 4885 * @note: btstack_type 1 4886 */ 4887 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_advertising_handle(const uint8_t * event){ 4888 return event[4]; 4889 } 4890 /** 4891 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 4892 * @param event packet 4893 * @return connection_handle 4894 * @note: btstack_type H 4895 */ 4896 static inline hci_con_handle_t hci_subevent_le_advertising_set_terminated_get_connection_handle(const uint8_t * event){ 4897 return little_endian_read_16(event, 5); 4898 } 4899 /** 4900 * @brief Get field num_completed_exteneded_advertising_events from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 4901 * @param event packet 4902 * @return num_completed_exteneded_advertising_events 4903 * @note: btstack_type 1 4904 */ 4905 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_num_completed_exteneded_advertising_events(const uint8_t * event){ 4906 return event[7]; 4907 } 4908 4909 /** 4910 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 4911 * @param event packet 4912 * @return advertising_handle 4913 * @note: btstack_type 1 4914 */ 4915 static inline uint8_t hci_subevent_le_scan_request_received_get_advertising_handle(const uint8_t * event){ 4916 return event[3]; 4917 } 4918 /** 4919 * @brief Get field scanner_address_type from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 4920 * @param event packet 4921 * @return scanner_address_type 4922 * @note: btstack_type 1 4923 */ 4924 static inline uint8_t hci_subevent_le_scan_request_received_get_scanner_address_type(const uint8_t * event){ 4925 return event[4]; 4926 } 4927 /** 4928 * @brief Get field scanner_address from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 4929 * @param event packet 4930 * @param Pointer to storage for scanner_address 4931 * @note: btstack_type B 4932 */ 4933 static inline void hci_subevent_le_scan_request_received_get_scanner_address(const uint8_t * event, bd_addr_t scanner_address){ 4934 reverse_bytes(&event[5], scanner_address, 6); 4935 } 4936 4937 /** 4938 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 4939 * @param event packet 4940 * @return connection_handle 4941 * @note: btstack_type H 4942 */ 4943 static inline hci_con_handle_t hci_subevent_le_channel_selection_algorithm_get_connection_handle(const uint8_t * event){ 4944 return little_endian_read_16(event, 3); 4945 } 4946 /** 4947 * @brief Get field channel_selection_algorithm from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 4948 * @param event packet 4949 * @return channel_selection_algorithm 4950 * @note: btstack_type 1 4951 */ 4952 static inline uint8_t hci_subevent_le_channel_selection_algorithm_get_channel_selection_algorithm(const uint8_t * event){ 4953 return event[5]; 4954 } 4955 4956 /** 4957 * @brief Get field status from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 4958 * @param event packet 4959 * @return status 4960 * @note: btstack_type 1 4961 */ 4962 static inline uint8_t hci_subevent_le_le_cte_request_failed_get_status(const uint8_t * event){ 4963 return event[3]; 4964 } 4965 /** 4966 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 4967 * @param event packet 4968 * @return connection_handle 4969 * @note: btstack_type H 4970 */ 4971 static inline hci_con_handle_t hci_subevent_le_le_cte_request_failed_get_connection_handle(const uint8_t * event){ 4972 return little_endian_read_16(event, 4); 4973 } 4974 4975 /** 4976 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 4977 * @param event packet 4978 * @return status 4979 * @note: btstack_type 1 4980 */ 4981 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_status(const uint8_t * event){ 4982 return event[3]; 4983 } 4984 /** 4985 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 4986 * @param event packet 4987 * @return connection_handle 4988 * @note: btstack_type H 4989 */ 4990 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_connection_handle(const uint8_t * event){ 4991 return little_endian_read_16(event, 4); 4992 } 4993 /** 4994 * @brief Get field service_data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 4995 * @param event packet 4996 * @return service_data 4997 * @note: btstack_type 2 4998 */ 4999 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_service_data(const uint8_t * event){ 5000 return little_endian_read_16(event, 6); 5001 } 5002 /** 5003 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5004 * @param event packet 5005 * @return sync_handle 5006 * @note: btstack_type H 5007 */ 5008 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_sync_handle(const uint8_t * event){ 5009 return little_endian_read_16(event, 8); 5010 } 5011 /** 5012 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5013 * @param event packet 5014 * @return advertising_sid 5015 * @note: btstack_type 1 5016 */ 5017 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertising_sid(const uint8_t * event){ 5018 return event[10]; 5019 } 5020 /** 5021 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5022 * @param event packet 5023 * @return advertiser_address_type 5024 * @note: btstack_type 1 5025 */ 5026 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address_type(const uint8_t * event){ 5027 return event[11]; 5028 } 5029 /** 5030 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5031 * @param event packet 5032 * @param Pointer to storage for advertiser_address 5033 * @note: btstack_type B 5034 */ 5035 static inline void hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5036 reverse_bytes(&event[12], advertiser_address, 6); 5037 } 5038 /** 5039 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5040 * @param event packet 5041 * @return advertiser_phy 5042 * @note: btstack_type 1 5043 */ 5044 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_phy(const uint8_t * event){ 5045 return event[18]; 5046 } 5047 /** 5048 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5049 * @param event packet 5050 * @return periodic_advertising_interval 5051 * @note: btstack_type 2 5052 */ 5053 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_periodic_advertising_interval(const uint8_t * event){ 5054 return little_endian_read_16(event, 19); 5055 } 5056 /** 5057 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5058 * @param event packet 5059 * @return advertiser_clock_accuracy 5060 * @note: btstack_type 1 5061 */ 5062 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_clock_accuracy(const uint8_t * event){ 5063 return event[21]; 5064 } 5065 5066 /** 5067 * @brief Get field status from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5068 * @param event packet 5069 * @return status 5070 * @note: btstack_type 1 5071 */ 5072 static inline uint8_t hci_subevent_le_cis_established_get_status(const uint8_t * event){ 5073 return event[3]; 5074 } 5075 /** 5076 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5077 * @param event packet 5078 * @return connection_handle 5079 * @note: btstack_type H 5080 */ 5081 static inline hci_con_handle_t hci_subevent_le_cis_established_get_connection_handle(const uint8_t * event){ 5082 return little_endian_read_16(event, 4); 5083 } 5084 /** 5085 * @brief Get field cig_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5086 * @param event packet 5087 * @return cig_sync_delay 5088 * @note: btstack_type 3 5089 */ 5090 static inline uint32_t hci_subevent_le_cis_established_get_cig_sync_delay(const uint8_t * event){ 5091 return little_endian_read_24(event, 6); 5092 } 5093 /** 5094 * @brief Get field cis_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5095 * @param event packet 5096 * @return cis_sync_delay 5097 * @note: btstack_type 3 5098 */ 5099 static inline uint32_t hci_subevent_le_cis_established_get_cis_sync_delay(const uint8_t * event){ 5100 return little_endian_read_24(event, 9); 5101 } 5102 /** 5103 * @brief Get field transport_latency_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5104 * @param event packet 5105 * @return transport_latency_c_to_p 5106 * @note: btstack_type 3 5107 */ 5108 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_c_to_p(const uint8_t * event){ 5109 return little_endian_read_24(event, 12); 5110 } 5111 /** 5112 * @brief Get field transport_latency_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5113 * @param event packet 5114 * @return transport_latency_p_to_c 5115 * @note: btstack_type 3 5116 */ 5117 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_p_to_c(const uint8_t * event){ 5118 return little_endian_read_24(event, 15); 5119 } 5120 /** 5121 * @brief Get field phy_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5122 * @param event packet 5123 * @return phy_c_to_p 5124 * @note: btstack_type 1 5125 */ 5126 static inline uint8_t hci_subevent_le_cis_established_get_phy_c_to_p(const uint8_t * event){ 5127 return event[18]; 5128 } 5129 /** 5130 * @brief Get field phy_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5131 * @param event packet 5132 * @return phy_p_to_c 5133 * @note: btstack_type 1 5134 */ 5135 static inline uint8_t hci_subevent_le_cis_established_get_phy_p_to_c(const uint8_t * event){ 5136 return event[19]; 5137 } 5138 /** 5139 * @brief Get field nse from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5140 * @param event packet 5141 * @return nse 5142 * @note: btstack_type 1 5143 */ 5144 static inline uint8_t hci_subevent_le_cis_established_get_nse(const uint8_t * event){ 5145 return event[20]; 5146 } 5147 /** 5148 * @brief Get field bn_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5149 * @param event packet 5150 * @return bn_c_to_p 5151 * @note: btstack_type 1 5152 */ 5153 static inline uint8_t hci_subevent_le_cis_established_get_bn_c_to_p(const uint8_t * event){ 5154 return event[21]; 5155 } 5156 /** 5157 * @brief Get field bn_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5158 * @param event packet 5159 * @return bn_p_to_c 5160 * @note: btstack_type 1 5161 */ 5162 static inline uint8_t hci_subevent_le_cis_established_get_bn_p_to_c(const uint8_t * event){ 5163 return event[22]; 5164 } 5165 /** 5166 * @brief Get field ft_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5167 * @param event packet 5168 * @return ft_c_to_p 5169 * @note: btstack_type 1 5170 */ 5171 static inline uint8_t hci_subevent_le_cis_established_get_ft_c_to_p(const uint8_t * event){ 5172 return event[23]; 5173 } 5174 /** 5175 * @brief Get field ft_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5176 * @param event packet 5177 * @return ft_p_to_c 5178 * @note: btstack_type 1 5179 */ 5180 static inline uint8_t hci_subevent_le_cis_established_get_ft_p_to_c(const uint8_t * event){ 5181 return event[24]; 5182 } 5183 /** 5184 * @brief Get field max_pdu_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5185 * @param event packet 5186 * @return max_pdu_c_to_p 5187 * @note: btstack_type 2 5188 */ 5189 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_c_to_p(const uint8_t * event){ 5190 return little_endian_read_16(event, 25); 5191 } 5192 /** 5193 * @brief Get field max_pdu_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5194 * @param event packet 5195 * @return max_pdu_p_to_c 5196 * @note: btstack_type 2 5197 */ 5198 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_p_to_c(const uint8_t * event){ 5199 return little_endian_read_16(event, 27); 5200 } 5201 /** 5202 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5203 * @param event packet 5204 * @return iso_interval 5205 * @note: btstack_type 2 5206 */ 5207 static inline uint16_t hci_subevent_le_cis_established_get_iso_interval(const uint8_t * event){ 5208 return little_endian_read_16(event, 29); 5209 } 5210 5211 /** 5212 * @brief Get field acl_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5213 * @param event packet 5214 * @return acl_connection_handle 5215 * @note: btstack_type H 5216 */ 5217 static inline hci_con_handle_t hci_subevent_le_cis_request_get_acl_connection_handle(const uint8_t * event){ 5218 return little_endian_read_16(event, 3); 5219 } 5220 /** 5221 * @brief Get field cis_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5222 * @param event packet 5223 * @return cis_connection_handle 5224 * @note: btstack_type H 5225 */ 5226 static inline hci_con_handle_t hci_subevent_le_cis_request_get_cis_connection_handle(const uint8_t * event){ 5227 return little_endian_read_16(event, 5); 5228 } 5229 /** 5230 * @brief Get field cig_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5231 * @param event packet 5232 * @return cig_id 5233 * @note: btstack_type 1 5234 */ 5235 static inline uint8_t hci_subevent_le_cis_request_get_cig_id(const uint8_t * event){ 5236 return event[7]; 5237 } 5238 /** 5239 * @brief Get field cis_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5240 * @param event packet 5241 * @return cis_id 5242 * @note: btstack_type 1 5243 */ 5244 static inline uint8_t hci_subevent_le_cis_request_get_cis_id(const uint8_t * event){ 5245 return event[8]; 5246 } 5247 5248 /** 5249 * @brief Get field big_handle from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5250 * @param event packet 5251 * @return big_handle 5252 * @note: btstack_type 1 5253 */ 5254 static inline uint8_t hci_subevent_le_terminate_big_complete_get_big_handle(const uint8_t * event){ 5255 return event[3]; 5256 } 5257 /** 5258 * @brief Get field reason from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5259 * @param event packet 5260 * @return reason 5261 * @note: btstack_type 1 5262 */ 5263 static inline uint8_t hci_subevent_le_terminate_big_complete_get_reason(const uint8_t * event){ 5264 return event[4]; 5265 } 5266 5267 /** 5268 * @brief Get field big_handle from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5269 * @param event packet 5270 * @return big_handle 5271 * @note: btstack_type 1 5272 */ 5273 static inline uint8_t hci_subevent_le_big_sync_lost_get_big_handle(const uint8_t * event){ 5274 return event[3]; 5275 } 5276 /** 5277 * @brief Get field reason from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5278 * @param event packet 5279 * @return reason 5280 * @note: btstack_type 1 5281 */ 5282 static inline uint8_t hci_subevent_le_big_sync_lost_get_reason(const uint8_t * event){ 5283 return event[4]; 5284 } 5285 5286 /** 5287 * @brief Get field status from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5288 * @param event packet 5289 * @return status 5290 * @note: btstack_type 1 5291 */ 5292 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_status(const uint8_t * event){ 5293 return event[3]; 5294 } 5295 /** 5296 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5297 * @param event packet 5298 * @return connection_handle 5299 * @note: btstack_type H 5300 */ 5301 static inline hci_con_handle_t hci_subevent_le_request_peer_sca_complete_get_connection_handle(const uint8_t * event){ 5302 return little_endian_read_16(event, 4); 5303 } 5304 /** 5305 * @brief Get field peer_clock_accuracy from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5306 * @param event packet 5307 * @return peer_clock_accuracy 5308 * @note: btstack_type 1 5309 */ 5310 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_peer_clock_accuracy(const uint8_t * event){ 5311 return event[6]; 5312 } 5313 5314 /** 5315 * @brief Get field status from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5316 * @param event packet 5317 * @return status 5318 * @note: btstack_type 1 5319 */ 5320 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_status(const uint8_t * event){ 5321 return event[3]; 5322 } 5323 /** 5324 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5325 * @param event packet 5326 * @return connection_handle 5327 * @note: btstack_type H 5328 */ 5329 static inline hci_con_handle_t hci_subevent_le_transmit_power_reporting_get_connection_handle(const uint8_t * event){ 5330 return little_endian_read_16(event, 4); 5331 } 5332 /** 5333 * @brief Get field reason from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5334 * @param event packet 5335 * @return reason 5336 * @note: btstack_type 1 5337 */ 5338 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_reason(const uint8_t * event){ 5339 return event[6]; 5340 } 5341 /** 5342 * @brief Get field phy from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5343 * @param event packet 5344 * @return phy 5345 * @note: btstack_type 1 5346 */ 5347 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_phy(const uint8_t * event){ 5348 return event[7]; 5349 } 5350 /** 5351 * @brief Get field tx_power_level from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5352 * @param event packet 5353 * @return tx_power_level 5354 * @note: btstack_type 1 5355 */ 5356 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level(const uint8_t * event){ 5357 return event[8]; 5358 } 5359 /** 5360 * @brief Get field tx_power_level_flag from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5361 * @param event packet 5362 * @return tx_power_level_flag 5363 * @note: btstack_type 1 5364 */ 5365 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level_flag(const uint8_t * event){ 5366 return event[9]; 5367 } 5368 /** 5369 * @brief Get field delta from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5370 * @param event packet 5371 * @return delta 5372 * @note: btstack_type 1 5373 */ 5374 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_delta(const uint8_t * event){ 5375 return event[10]; 5376 } 5377 5378 /** 5379 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5380 * @param event packet 5381 * @return sync_handle 5382 * @note: btstack_type H 5383 */ 5384 static inline hci_con_handle_t hci_subevent_le_biginfo_advertising_report_get_sync_handle(const uint8_t * event){ 5385 return little_endian_read_16(event, 3); 5386 } 5387 /** 5388 * @brief Get field num_bis from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5389 * @param event packet 5390 * @return num_bis 5391 * @note: btstack_type 1 5392 */ 5393 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_num_bis(const uint8_t * event){ 5394 return event[5]; 5395 } 5396 /** 5397 * @brief Get field nse from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5398 * @param event packet 5399 * @return nse 5400 * @note: btstack_type 1 5401 */ 5402 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_nse(const uint8_t * event){ 5403 return event[6]; 5404 } 5405 /** 5406 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5407 * @param event packet 5408 * @return iso_interval 5409 * @note: btstack_type 2 5410 */ 5411 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_iso_interval(const uint8_t * event){ 5412 return little_endian_read_16(event, 7); 5413 } 5414 /** 5415 * @brief Get field bn from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5416 * @param event packet 5417 * @return bn 5418 * @note: btstack_type 1 5419 */ 5420 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_bn(const uint8_t * event){ 5421 return event[9]; 5422 } 5423 /** 5424 * @brief Get field pto from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5425 * @param event packet 5426 * @return pto 5427 * @note: btstack_type 1 5428 */ 5429 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_pto(const uint8_t * event){ 5430 return event[10]; 5431 } 5432 /** 5433 * @brief Get field irc from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5434 * @param event packet 5435 * @return irc 5436 * @note: btstack_type 1 5437 */ 5438 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_irc(const uint8_t * event){ 5439 return event[11]; 5440 } 5441 /** 5442 * @brief Get field max_pdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5443 * @param event packet 5444 * @return max_pdu 5445 * @note: btstack_type 2 5446 */ 5447 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_pdu(const uint8_t * event){ 5448 return little_endian_read_16(event, 12); 5449 } 5450 /** 5451 * @brief Get field sdu_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5452 * @param event packet 5453 * @return sdu_interval 5454 * @note: btstack_type 3 5455 */ 5456 static inline uint32_t hci_subevent_le_biginfo_advertising_report_get_sdu_interval(const uint8_t * event){ 5457 return little_endian_read_24(event, 14); 5458 } 5459 /** 5460 * @brief Get field max_sdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5461 * @param event packet 5462 * @return max_sdu 5463 * @note: btstack_type 2 5464 */ 5465 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_sdu(const uint8_t * event){ 5466 return little_endian_read_16(event, 17); 5467 } 5468 /** 5469 * @brief Get field phy from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5470 * @param event packet 5471 * @return phy 5472 * @note: btstack_type 1 5473 */ 5474 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_phy(const uint8_t * event){ 5475 return event[19]; 5476 } 5477 /** 5478 * @brief Get field framing from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5479 * @param event packet 5480 * @return framing 5481 * @note: btstack_type 1 5482 */ 5483 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_framing(const uint8_t * event){ 5484 return event[20]; 5485 } 5486 /** 5487 * @brief Get field encryption from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5488 * @param event packet 5489 * @return encryption 5490 * @note: btstack_type 1 5491 */ 5492 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_encryption(const uint8_t * event){ 5493 return event[21]; 5494 } 5495 5496 /** 5497 * @brief Get field status from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5498 * @param event packet 5499 * @return status 5500 * @note: btstack_type 1 5501 */ 5502 static inline uint8_t hci_subevent_le_subrate_change_get_status(const uint8_t * event){ 5503 return event[3]; 5504 } 5505 /** 5506 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5507 * @param event packet 5508 * @return connection_handle 5509 * @note: btstack_type H 5510 */ 5511 static inline hci_con_handle_t hci_subevent_le_subrate_change_get_connection_handle(const uint8_t * event){ 5512 return little_endian_read_16(event, 4); 5513 } 5514 /** 5515 * @brief Get field subrate_factor from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5516 * @param event packet 5517 * @return subrate_factor 5518 * @note: btstack_type 2 5519 */ 5520 static inline uint16_t hci_subevent_le_subrate_change_get_subrate_factor(const uint8_t * event){ 5521 return little_endian_read_16(event, 6); 5522 } 5523 /** 5524 * @brief Get field peripheral_latency from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5525 * @param event packet 5526 * @return peripheral_latency 5527 * @note: btstack_type 2 5528 */ 5529 static inline uint16_t hci_subevent_le_subrate_change_get_peripheral_latency(const uint8_t * event){ 5530 return little_endian_read_16(event, 8); 5531 } 5532 /** 5533 * @brief Get field continuation_number from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5534 * @param event packet 5535 * @return continuation_number 5536 * @note: btstack_type 2 5537 */ 5538 static inline uint16_t hci_subevent_le_subrate_change_get_continuation_number(const uint8_t * event){ 5539 return little_endian_read_16(event, 10); 5540 } 5541 /** 5542 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5543 * @param event packet 5544 * @return supervision_timeout 5545 * @note: btstack_type 2 5546 */ 5547 static inline uint16_t hci_subevent_le_subrate_change_get_supervision_timeout(const uint8_t * event){ 5548 return little_endian_read_16(event, 12); 5549 } 5550 5551 /** 5552 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5553 * @param event packet 5554 * @return advertisement_handle 5555 * @note: btstack_type 1 5556 */ 5557 static inline uint8_t gap_subevent_advertising_set_installed_get_advertisement_handle(const uint8_t * event){ 5558 return event[3]; 5559 } 5560 /** 5561 * @brief Get field status from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5562 * @param event packet 5563 * @return status 5564 * @note: btstack_type 1 5565 */ 5566 static inline uint8_t gap_subevent_advertising_set_installed_get_status(const uint8_t * event){ 5567 return event[4]; 5568 } 5569 /** 5570 * @brief Get field selected_tx_power from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5571 * @param event packet 5572 * @return selected_tx_power 5573 * @note: btstack_type 1 5574 */ 5575 static inline uint8_t gap_subevent_advertising_set_installed_get_selected_tx_power(const uint8_t * event){ 5576 return event[5]; 5577 } 5578 5579 /** 5580 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_REMOVED 5581 * @param event packet 5582 * @return advertisement_handle 5583 * @note: btstack_type 1 5584 */ 5585 static inline uint8_t gap_subevent_advertising_set_removed_get_advertisement_handle(const uint8_t * event){ 5586 return event[3]; 5587 } 5588 5589 /** 5590 * @brief Get field status from event GAP_SUBEVENT_BIG_CREATED 5591 * @param event packet 5592 * @return status 5593 * @note: btstack_type 1 5594 */ 5595 static inline uint8_t gap_subevent_big_created_get_status(const uint8_t * event){ 5596 return event[3]; 5597 } 5598 /** 5599 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_CREATED 5600 * @param event packet 5601 * @return big_handle 5602 * @note: btstack_type 1 5603 */ 5604 static inline uint8_t gap_subevent_big_created_get_big_handle(const uint8_t * event){ 5605 return event[4]; 5606 } 5607 /** 5608 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_CREATED 5609 * @param event packet 5610 * @return num_bis 5611 * @note: btstack_type 1 5612 */ 5613 static inline uint8_t gap_subevent_big_created_get_num_bis(const uint8_t * event){ 5614 return event[5]; 5615 } 5616 /** 5617 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_CREATED 5618 * @param event packet 5619 * @param index 5620 * @return bis_con_handles 5621 * @note: btstack_type C 5622 */ 5623 static inline uint16_t gap_subevent_big_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 5624 return little_endian_read_16(event, 6 + (2 * index)); 5625 } 5626 5627 /** 5628 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_TERMINATED 5629 * @param event packet 5630 * @return big_handle 5631 * @note: btstack_type 1 5632 */ 5633 static inline uint8_t gap_subevent_big_terminated_get_big_handle(const uint8_t * event){ 5634 return event[3]; 5635 } 5636 5637 /** 5638 * @brief Get field status from event GAP_SUBEVENT_BIG_SYNC_CREATED 5639 * @param event packet 5640 * @return status 5641 * @note: btstack_type 1 5642 */ 5643 static inline uint8_t gap_subevent_big_sync_created_get_status(const uint8_t * event){ 5644 return event[3]; 5645 } 5646 /** 5647 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_CREATED 5648 * @param event packet 5649 * @return big_handle 5650 * @note: btstack_type 1 5651 */ 5652 static inline uint8_t gap_subevent_big_sync_created_get_big_handle(const uint8_t * event){ 5653 return event[4]; 5654 } 5655 /** 5656 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_SYNC_CREATED 5657 * @param event packet 5658 * @return num_bis 5659 * @note: btstack_type 1 5660 */ 5661 static inline uint8_t gap_subevent_big_sync_created_get_num_bis(const uint8_t * event){ 5662 return event[5]; 5663 } 5664 /** 5665 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_SYNC_CREATED 5666 * @param event packet 5667 * @param index 5668 * @return bis_con_handles 5669 * @note: btstack_type C 5670 */ 5671 static inline uint16_t gap_subevent_big_sync_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 5672 return little_endian_read_16(event, 6 + (2 * index)); 5673 } 5674 5675 /** 5676 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_STOPPED 5677 * @param event packet 5678 * @return big_handle 5679 * @note: btstack_type 1 5680 */ 5681 static inline uint8_t gap_subevent_big_sync_stopped_get_big_handle(const uint8_t * event){ 5682 return event[3]; 5683 } 5684 5685 /** 5686 * @brief Get field status from event GAP_SUBEVENT_CIG_CREATED 5687 * @param event packet 5688 * @return status 5689 * @note: btstack_type 1 5690 */ 5691 static inline uint8_t gap_subevent_cig_created_get_status(const uint8_t * event){ 5692 return event[3]; 5693 } 5694 /** 5695 * @brief Get field cig_id from event GAP_SUBEVENT_CIG_CREATED 5696 * @param event packet 5697 * @return cig_id 5698 * @note: btstack_type 1 5699 */ 5700 static inline uint8_t gap_subevent_cig_created_get_cig_id(const uint8_t * event){ 5701 return event[4]; 5702 } 5703 /** 5704 * @brief Get field num_cis from event GAP_SUBEVENT_CIG_CREATED 5705 * @param event packet 5706 * @return num_cis 5707 * @note: btstack_type 1 5708 */ 5709 static inline uint8_t gap_subevent_cig_created_get_num_cis(const uint8_t * event){ 5710 return event[5]; 5711 } 5712 /** 5713 * @brief Get element of array field cis_con_handles from event GAP_SUBEVENT_CIG_CREATED 5714 * @param event packet 5715 * @param index 5716 * @return cis_con_handles 5717 * @note: btstack_type C 5718 */ 5719 static inline uint16_t gap_subevent_cig_created_get_cis_con_handles(const uint8_t * event, uint8_t index){ 5720 return little_endian_read_16(event, 6 + (2 * index)); 5721 } 5722 5723 /** 5724 * @brief Get field status from event GAP_SUBEVENT_CIS_CREATED 5725 * @param event packet 5726 * @return status 5727 * @note: btstack_type 1 5728 */ 5729 static inline uint8_t gap_subevent_cis_created_get_status(const uint8_t * event){ 5730 return event[3]; 5731 } 5732 /** 5733 * @brief Get field cig_id from event GAP_SUBEVENT_CIS_CREATED 5734 * @param event packet 5735 * @return cig_id 5736 * @note: btstack_type 1 5737 */ 5738 static inline uint8_t gap_subevent_cis_created_get_cig_id(const uint8_t * event){ 5739 return event[4]; 5740 } 5741 /** 5742 * @brief Get field cis_con_handle from event GAP_SUBEVENT_CIS_CREATED 5743 * @param event packet 5744 * @return cis_con_handle 5745 * @note: btstack_type H 5746 */ 5747 static inline hci_con_handle_t gap_subevent_cis_created_get_cis_con_handle(const uint8_t * event){ 5748 return little_endian_read_16(event, 5); 5749 } 5750 5751 /** 5752 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 5753 * @param event packet 5754 * @return acl_handle 5755 * @note: btstack_type H 5756 */ 5757 static inline hci_con_handle_t hsp_subevent_rfcomm_connection_complete_get_acl_handle(const uint8_t * event){ 5758 return little_endian_read_16(event, 3); 5759 } 5760 /** 5761 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 5762 * @param event packet 5763 * @return status 5764 * @note: btstack_type 1 5765 */ 5766 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 5767 return event[5]; 5768 } 5769 /** 5770 * @brief Get field bd_addr from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 5771 * @param event packet 5772 * @param Pointer to storage for bd_addr 5773 * @note: btstack_type B 5774 */ 5775 static inline void hsp_subevent_rfcomm_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5776 reverse_bytes(&event[6], bd_addr, 6); 5777 } 5778 5779 /** 5780 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 5781 * @param event packet 5782 * @return acl_handle 5783 * @note: btstack_type H 5784 */ 5785 static inline hci_con_handle_t hsp_subevent_rfcomm_disconnection_complete_get_acl_handle(const uint8_t * event){ 5786 return little_endian_read_16(event, 3); 5787 } 5788 5789 /** 5790 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 5791 * @param event packet 5792 * @return acl_handle 5793 * @note: btstack_type H 5794 */ 5795 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_acl_handle(const uint8_t * event){ 5796 return little_endian_read_16(event, 3); 5797 } 5798 /** 5799 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 5800 * @param event packet 5801 * @return status 5802 * @note: btstack_type 1 5803 */ 5804 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 5805 return event[5]; 5806 } 5807 /** 5808 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 5809 * @param event packet 5810 * @return sco_handle 5811 * @note: btstack_type H 5812 */ 5813 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_sco_handle(const uint8_t * event){ 5814 return little_endian_read_16(event, 6); 5815 } 5816 5817 /** 5818 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 5819 * @param event packet 5820 * @return acl_handle 5821 * @note: btstack_type H 5822 */ 5823 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_acl_handle(const uint8_t * event){ 5824 return little_endian_read_16(event, 3); 5825 } 5826 /** 5827 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 5828 * @param event packet 5829 * @return sco_handle 5830 * @note: btstack_type H 5831 */ 5832 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_sco_handle(const uint8_t * event){ 5833 return little_endian_read_16(event, 5); 5834 } 5835 5836 /** 5837 * @brief Get field acl_handle from event HSP_SUBEVENT_RING 5838 * @param event packet 5839 * @return acl_handle 5840 * @note: btstack_type H 5841 */ 5842 static inline hci_con_handle_t hsp_subevent_ring_get_acl_handle(const uint8_t * event){ 5843 return little_endian_read_16(event, 3); 5844 } 5845 5846 /** 5847 * @brief Get field acl_handle from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 5848 * @param event packet 5849 * @return acl_handle 5850 * @note: btstack_type H 5851 */ 5852 static inline hci_con_handle_t hsp_subevent_microphone_gain_changed_get_acl_handle(const uint8_t * event){ 5853 return little_endian_read_16(event, 3); 5854 } 5855 /** 5856 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 5857 * @param event packet 5858 * @return gain 5859 * @note: btstack_type 1 5860 */ 5861 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 5862 return event[5]; 5863 } 5864 5865 /** 5866 * @brief Get field acl_handle from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 5867 * @param event packet 5868 * @return acl_handle 5869 * @note: btstack_type H 5870 */ 5871 static inline hci_con_handle_t hsp_subevent_speaker_gain_changed_get_acl_handle(const uint8_t * event){ 5872 return little_endian_read_16(event, 3); 5873 } 5874 /** 5875 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 5876 * @param event packet 5877 * @return gain 5878 * @note: btstack_type 1 5879 */ 5880 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 5881 return event[5]; 5882 } 5883 5884 /** 5885 * @brief Get field acl_handle from event HSP_SUBEVENT_HS_COMMAND 5886 * @param event packet 5887 * @return acl_handle 5888 * @note: btstack_type H 5889 */ 5890 static inline hci_con_handle_t hsp_subevent_hs_command_get_acl_handle(const uint8_t * event){ 5891 return little_endian_read_16(event, 3); 5892 } 5893 /** 5894 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 5895 * @param event packet 5896 * @return value_length 5897 * @note: btstack_type J 5898 */ 5899 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 5900 return event[5]; 5901 } 5902 /** 5903 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 5904 * @param event packet 5905 * @return value 5906 * @note: btstack_type V 5907 */ 5908 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 5909 return &event[6]; 5910 } 5911 5912 /** 5913 * @brief Get field acl_handle from event HSP_SUBEVENT_AG_INDICATION 5914 * @param event packet 5915 * @return acl_handle 5916 * @note: btstack_type H 5917 */ 5918 static inline hci_con_handle_t hsp_subevent_ag_indication_get_acl_handle(const uint8_t * event){ 5919 return little_endian_read_16(event, 3); 5920 } 5921 /** 5922 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 5923 * @param event packet 5924 * @return value_length 5925 * @note: btstack_type J 5926 */ 5927 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 5928 return event[5]; 5929 } 5930 /** 5931 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 5932 * @param event packet 5933 * @return value 5934 * @note: btstack_type V 5935 */ 5936 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 5937 return &event[6]; 5938 } 5939 5940 /** 5941 * @brief Get field acl_handle from event HSP_SUBEVENT_BUTTON_PRESSED 5942 * @param event packet 5943 * @return acl_handle 5944 * @note: btstack_type H 5945 */ 5946 static inline hci_con_handle_t hsp_subevent_button_pressed_get_acl_handle(const uint8_t * event){ 5947 return little_endian_read_16(event, 3); 5948 } 5949 5950 /** 5951 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 5952 * @param event packet 5953 * @return acl_handle 5954 * @note: btstack_type H 5955 */ 5956 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_acl_handle(const uint8_t * event){ 5957 return little_endian_read_16(event, 3); 5958 } 5959 /** 5960 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 5961 * @param event packet 5962 * @return status 5963 * @note: btstack_type 1 5964 */ 5965 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 5966 return event[5]; 5967 } 5968 /** 5969 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 5970 * @param event packet 5971 * @param Pointer to storage for bd_addr 5972 * @note: btstack_type B 5973 */ 5974 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5975 reverse_bytes(&event[6], bd_addr, 6); 5976 } 5977 5978 /** 5979 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 5980 * @param event packet 5981 * @return acl_handle 5982 * @note: btstack_type H 5983 */ 5984 static inline hci_con_handle_t hfp_subevent_service_level_connection_released_get_acl_handle(const uint8_t * event){ 5985 return little_endian_read_16(event, 3); 5986 } 5987 5988 /** 5989 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 5990 * @param event packet 5991 * @return acl_handle 5992 * @note: btstack_type H 5993 */ 5994 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_acl_handle(const uint8_t * event){ 5995 return little_endian_read_16(event, 3); 5996 } 5997 /** 5998 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 5999 * @param event packet 6000 * @return status 6001 * @note: btstack_type 1 6002 */ 6003 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 6004 return event[5]; 6005 } 6006 /** 6007 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6008 * @param event packet 6009 * @return sco_handle 6010 * @note: btstack_type H 6011 */ 6012 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_sco_handle(const uint8_t * event){ 6013 return little_endian_read_16(event, 6); 6014 } 6015 /** 6016 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6017 * @param event packet 6018 * @param Pointer to storage for bd_addr 6019 * @note: btstack_type B 6020 */ 6021 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6022 reverse_bytes(&event[8], bd_addr, 6); 6023 } 6024 /** 6025 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6026 * @param event packet 6027 * @return negotiated_codec 6028 * @note: btstack_type 1 6029 */ 6030 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 6031 return event[14]; 6032 } 6033 /** 6034 * @brief Get field sco_packet_types from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6035 * @param event packet 6036 * @return sco_packet_types 6037 * @note: btstack_type 2 6038 */ 6039 static inline uint16_t hfp_subevent_audio_connection_established_get_sco_packet_types(const uint8_t * event){ 6040 return little_endian_read_16(event, 15); 6041 } 6042 /** 6043 * @brief Get field rx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6044 * @param event packet 6045 * @return rx_packet_length 6046 * @note: btstack_type 2 6047 */ 6048 static inline uint16_t hfp_subevent_audio_connection_established_get_rx_packet_length(const uint8_t * event){ 6049 return little_endian_read_16(event, 17); 6050 } 6051 /** 6052 * @brief Get field tx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6053 * @param event packet 6054 * @return tx_packet_length 6055 * @note: btstack_type 2 6056 */ 6057 static inline uint16_t hfp_subevent_audio_connection_established_get_tx_packet_length(const uint8_t * event){ 6058 return little_endian_read_16(event, 19); 6059 } 6060 6061 /** 6062 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6063 * @param event packet 6064 * @return acl_handle 6065 * @note: btstack_type H 6066 */ 6067 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_acl_handle(const uint8_t * event){ 6068 return little_endian_read_16(event, 3); 6069 } 6070 /** 6071 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6072 * @param event packet 6073 * @return sco_handle 6074 * @note: btstack_type H 6075 */ 6076 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_sco_handle(const uint8_t * event){ 6077 return little_endian_read_16(event, 5); 6078 } 6079 6080 /** 6081 * @brief Get field acl_handle from event HFP_SUBEVENT_COMPLETE 6082 * @param event packet 6083 * @return acl_handle 6084 * @note: btstack_type H 6085 */ 6086 static inline hci_con_handle_t hfp_subevent_complete_get_acl_handle(const uint8_t * event){ 6087 return little_endian_read_16(event, 3); 6088 } 6089 /** 6090 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 6091 * @param event packet 6092 * @return status 6093 * @note: btstack_type 1 6094 */ 6095 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 6096 return event[5]; 6097 } 6098 6099 /** 6100 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6101 * @param event packet 6102 * @return acl_handle 6103 * @note: btstack_type H 6104 */ 6105 static inline hci_con_handle_t hfp_subevent_ag_indicator_mapping_get_acl_handle(const uint8_t * event){ 6106 return little_endian_read_16(event, 3); 6107 } 6108 /** 6109 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6110 * @param event packet 6111 * @return indicator_index 6112 * @note: btstack_type 1 6113 */ 6114 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_index(const uint8_t * event){ 6115 return event[5]; 6116 } 6117 /** 6118 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6119 * @param event packet 6120 * @return indicator_min_range 6121 * @note: btstack_type 1 6122 */ 6123 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_min_range(const uint8_t * event){ 6124 return event[6]; 6125 } 6126 /** 6127 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6128 * @param event packet 6129 * @return indicator_max_range 6130 * @note: btstack_type 1 6131 */ 6132 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_max_range(const uint8_t * event){ 6133 return event[7]; 6134 } 6135 /** 6136 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6137 * @param event packet 6138 * @return indicator_name 6139 * @note: btstack_type T 6140 */ 6141 static inline const char * hfp_subevent_ag_indicator_mapping_get_indicator_name(const uint8_t * event){ 6142 return (const char *) &event[8]; 6143 } 6144 6145 /** 6146 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6147 * @param event packet 6148 * @return acl_handle 6149 * @note: btstack_type H 6150 */ 6151 static inline hci_con_handle_t hfp_subevent_ag_indicator_status_changed_get_acl_handle(const uint8_t * event){ 6152 return little_endian_read_16(event, 3); 6153 } 6154 /** 6155 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6156 * @param event packet 6157 * @return indicator_index 6158 * @note: btstack_type 1 6159 */ 6160 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 6161 return event[5]; 6162 } 6163 /** 6164 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6165 * @param event packet 6166 * @return indicator_status 6167 * @note: btstack_type 1 6168 */ 6169 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 6170 return event[6]; 6171 } 6172 /** 6173 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6174 * @param event packet 6175 * @return indicator_min_range 6176 * @note: btstack_type 1 6177 */ 6178 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 6179 return event[7]; 6180 } 6181 /** 6182 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6183 * @param event packet 6184 * @return indicator_max_range 6185 * @note: btstack_type 1 6186 */ 6187 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 6188 return event[8]; 6189 } 6190 /** 6191 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6192 * @param event packet 6193 * @return indicator_mandatory 6194 * @note: btstack_type 1 6195 */ 6196 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 6197 return event[9]; 6198 } 6199 /** 6200 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6201 * @param event packet 6202 * @return indicator_enabled 6203 * @note: btstack_type 1 6204 */ 6205 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 6206 return event[10]; 6207 } 6208 /** 6209 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6210 * @param event packet 6211 * @return indicator_status_changed 6212 * @note: btstack_type 1 6213 */ 6214 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 6215 return event[11]; 6216 } 6217 /** 6218 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6219 * @param event packet 6220 * @return indicator_name 6221 * @note: btstack_type T 6222 */ 6223 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 6224 return (const char *) &event[12]; 6225 } 6226 6227 /** 6228 * @brief Get field acl_handle from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6229 * @param event packet 6230 * @return acl_handle 6231 * @note: btstack_type H 6232 */ 6233 static inline hci_con_handle_t hfp_subevent_network_operator_changed_get_acl_handle(const uint8_t * event){ 6234 return little_endian_read_16(event, 3); 6235 } 6236 /** 6237 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6238 * @param event packet 6239 * @return network_operator_mode 6240 * @note: btstack_type 1 6241 */ 6242 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 6243 return event[5]; 6244 } 6245 /** 6246 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6247 * @param event packet 6248 * @return network_operator_format 6249 * @note: btstack_type 1 6250 */ 6251 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 6252 return event[6]; 6253 } 6254 /** 6255 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6256 * @param event packet 6257 * @return network_operator_name 6258 * @note: btstack_type T 6259 */ 6260 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 6261 return (const char *) &event[7]; 6262 } 6263 6264 /** 6265 * @brief Get field acl_handle from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6266 * @param event packet 6267 * @return acl_handle 6268 * @note: btstack_type H 6269 */ 6270 static inline hci_con_handle_t hfp_subevent_extended_audio_gateway_error_get_acl_handle(const uint8_t * event){ 6271 return little_endian_read_16(event, 3); 6272 } 6273 /** 6274 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6275 * @param event packet 6276 * @return error 6277 * @note: btstack_type 1 6278 */ 6279 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 6280 return event[5]; 6281 } 6282 6283 /** 6284 * @brief Get field acl_handle from event HFP_SUBEVENT_START_RINGING 6285 * @param event packet 6286 * @return acl_handle 6287 * @note: btstack_type H 6288 */ 6289 static inline hci_con_handle_t hfp_subevent_start_ringing_get_acl_handle(const uint8_t * event){ 6290 return little_endian_read_16(event, 3); 6291 } 6292 6293 /** 6294 * @brief Get field acl_handle from event HFP_SUBEVENT_RING 6295 * @param event packet 6296 * @return acl_handle 6297 * @note: btstack_type H 6298 */ 6299 static inline hci_con_handle_t hfp_subevent_ring_get_acl_handle(const uint8_t * event){ 6300 return little_endian_read_16(event, 3); 6301 } 6302 6303 /** 6304 * @brief Get field acl_handle from event HFP_SUBEVENT_STOP_RINGING 6305 * @param event packet 6306 * @return acl_handle 6307 * @note: btstack_type H 6308 */ 6309 static inline hci_con_handle_t hfp_subevent_stop_ringing_get_acl_handle(const uint8_t * event){ 6310 return little_endian_read_16(event, 3); 6311 } 6312 6313 /** 6314 * @brief Get field acl_handle from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6315 * @param event packet 6316 * @return acl_handle 6317 * @note: btstack_type H 6318 */ 6319 static inline hci_con_handle_t hfp_subevent_place_call_with_number_get_acl_handle(const uint8_t * event){ 6320 return little_endian_read_16(event, 3); 6321 } 6322 /** 6323 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6324 * @param event packet 6325 * @return number 6326 * @note: btstack_type T 6327 */ 6328 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 6329 return (const char *) &event[5]; 6330 } 6331 6332 /** 6333 * @brief Get field acl_handle from event HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 6334 * @param event packet 6335 * @return acl_handle 6336 * @note: btstack_type H 6337 */ 6338 static inline hci_con_handle_t hfp_subevent_attach_number_to_voice_tag_get_acl_handle(const uint8_t * event){ 6339 return little_endian_read_16(event, 3); 6340 } 6341 6342 /** 6343 * @brief Get field acl_handle from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6344 * @param event packet 6345 * @return acl_handle 6346 * @note: btstack_type H 6347 */ 6348 static inline hci_con_handle_t hfp_subevent_number_for_voice_tag_get_acl_handle(const uint8_t * event){ 6349 return little_endian_read_16(event, 3); 6350 } 6351 /** 6352 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6353 * @param event packet 6354 * @return number 6355 * @note: btstack_type T 6356 */ 6357 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 6358 return (const char *) &event[5]; 6359 } 6360 6361 /** 6362 * @brief Get field acl_handle from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 6363 * @param event packet 6364 * @return acl_handle 6365 * @note: btstack_type H 6366 */ 6367 static inline hci_con_handle_t hfp_subevent_transmit_dtmf_codes_get_acl_handle(const uint8_t * event){ 6368 return little_endian_read_16(event, 3); 6369 } 6370 /** 6371 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 6372 * @param event packet 6373 * @return dtmf 6374 * @note: btstack_type T 6375 */ 6376 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 6377 return (const char *) &event[5]; 6378 } 6379 6380 /** 6381 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_ANSWERED 6382 * @param event packet 6383 * @return acl_handle 6384 * @note: btstack_type H 6385 */ 6386 static inline hci_con_handle_t hfp_subevent_call_answered_get_acl_handle(const uint8_t * event){ 6387 return little_endian_read_16(event, 3); 6388 } 6389 6390 /** 6391 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_TERMINATED 6392 * @param event packet 6393 * @return acl_handle 6394 * @note: btstack_type H 6395 */ 6396 static inline hci_con_handle_t hfp_subevent_call_terminated_get_acl_handle(const uint8_t * event){ 6397 return little_endian_read_16(event, 3); 6398 } 6399 6400 /** 6401 * @brief Get field acl_handle from event HFP_SUBEVENT_CONFERENCE_CALL 6402 * @param event packet 6403 * @return acl_handle 6404 * @note: btstack_type H 6405 */ 6406 static inline hci_con_handle_t hfp_subevent_conference_call_get_acl_handle(const uint8_t * event){ 6407 return little_endian_read_16(event, 3); 6408 } 6409 6410 /** 6411 * @brief Get field acl_handle from event HFP_SUBEVENT_SPEAKER_VOLUME 6412 * @param event packet 6413 * @return acl_handle 6414 * @note: btstack_type H 6415 */ 6416 static inline hci_con_handle_t hfp_subevent_speaker_volume_get_acl_handle(const uint8_t * event){ 6417 return little_endian_read_16(event, 3); 6418 } 6419 /** 6420 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 6421 * @param event packet 6422 * @return gain 6423 * @note: btstack_type 1 6424 */ 6425 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 6426 return event[5]; 6427 } 6428 6429 /** 6430 * @brief Get field acl_handle from event HFP_SUBEVENT_MICROPHONE_VOLUME 6431 * @param event packet 6432 * @return acl_handle 6433 * @note: btstack_type H 6434 */ 6435 static inline hci_con_handle_t hfp_subevent_microphone_volume_get_acl_handle(const uint8_t * event){ 6436 return little_endian_read_16(event, 3); 6437 } 6438 /** 6439 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 6440 * @param event packet 6441 * @return gain 6442 * @note: btstack_type 1 6443 */ 6444 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 6445 return event[5]; 6446 } 6447 6448 /** 6449 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6450 * @param event packet 6451 * @return acl_handle 6452 * @note: btstack_type H 6453 */ 6454 static inline hci_con_handle_t hfp_subevent_call_waiting_notification_get_acl_handle(const uint8_t * event){ 6455 return little_endian_read_16(event, 3); 6456 } 6457 /** 6458 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6459 * @param event packet 6460 * @return type 6461 * @note: btstack_type 1 6462 */ 6463 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 6464 return event[5]; 6465 } 6466 /** 6467 * @brief Get field number_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6468 * @param event packet 6469 * @return number_length 6470 * @note: btstack_type J 6471 */ 6472 static inline uint8_t hfp_subevent_call_waiting_notification_get_number_length(const uint8_t * event){ 6473 return event[6]; 6474 } 6475 /** 6476 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6477 * @param event packet 6478 * @return number 6479 * @note: btstack_type V 6480 */ 6481 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 6482 return &event[7]; 6483 } 6484 /** 6485 * @brief Get field alpha_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6486 * @param event packet 6487 * @return alpha_length 6488 * @note: btstack_type J 6489 */ 6490 static inline uint8_t hfp_subevent_call_waiting_notification_get_alpha_length(const uint8_t * event){ 6491 return event[7u + event[6]]; 6492 } 6493 /** 6494 * @brief Get field alpha from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6495 * @param event packet 6496 * @return alpha 6497 * @note: btstack_type V 6498 */ 6499 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_alpha(const uint8_t * event){ 6500 return &event[7u + event[6] + 1u]; 6501 } 6502 6503 /** 6504 * @brief Get field acl_handle from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6505 * @param event packet 6506 * @return acl_handle 6507 * @note: btstack_type H 6508 */ 6509 static inline hci_con_handle_t hfp_subevent_calling_line_identification_notification_get_acl_handle(const uint8_t * event){ 6510 return little_endian_read_16(event, 3); 6511 } 6512 /** 6513 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6514 * @param event packet 6515 * @return type 6516 * @note: btstack_type 1 6517 */ 6518 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 6519 return event[5]; 6520 } 6521 /** 6522 * @brief Get field number_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6523 * @param event packet 6524 * @return number_length 6525 * @note: btstack_type J 6526 */ 6527 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_number_length(const uint8_t * event){ 6528 return event[6]; 6529 } 6530 /** 6531 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6532 * @param event packet 6533 * @return number 6534 * @note: btstack_type V 6535 */ 6536 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 6537 return &event[7]; 6538 } 6539 /** 6540 * @brief Get field alpha_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6541 * @param event packet 6542 * @return alpha_length 6543 * @note: btstack_type J 6544 */ 6545 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_alpha_length(const uint8_t * event){ 6546 return event[7u + event[6]]; 6547 } 6548 /** 6549 * @brief Get field alpha from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6550 * @param event packet 6551 * @return alpha 6552 * @note: btstack_type V 6553 */ 6554 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_alpha(const uint8_t * event){ 6555 return &event[7u + event[6] + 1u]; 6556 } 6557 6558 /** 6559 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6560 * @param event packet 6561 * @return acl_handle 6562 * @note: btstack_type H 6563 */ 6564 static inline hci_con_handle_t hfp_subevent_enhanced_call_status_get_acl_handle(const uint8_t * event){ 6565 return little_endian_read_16(event, 3); 6566 } 6567 /** 6568 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6569 * @param event packet 6570 * @return clcc_idx 6571 * @note: btstack_type 1 6572 */ 6573 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 6574 return event[5]; 6575 } 6576 /** 6577 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6578 * @param event packet 6579 * @return clcc_dir 6580 * @note: btstack_type 1 6581 */ 6582 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 6583 return event[6]; 6584 } 6585 /** 6586 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6587 * @param event packet 6588 * @return clcc_status 6589 * @note: btstack_type 1 6590 */ 6591 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 6592 return event[7]; 6593 } 6594 /** 6595 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6596 * @param event packet 6597 * @return clcc_mode 6598 * @note: btstack_type 1 6599 */ 6600 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 6601 return event[8]; 6602 } 6603 /** 6604 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6605 * @param event packet 6606 * @return clcc_mpty 6607 * @note: btstack_type 1 6608 */ 6609 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 6610 return event[9]; 6611 } 6612 /** 6613 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6614 * @param event packet 6615 * @return bnip_type 6616 * @note: btstack_type 1 6617 */ 6618 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 6619 return event[10]; 6620 } 6621 /** 6622 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6623 * @param event packet 6624 * @return bnip_number 6625 * @note: btstack_type T 6626 */ 6627 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 6628 return (const char *) &event[11]; 6629 } 6630 6631 /** 6632 * @brief Get field acl_handle from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 6633 * @param event packet 6634 * @return acl_handle 6635 * @note: btstack_type H 6636 */ 6637 static inline hci_con_handle_t hfp_subevent_subscriber_number_information_get_acl_handle(const uint8_t * event){ 6638 return little_endian_read_16(event, 3); 6639 } 6640 /** 6641 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 6642 * @param event packet 6643 * @return status 6644 * @note: btstack_type 1 6645 */ 6646 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 6647 return event[5]; 6648 } 6649 /** 6650 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 6651 * @param event packet 6652 * @return bnip_type 6653 * @note: btstack_type 1 6654 */ 6655 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 6656 return event[6]; 6657 } 6658 /** 6659 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 6660 * @param event packet 6661 * @return bnip_number 6662 * @note: btstack_type T 6663 */ 6664 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 6665 return (const char *) &event[7]; 6666 } 6667 6668 /** 6669 * @brief Get field acl_handle from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 6670 * @param event packet 6671 * @return acl_handle 6672 * @note: btstack_type H 6673 */ 6674 static inline hci_con_handle_t hfp_subevent_response_and_hold_status_get_acl_handle(const uint8_t * event){ 6675 return little_endian_read_16(event, 3); 6676 } 6677 /** 6678 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 6679 * @param event packet 6680 * @return value 6681 * @note: btstack_type T 6682 */ 6683 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 6684 return (const char *) &event[5]; 6685 } 6686 6687 /** 6688 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_SENT 6689 * @param event packet 6690 * @return acl_handle 6691 * @note: btstack_type H 6692 */ 6693 static inline hci_con_handle_t hfp_subevent_at_message_sent_get_acl_handle(const uint8_t * event){ 6694 return little_endian_read_16(event, 3); 6695 } 6696 /** 6697 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_SENT 6698 * @param event packet 6699 * @return command 6700 * @note: btstack_type T 6701 */ 6702 static inline const char * hfp_subevent_at_message_sent_get_command(const uint8_t * event){ 6703 return (const char *) &event[5]; 6704 } 6705 6706 /** 6707 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 6708 * @param event packet 6709 * @return acl_handle 6710 * @note: btstack_type H 6711 */ 6712 static inline hci_con_handle_t hfp_subevent_at_message_received_get_acl_handle(const uint8_t * event){ 6713 return little_endian_read_16(event, 3); 6714 } 6715 /** 6716 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 6717 * @param event packet 6718 * @return command 6719 * @note: btstack_type T 6720 */ 6721 static inline const char * hfp_subevent_at_message_received_get_command(const uint8_t * event){ 6722 return (const char *) &event[5]; 6723 } 6724 6725 /** 6726 * @brief Get field acl_handle from event HFP_SUBEVENT_IN_BAND_RING_TONE 6727 * @param event packet 6728 * @return acl_handle 6729 * @note: btstack_type H 6730 */ 6731 static inline hci_con_handle_t hfp_subevent_in_band_ring_tone_get_acl_handle(const uint8_t * event){ 6732 return little_endian_read_16(event, 3); 6733 } 6734 /** 6735 * @brief Get field status from event HFP_SUBEVENT_IN_BAND_RING_TONE 6736 * @param event packet 6737 * @return status 6738 * @note: btstack_type 1 6739 */ 6740 static inline uint8_t hfp_subevent_in_band_ring_tone_get_status(const uint8_t * event){ 6741 return event[5]; 6742 } 6743 6744 /** 6745 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 6746 * @param event packet 6747 * @return acl_handle 6748 * @note: btstack_type H 6749 */ 6750 static inline hci_con_handle_t hfp_subevent_voice_recognition_activated_get_acl_handle(const uint8_t * event){ 6751 return little_endian_read_16(event, 3); 6752 } 6753 /** 6754 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 6755 * @param event packet 6756 * @return status 6757 * @note: btstack_type 1 6758 */ 6759 static inline uint8_t hfp_subevent_voice_recognition_activated_get_status(const uint8_t * event){ 6760 return event[5]; 6761 } 6762 /** 6763 * @brief Get field enhanced from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 6764 * @param event packet 6765 * @return enhanced 6766 * @note: btstack_type 1 6767 */ 6768 static inline uint8_t hfp_subevent_voice_recognition_activated_get_enhanced(const uint8_t * event){ 6769 return event[6]; 6770 } 6771 6772 /** 6773 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 6774 * @param event packet 6775 * @return acl_handle 6776 * @note: btstack_type H 6777 */ 6778 static inline hci_con_handle_t hfp_subevent_voice_recognition_deactivated_get_acl_handle(const uint8_t * event){ 6779 return little_endian_read_16(event, 3); 6780 } 6781 /** 6782 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 6783 * @param event packet 6784 * @return status 6785 * @note: btstack_type 1 6786 */ 6787 static inline uint8_t hfp_subevent_voice_recognition_deactivated_get_status(const uint8_t * event){ 6788 return event[5]; 6789 } 6790 6791 /** 6792 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 6793 * @param event packet 6794 * @return acl_handle 6795 * @note: btstack_type H 6796 */ 6797 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_acl_handle(const uint8_t * event){ 6798 return little_endian_read_16(event, 3); 6799 } 6800 /** 6801 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 6802 * @param event packet 6803 * @return status 6804 * @note: btstack_type 1 6805 */ 6806 static inline uint8_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_status(const uint8_t * event){ 6807 return event[5]; 6808 } 6809 6810 /** 6811 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 6812 * @param event packet 6813 * @return acl_handle 6814 * @note: btstack_type H 6815 */ 6816 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_acl_handle(const uint8_t * event){ 6817 return little_endian_read_16(event, 3); 6818 } 6819 /** 6820 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 6821 * @param event packet 6822 * @return status 6823 * @note: btstack_type 1 6824 */ 6825 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_status(const uint8_t * event){ 6826 return event[5]; 6827 } 6828 6829 /** 6830 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 6831 * @param event packet 6832 * @return acl_handle 6833 * @note: btstack_type H 6834 */ 6835 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_acl_handle(const uint8_t * event){ 6836 return little_endian_read_16(event, 3); 6837 } 6838 /** 6839 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 6840 * @param event packet 6841 * @return status 6842 * @note: btstack_type 1 6843 */ 6844 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_status(const uint8_t * event){ 6845 return event[5]; 6846 } 6847 6848 /** 6849 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 6850 * @param event packet 6851 * @return acl_handle 6852 * @note: btstack_type H 6853 */ 6854 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_acl_handle(const uint8_t * event){ 6855 return little_endian_read_16(event, 3); 6856 } 6857 /** 6858 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 6859 * @param event packet 6860 * @return status 6861 * @note: btstack_type 1 6862 */ 6863 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_status(const uint8_t * event){ 6864 return event[5]; 6865 } 6866 6867 /** 6868 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 6869 * @param event packet 6870 * @return acl_handle 6871 * @note: btstack_type H 6872 */ 6873 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_acl_handle(const uint8_t * event){ 6874 return little_endian_read_16(event, 3); 6875 } 6876 /** 6877 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 6878 * @param event packet 6879 * @return status 6880 * @note: btstack_type 1 6881 */ 6882 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_status(const uint8_t * event){ 6883 return event[5]; 6884 } 6885 6886 /** 6887 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 6888 * @param event packet 6889 * @return acl_handle 6890 * @note: btstack_type H 6891 */ 6892 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_get_acl_handle(const uint8_t * event){ 6893 return little_endian_read_16(event, 3); 6894 } 6895 /** 6896 * @brief Get field text_id from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 6897 * @param event packet 6898 * @return text_id 6899 * @note: btstack_type 2 6900 */ 6901 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_id(const uint8_t * event){ 6902 return little_endian_read_16(event, 5); 6903 } 6904 /** 6905 * @brief Get field text_type from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 6906 * @param event packet 6907 * @return text_type 6908 * @note: btstack_type 1 6909 */ 6910 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_type(const uint8_t * event){ 6911 return event[7]; 6912 } 6913 /** 6914 * @brief Get field text_operation from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 6915 * @param event packet 6916 * @return text_operation 6917 * @note: btstack_type 1 6918 */ 6919 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_operation(const uint8_t * event){ 6920 return event[8]; 6921 } 6922 /** 6923 * @brief Get field text_length from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 6924 * @param event packet 6925 * @return text_length 6926 * @note: btstack_type L 6927 */ 6928 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_length(const uint8_t * event){ 6929 return little_endian_read_16(event, 9); 6930 } 6931 /** 6932 * @brief Get field text from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 6933 * @param event packet 6934 * @return text 6935 * @note: btstack_type V 6936 */ 6937 static inline const uint8_t * hfp_subevent_enhanced_voice_recognition_ag_message_get_text(const uint8_t * event){ 6938 return &event[11]; 6939 } 6940 6941 /** 6942 * @brief Get field acl_handle from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 6943 * @param event packet 6944 * @return acl_handle 6945 * @note: btstack_type H 6946 */ 6947 static inline hci_con_handle_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_acl_handle(const uint8_t * event){ 6948 return little_endian_read_16(event, 3); 6949 } 6950 /** 6951 * @brief Get field status from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 6952 * @param event packet 6953 * @return status 6954 * @note: btstack_type 1 6955 */ 6956 static inline uint8_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_status(const uint8_t * event){ 6957 return event[5]; 6958 } 6959 6960 /** 6961 * @brief Get field acl_handle from event HFP_SUBEVENT_HF_INDICATOR 6962 * @param event packet 6963 * @return acl_handle 6964 * @note: btstack_type H 6965 */ 6966 static inline hci_con_handle_t hfp_subevent_hf_indicator_get_acl_handle(const uint8_t * event){ 6967 return little_endian_read_16(event, 3); 6968 } 6969 /** 6970 * @brief Get field uuid from event HFP_SUBEVENT_HF_INDICATOR 6971 * @param event packet 6972 * @return uuid 6973 * @note: btstack_type 2 6974 */ 6975 static inline uint16_t hfp_subevent_hf_indicator_get_uuid(const uint8_t * event){ 6976 return little_endian_read_16(event, 5); 6977 } 6978 /** 6979 * @brief Get field value from event HFP_SUBEVENT_HF_INDICATOR 6980 * @param event packet 6981 * @return value 6982 * @note: btstack_type 1 6983 */ 6984 static inline uint8_t hfp_subevent_hf_indicator_get_value(const uint8_t * event){ 6985 return event[7]; 6986 } 6987 6988 /** 6989 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 6990 * @param event packet 6991 * @return acl_handle 6992 * @note: btstack_type H 6993 */ 6994 static inline hci_con_handle_t hfp_subevent_custom_at_command_get_acl_handle(const uint8_t * event){ 6995 return little_endian_read_16(event, 3); 6996 } 6997 /** 6998 * @brief Get field command_id from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 6999 * @param event packet 7000 * @return command_id 7001 * @note: btstack_type 2 7002 */ 7003 static inline uint16_t hfp_subevent_custom_at_command_get_command_id(const uint8_t * event){ 7004 return little_endian_read_16(event, 5); 7005 } 7006 /** 7007 * @brief Get field command_string from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7008 * @param event packet 7009 * @return command_string 7010 * @note: btstack_type T 7011 */ 7012 static inline const char * hfp_subevent_custom_at_command_get_command_string(const uint8_t * event){ 7013 return (const char *) &event[7]; 7014 } 7015 7016 #ifdef ENABLE_BLE 7017 /** 7018 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 7019 * @param event packet 7020 * @return handle 7021 * @note: btstack_type H 7022 */ 7023 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 7024 return little_endian_read_16(event, 3); 7025 } 7026 #endif 7027 7028 #ifdef ENABLE_BLE 7029 /** 7030 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7031 * @param event packet 7032 * @return handle 7033 * @note: btstack_type H 7034 */ 7035 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 7036 return little_endian_read_16(event, 3); 7037 } 7038 /** 7039 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7040 * @param event packet 7041 * @return attribute_id 7042 * @note: btstack_type 2 7043 */ 7044 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 7045 return little_endian_read_16(event, 5); 7046 } 7047 /** 7048 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7049 * @param event packet 7050 * @return text 7051 * @note: btstack_type T 7052 */ 7053 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 7054 return (const char *) &event[7]; 7055 } 7056 #endif 7057 7058 #ifdef ENABLE_BLE 7059 /** 7060 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 7061 * @param event packet 7062 * @return handle 7063 * @note: btstack_type H 7064 */ 7065 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 7066 return little_endian_read_16(event, 3); 7067 } 7068 #endif 7069 7070 /** 7071 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7072 * @param event packet 7073 * @return avdtp_cid 7074 * @note: btstack_type 2 7075 */ 7076 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 7077 return little_endian_read_16(event, 3); 7078 } 7079 /** 7080 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7081 * @param event packet 7082 * @return local_seid 7083 * @note: btstack_type 1 7084 */ 7085 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 7086 return event[5]; 7087 } 7088 /** 7089 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7090 * @param event packet 7091 * @return is_initiator 7092 * @note: btstack_type 1 7093 */ 7094 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 7095 return event[6]; 7096 } 7097 /** 7098 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7099 * @param event packet 7100 * @return signal_identifier 7101 * @note: btstack_type 1 7102 */ 7103 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 7104 return event[7]; 7105 } 7106 7107 /** 7108 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7109 * @param event packet 7110 * @return avdtp_cid 7111 * @note: btstack_type 2 7112 */ 7113 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 7114 return little_endian_read_16(event, 3); 7115 } 7116 /** 7117 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7118 * @param event packet 7119 * @return local_seid 7120 * @note: btstack_type 1 7121 */ 7122 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 7123 return event[5]; 7124 } 7125 /** 7126 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 7127 * @param event packet 7128 * @return is_initiator 7129 * @note: btstack_type 1 7130 */ 7131 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 7132 return event[6]; 7133 } 7134 /** 7135 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 7136 * @param event packet 7137 * @return signal_identifier 7138 * @note: btstack_type 1 7139 */ 7140 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 7141 return event[7]; 7142 } 7143 7144 /** 7145 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7146 * @param event packet 7147 * @return avdtp_cid 7148 * @note: btstack_type 2 7149 */ 7150 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 7151 return little_endian_read_16(event, 3); 7152 } 7153 /** 7154 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7155 * @param event packet 7156 * @return local_seid 7157 * @note: btstack_type 1 7158 */ 7159 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 7160 return event[5]; 7161 } 7162 /** 7163 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7164 * @param event packet 7165 * @return is_initiator 7166 * @note: btstack_type 1 7167 */ 7168 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 7169 return event[6]; 7170 } 7171 /** 7172 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7173 * @param event packet 7174 * @return signal_identifier 7175 * @note: btstack_type 1 7176 */ 7177 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 7178 return event[7]; 7179 } 7180 7181 /** 7182 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7183 * @param event packet 7184 * @return avdtp_cid 7185 * @note: btstack_type 2 7186 */ 7187 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 7188 return little_endian_read_16(event, 3); 7189 } 7190 /** 7191 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7192 * @param event packet 7193 * @param Pointer to storage for bd_addr 7194 * @note: btstack_type B 7195 */ 7196 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7197 reverse_bytes(&event[5], bd_addr, 6); 7198 } 7199 /** 7200 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7201 * @param event packet 7202 * @return con_handle 7203 * @note: btstack_type 2 7204 */ 7205 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 7206 return little_endian_read_16(event, 11); 7207 } 7208 /** 7209 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7210 * @param event packet 7211 * @return status 7212 * @note: btstack_type 1 7213 */ 7214 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 7215 return event[13]; 7216 } 7217 7218 /** 7219 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 7220 * @param event packet 7221 * @return avdtp_cid 7222 * @note: btstack_type 2 7223 */ 7224 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 7225 return little_endian_read_16(event, 3); 7226 } 7227 7228 /** 7229 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7230 * @param event packet 7231 * @return avdtp_cid 7232 * @note: btstack_type 2 7233 */ 7234 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 7235 return little_endian_read_16(event, 3); 7236 } 7237 /** 7238 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7239 * @param event packet 7240 * @return remote_seid 7241 * @note: btstack_type 1 7242 */ 7243 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 7244 return event[5]; 7245 } 7246 /** 7247 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7248 * @param event packet 7249 * @return in_use 7250 * @note: btstack_type 1 7251 */ 7252 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 7253 return event[6]; 7254 } 7255 /** 7256 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7257 * @param event packet 7258 * @return media_type 7259 * @note: btstack_type 1 7260 */ 7261 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 7262 return event[7]; 7263 } 7264 /** 7265 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7266 * @param event packet 7267 * @return sep_type 7268 * @note: btstack_type 1 7269 */ 7270 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 7271 return event[8]; 7272 } 7273 7274 /** 7275 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7276 * @param event packet 7277 * @return avdtp_cid 7278 * @note: btstack_type 2 7279 */ 7280 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 7281 return little_endian_read_16(event, 3); 7282 } 7283 /** 7284 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7285 * @param event packet 7286 * @return remote_seid 7287 * @note: btstack_type 1 7288 */ 7289 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 7290 return event[5]; 7291 } 7292 /** 7293 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7294 * @param event packet 7295 * @return media_type 7296 * @note: btstack_type 1 7297 */ 7298 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 7299 return event[6]; 7300 } 7301 /** 7302 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7303 * @param event packet 7304 * @return sampling_frequency_bitmap 7305 * @note: btstack_type 1 7306 */ 7307 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7308 return event[7]; 7309 } 7310 /** 7311 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7312 * @param event packet 7313 * @return channel_mode_bitmap 7314 * @note: btstack_type 1 7315 */ 7316 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 7317 return event[8]; 7318 } 7319 /** 7320 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7321 * @param event packet 7322 * @return block_length_bitmap 7323 * @note: btstack_type 1 7324 */ 7325 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 7326 return event[9]; 7327 } 7328 /** 7329 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7330 * @param event packet 7331 * @return subbands_bitmap 7332 * @note: btstack_type 1 7333 */ 7334 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 7335 return event[10]; 7336 } 7337 /** 7338 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7339 * @param event packet 7340 * @return allocation_method_bitmap 7341 * @note: btstack_type 1 7342 */ 7343 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 7344 return event[11]; 7345 } 7346 /** 7347 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7348 * @param event packet 7349 * @return min_bitpool_value 7350 * @note: btstack_type 1 7351 */ 7352 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 7353 return event[12]; 7354 } 7355 /** 7356 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7357 * @param event packet 7358 * @return max_bitpool_value 7359 * @note: btstack_type 1 7360 */ 7361 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 7362 return event[13]; 7363 } 7364 7365 /** 7366 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7367 * @param event packet 7368 * @return avdtp_cid 7369 * @note: btstack_type 2 7370 */ 7371 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ 7372 return little_endian_read_16(event, 3); 7373 } 7374 /** 7375 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7376 * @param event packet 7377 * @return remote_seid 7378 * @note: btstack_type 1 7379 */ 7380 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 7381 return event[5]; 7382 } 7383 /** 7384 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7385 * @param event packet 7386 * @return media_type 7387 * @note: btstack_type 1 7388 */ 7389 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 7390 return event[6]; 7391 } 7392 /** 7393 * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7394 * @param event packet 7395 * @return layer_bitmap 7396 * @note: btstack_type 1 7397 */ 7398 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 7399 return event[7]; 7400 } 7401 /** 7402 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7403 * @param event packet 7404 * @return crc 7405 * @note: btstack_type 1 7406 */ 7407 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 7408 return event[8]; 7409 } 7410 /** 7411 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7412 * @param event packet 7413 * @return channel_mode_bitmap 7414 * @note: btstack_type 1 7415 */ 7416 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 7417 return event[9]; 7418 } 7419 /** 7420 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7421 * @param event packet 7422 * @return media_payload_format 7423 * @note: btstack_type 1 7424 */ 7425 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 7426 return event[10]; 7427 } 7428 /** 7429 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7430 * @param event packet 7431 * @return sampling_frequency_bitmap 7432 * @note: btstack_type 1 7433 */ 7434 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7435 return event[11]; 7436 } 7437 /** 7438 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7439 * @param event packet 7440 * @return vbr 7441 * @note: btstack_type 1 7442 */ 7443 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 7444 return event[12]; 7445 } 7446 /** 7447 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7448 * @param event packet 7449 * @return bit_rate_index_bitmap 7450 * @note: btstack_type 2 7451 */ 7452 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 7453 return little_endian_read_16(event, 13); 7454 } 7455 7456 /** 7457 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7458 * @param event packet 7459 * @return avdtp_cid 7460 * @note: btstack_type 2 7461 */ 7462 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ 7463 return little_endian_read_16(event, 3); 7464 } 7465 /** 7466 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7467 * @param event packet 7468 * @return remote_seid 7469 * @note: btstack_type 1 7470 */ 7471 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 7472 return event[5]; 7473 } 7474 /** 7475 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7476 * @param event packet 7477 * @return media_type 7478 * @note: btstack_type 1 7479 */ 7480 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 7481 return event[6]; 7482 } 7483 /** 7484 * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7485 * @param event packet 7486 * @return object_type_bitmap 7487 * @note: btstack_type 1 7488 */ 7489 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 7490 return event[7]; 7491 } 7492 /** 7493 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7494 * @param event packet 7495 * @return sampling_frequency_bitmap 7496 * @note: btstack_type 2 7497 */ 7498 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7499 return little_endian_read_16(event, 8); 7500 } 7501 /** 7502 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7503 * @param event packet 7504 * @return channels_bitmap 7505 * @note: btstack_type 1 7506 */ 7507 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 7508 return event[10]; 7509 } 7510 /** 7511 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7512 * @param event packet 7513 * @return bit_rate 7514 * @note: btstack_type 3 7515 */ 7516 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 7517 return little_endian_read_24(event, 11); 7518 } 7519 /** 7520 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7521 * @param event packet 7522 * @return vbr 7523 * @note: btstack_type 1 7524 */ 7525 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 7526 return event[14]; 7527 } 7528 7529 /** 7530 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7531 * @param event packet 7532 * @return avdtp_cid 7533 * @note: btstack_type 2 7534 */ 7535 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ 7536 return little_endian_read_16(event, 3); 7537 } 7538 /** 7539 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7540 * @param event packet 7541 * @return remote_seid 7542 * @note: btstack_type 1 7543 */ 7544 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 7545 return event[5]; 7546 } 7547 /** 7548 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7549 * @param event packet 7550 * @return media_type 7551 * @note: btstack_type 1 7552 */ 7553 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 7554 return event[6]; 7555 } 7556 /** 7557 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7558 * @param event packet 7559 * @return version 7560 * @note: btstack_type 1 7561 */ 7562 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 7563 return event[7]; 7564 } 7565 /** 7566 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7567 * @param event packet 7568 * @return channel_mode_bitmap 7569 * @note: btstack_type 1 7570 */ 7571 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 7572 return event[8]; 7573 } 7574 /** 7575 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7576 * @param event packet 7577 * @return sampling_frequency_bitmap 7578 * @note: btstack_type 1 7579 */ 7580 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7581 return event[9]; 7582 } 7583 /** 7584 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7585 * @param event packet 7586 * @return vbr 7587 * @note: btstack_type 1 7588 */ 7589 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 7590 return event[10]; 7591 } 7592 /** 7593 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7594 * @param event packet 7595 * @return bit_rate_index_bitmap 7596 * @note: btstack_type 3 7597 */ 7598 static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 7599 return little_endian_read_24(event, 11); 7600 } 7601 /** 7602 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7603 * @param event packet 7604 * @return maximum_sul 7605 * @note: btstack_type 2 7606 */ 7607 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 7608 return little_endian_read_16(event, 14); 7609 } 7610 7611 /** 7612 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7613 * @param event packet 7614 * @return avdtp_cid 7615 * @note: btstack_type 2 7616 */ 7617 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 7618 return little_endian_read_16(event, 3); 7619 } 7620 /** 7621 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7622 * @param event packet 7623 * @return remote_seid 7624 * @note: btstack_type 1 7625 */ 7626 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 7627 return event[5]; 7628 } 7629 /** 7630 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7631 * @param event packet 7632 * @return media_type 7633 * @note: btstack_type 1 7634 */ 7635 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 7636 return event[6]; 7637 } 7638 /** 7639 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7640 * @param event packet 7641 * @return media_codec_type 7642 * @note: btstack_type 2 7643 */ 7644 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 7645 return little_endian_read_16(event, 7); 7646 } 7647 /** 7648 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7649 * @param event packet 7650 * @return media_codec_information_len 7651 * @note: btstack_type L 7652 */ 7653 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 7654 return little_endian_read_16(event, 9); 7655 } 7656 /** 7657 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7658 * @param event packet 7659 * @return media_codec_information 7660 * @note: btstack_type V 7661 */ 7662 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 7663 return &event[11]; 7664 } 7665 7666 /** 7667 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 7668 * @param event packet 7669 * @return avdtp_cid 7670 * @note: btstack_type 2 7671 */ 7672 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 7673 return little_endian_read_16(event, 3); 7674 } 7675 /** 7676 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 7677 * @param event packet 7678 * @return remote_seid 7679 * @note: btstack_type 1 7680 */ 7681 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 7682 return event[5]; 7683 } 7684 7685 /** 7686 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 7687 * @param event packet 7688 * @return avdtp_cid 7689 * @note: btstack_type 2 7690 */ 7691 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 7692 return little_endian_read_16(event, 3); 7693 } 7694 /** 7695 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 7696 * @param event packet 7697 * @return remote_seid 7698 * @note: btstack_type 1 7699 */ 7700 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 7701 return event[5]; 7702 } 7703 7704 /** 7705 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 7706 * @param event packet 7707 * @return avdtp_cid 7708 * @note: btstack_type 2 7709 */ 7710 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 7711 return little_endian_read_16(event, 3); 7712 } 7713 /** 7714 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 7715 * @param event packet 7716 * @return remote_seid 7717 * @note: btstack_type 1 7718 */ 7719 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 7720 return event[5]; 7721 } 7722 /** 7723 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 7724 * @param event packet 7725 * @return recovery_type 7726 * @note: btstack_type 1 7727 */ 7728 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 7729 return event[6]; 7730 } 7731 /** 7732 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 7733 * @param event packet 7734 * @return maximum_recovery_window_size 7735 * @note: btstack_type 1 7736 */ 7737 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 7738 return event[7]; 7739 } 7740 /** 7741 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 7742 * @param event packet 7743 * @return maximum_number_media_packets 7744 * @note: btstack_type 1 7745 */ 7746 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 7747 return event[8]; 7748 } 7749 7750 /** 7751 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 7752 * @param event packet 7753 * @return avdtp_cid 7754 * @note: btstack_type 2 7755 */ 7756 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 7757 return little_endian_read_16(event, 3); 7758 } 7759 /** 7760 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 7761 * @param event packet 7762 * @return remote_seid 7763 * @note: btstack_type 1 7764 */ 7765 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 7766 return event[5]; 7767 } 7768 /** 7769 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 7770 * @param event packet 7771 * @return cp_type 7772 * @note: btstack_type 2 7773 */ 7774 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 7775 return little_endian_read_16(event, 6); 7776 } 7777 /** 7778 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 7779 * @param event packet 7780 * @return cp_type_value_len 7781 * @note: btstack_type L 7782 */ 7783 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 7784 return little_endian_read_16(event, 8); 7785 } 7786 /** 7787 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 7788 * @param event packet 7789 * @return cp_type_value 7790 * @note: btstack_type V 7791 */ 7792 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 7793 return &event[10]; 7794 } 7795 7796 /** 7797 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7798 * @param event packet 7799 * @return avdtp_cid 7800 * @note: btstack_type 2 7801 */ 7802 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 7803 return little_endian_read_16(event, 3); 7804 } 7805 /** 7806 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7807 * @param event packet 7808 * @return remote_seid 7809 * @note: btstack_type 1 7810 */ 7811 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 7812 return event[5]; 7813 } 7814 /** 7815 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7816 * @param event packet 7817 * @return fragmentation 7818 * @note: btstack_type 1 7819 */ 7820 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 7821 return event[6]; 7822 } 7823 /** 7824 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7825 * @param event packet 7826 * @return transport_identifiers_num 7827 * @note: btstack_type 1 7828 */ 7829 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 7830 return event[7]; 7831 } 7832 /** 7833 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7834 * @param event packet 7835 * @return transport_session_identifier_1 7836 * @note: btstack_type 1 7837 */ 7838 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 7839 return event[8]; 7840 } 7841 /** 7842 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7843 * @param event packet 7844 * @return transport_session_identifier_2 7845 * @note: btstack_type 1 7846 */ 7847 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 7848 return event[9]; 7849 } 7850 /** 7851 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7852 * @param event packet 7853 * @return transport_session_identifier_3 7854 * @note: btstack_type 1 7855 */ 7856 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 7857 return event[10]; 7858 } 7859 /** 7860 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7861 * @param event packet 7862 * @return tcid_1 7863 * @note: btstack_type 1 7864 */ 7865 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 7866 return event[11]; 7867 } 7868 /** 7869 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7870 * @param event packet 7871 * @return tcid_2 7872 * @note: btstack_type 1 7873 */ 7874 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 7875 return event[12]; 7876 } 7877 /** 7878 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7879 * @param event packet 7880 * @return tcid_3 7881 * @note: btstack_type 1 7882 */ 7883 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 7884 return event[13]; 7885 } 7886 7887 /** 7888 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 7889 * @param event packet 7890 * @return avdtp_cid 7891 * @note: btstack_type 2 7892 */ 7893 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 7894 return little_endian_read_16(event, 3); 7895 } 7896 /** 7897 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 7898 * @param event packet 7899 * @return remote_seid 7900 * @note: btstack_type 1 7901 */ 7902 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 7903 return event[5]; 7904 } 7905 7906 /** 7907 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 7908 * @param event packet 7909 * @return avdtp_cid 7910 * @note: btstack_type 2 7911 */ 7912 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 7913 return little_endian_read_16(event, 3); 7914 } 7915 /** 7916 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 7917 * @param event packet 7918 * @return remote_seid 7919 * @note: btstack_type 1 7920 */ 7921 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 7922 return event[5]; 7923 } 7924 /** 7925 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 7926 * @param event packet 7927 * @return back_ch 7928 * @note: btstack_type 1 7929 */ 7930 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 7931 return event[6]; 7932 } 7933 /** 7934 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 7935 * @param event packet 7936 * @return media 7937 * @note: btstack_type 1 7938 */ 7939 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 7940 return event[7]; 7941 } 7942 /** 7943 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 7944 * @param event packet 7945 * @return recovery 7946 * @note: btstack_type 1 7947 */ 7948 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 7949 return event[8]; 7950 } 7951 7952 /** 7953 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 7954 * @param event packet 7955 * @return avdtp_cid 7956 * @note: btstack_type 2 7957 */ 7958 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 7959 return little_endian_read_16(event, 3); 7960 } 7961 /** 7962 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 7963 * @param event packet 7964 * @return remote_seid 7965 * @note: btstack_type 1 7966 */ 7967 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 7968 return event[5]; 7969 } 7970 7971 /** 7972 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 7973 * @param event packet 7974 * @return avdtp_cid 7975 * @note: btstack_type 2 7976 */ 7977 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 7978 return little_endian_read_16(event, 3); 7979 } 7980 /** 7981 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 7982 * @param event packet 7983 * @return local_seid 7984 * @note: btstack_type 1 7985 */ 7986 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 7987 return event[5]; 7988 } 7989 /** 7990 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 7991 * @param event packet 7992 * @return remote_seid 7993 * @note: btstack_type 1 7994 */ 7995 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 7996 return event[6]; 7997 } 7998 /** 7999 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8000 * @param event packet 8001 * @return reconfigure 8002 * @note: btstack_type 1 8003 */ 8004 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 8005 return event[7]; 8006 } 8007 /** 8008 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8009 * @param event packet 8010 * @return media_type 8011 * @note: btstack_type 1 8012 */ 8013 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 8014 return event[8]; 8015 } 8016 /** 8017 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8018 * @param event packet 8019 * @return sampling_frequency 8020 * @note: btstack_type 2 8021 */ 8022 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 8023 return little_endian_read_16(event, 9); 8024 } 8025 /** 8026 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8027 * @param event packet 8028 * @return channel_mode 8029 * @note: btstack_type 1 8030 */ 8031 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 8032 return event[11]; 8033 } 8034 /** 8035 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8036 * @param event packet 8037 * @return num_channels 8038 * @note: btstack_type 1 8039 */ 8040 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 8041 return event[12]; 8042 } 8043 /** 8044 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8045 * @param event packet 8046 * @return block_length 8047 * @note: btstack_type 1 8048 */ 8049 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 8050 return event[13]; 8051 } 8052 /** 8053 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8054 * @param event packet 8055 * @return subbands 8056 * @note: btstack_type 1 8057 */ 8058 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 8059 return event[14]; 8060 } 8061 /** 8062 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8063 * @param event packet 8064 * @return allocation_method 8065 * @note: btstack_type 1 8066 */ 8067 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 8068 return event[15]; 8069 } 8070 /** 8071 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8072 * @param event packet 8073 * @return min_bitpool_value 8074 * @note: btstack_type 1 8075 */ 8076 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 8077 return event[16]; 8078 } 8079 /** 8080 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8081 * @param event packet 8082 * @return max_bitpool_value 8083 * @note: btstack_type 1 8084 */ 8085 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 8086 return event[17]; 8087 } 8088 8089 /** 8090 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8091 * @param event packet 8092 * @return avdtp_cid 8093 * @note: btstack_type 2 8094 */ 8095 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ 8096 return little_endian_read_16(event, 3); 8097 } 8098 /** 8099 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8100 * @param event packet 8101 * @return local_seid 8102 * @note: btstack_type 1 8103 */ 8104 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 8105 return event[5]; 8106 } 8107 /** 8108 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8109 * @param event packet 8110 * @return remote_seid 8111 * @note: btstack_type 1 8112 */ 8113 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 8114 return event[6]; 8115 } 8116 /** 8117 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8118 * @param event packet 8119 * @return reconfigure 8120 * @note: btstack_type 1 8121 */ 8122 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 8123 return event[7]; 8124 } 8125 /** 8126 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8127 * @param event packet 8128 * @return media_type 8129 * @note: btstack_type 1 8130 */ 8131 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 8132 return event[8]; 8133 } 8134 /** 8135 * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8136 * @param event packet 8137 * @return layer 8138 * @note: btstack_type 1 8139 */ 8140 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 8141 return event[9]; 8142 } 8143 /** 8144 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8145 * @param event packet 8146 * @return crc 8147 * @note: btstack_type 1 8148 */ 8149 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 8150 return event[10]; 8151 } 8152 /** 8153 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8154 * @param event packet 8155 * @return channel_mode 8156 * @note: btstack_type 1 8157 */ 8158 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 8159 return event[11]; 8160 } 8161 /** 8162 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8163 * @param event packet 8164 * @return num_channels 8165 * @note: btstack_type 1 8166 */ 8167 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 8168 return event[12]; 8169 } 8170 /** 8171 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8172 * @param event packet 8173 * @return media_payload_format 8174 * @note: btstack_type 1 8175 */ 8176 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 8177 return event[13]; 8178 } 8179 /** 8180 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8181 * @param event packet 8182 * @return sampling_frequency 8183 * @note: btstack_type 2 8184 */ 8185 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 8186 return little_endian_read_16(event, 14); 8187 } 8188 /** 8189 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8190 * @param event packet 8191 * @return vbr 8192 * @note: btstack_type 1 8193 */ 8194 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 8195 return event[16]; 8196 } 8197 /** 8198 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8199 * @param event packet 8200 * @return bit_rate_index 8201 * @note: btstack_type 1 8202 */ 8203 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 8204 return event[17]; 8205 } 8206 8207 /** 8208 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8209 * @param event packet 8210 * @return avdtp_cid 8211 * @note: btstack_type 2 8212 */ 8213 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ 8214 return little_endian_read_16(event, 3); 8215 } 8216 /** 8217 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8218 * @param event packet 8219 * @return local_seid 8220 * @note: btstack_type 1 8221 */ 8222 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 8223 return event[5]; 8224 } 8225 /** 8226 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8227 * @param event packet 8228 * @return remote_seid 8229 * @note: btstack_type 1 8230 */ 8231 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 8232 return event[6]; 8233 } 8234 /** 8235 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8236 * @param event packet 8237 * @return reconfigure 8238 * @note: btstack_type 1 8239 */ 8240 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 8241 return event[7]; 8242 } 8243 /** 8244 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8245 * @param event packet 8246 * @return media_type 8247 * @note: btstack_type 1 8248 */ 8249 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 8250 return event[8]; 8251 } 8252 /** 8253 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8254 * @param event packet 8255 * @return object_type 8256 * @note: btstack_type 1 8257 */ 8258 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 8259 return event[9]; 8260 } 8261 /** 8262 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8263 * @param event packet 8264 * @return sampling_frequency 8265 * @note: btstack_type 3 8266 */ 8267 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 8268 return little_endian_read_24(event, 10); 8269 } 8270 /** 8271 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8272 * @param event packet 8273 * @return num_channels 8274 * @note: btstack_type 1 8275 */ 8276 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 8277 return event[13]; 8278 } 8279 /** 8280 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8281 * @param event packet 8282 * @return bit_rate 8283 * @note: btstack_type 3 8284 */ 8285 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 8286 return little_endian_read_24(event, 14); 8287 } 8288 /** 8289 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8290 * @param event packet 8291 * @return vbr 8292 * @note: btstack_type 1 8293 */ 8294 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 8295 return event[17]; 8296 } 8297 8298 /** 8299 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8300 * @param event packet 8301 * @return avdtp_cid 8302 * @note: btstack_type 2 8303 */ 8304 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ 8305 return little_endian_read_16(event, 3); 8306 } 8307 /** 8308 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8309 * @param event packet 8310 * @return local_seid 8311 * @note: btstack_type 1 8312 */ 8313 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 8314 return event[5]; 8315 } 8316 /** 8317 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8318 * @param event packet 8319 * @return remote_seid 8320 * @note: btstack_type 1 8321 */ 8322 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 8323 return event[6]; 8324 } 8325 /** 8326 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8327 * @param event packet 8328 * @return reconfigure 8329 * @note: btstack_type 1 8330 */ 8331 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 8332 return event[7]; 8333 } 8334 /** 8335 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8336 * @param event packet 8337 * @return media_type 8338 * @note: btstack_type 1 8339 */ 8340 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 8341 return event[8]; 8342 } 8343 /** 8344 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8345 * @param event packet 8346 * @return version 8347 * @note: btstack_type 1 8348 */ 8349 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 8350 return event[9]; 8351 } 8352 /** 8353 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8354 * @param event packet 8355 * @return channel_mode 8356 * @note: btstack_type 1 8357 */ 8358 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 8359 return event[10]; 8360 } 8361 /** 8362 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8363 * @param event packet 8364 * @return num_channels 8365 * @note: btstack_type 1 8366 */ 8367 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 8368 return event[11]; 8369 } 8370 /** 8371 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8372 * @param event packet 8373 * @return sampling_frequency 8374 * @note: btstack_type 2 8375 */ 8376 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 8377 return little_endian_read_16(event, 12); 8378 } 8379 /** 8380 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8381 * @param event packet 8382 * @return vbr 8383 * @note: btstack_type 1 8384 */ 8385 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 8386 return event[14]; 8387 } 8388 /** 8389 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8390 * @param event packet 8391 * @return bit_rate_index 8392 * @note: btstack_type 1 8393 */ 8394 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 8395 return event[15]; 8396 } 8397 /** 8398 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8399 * @param event packet 8400 * @return maximum_sul 8401 * @note: btstack_type 2 8402 */ 8403 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 8404 return little_endian_read_16(event, 16); 8405 } 8406 8407 /** 8408 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8409 * @param event packet 8410 * @return avdtp_cid 8411 * @note: btstack_type 2 8412 */ 8413 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 8414 return little_endian_read_16(event, 3); 8415 } 8416 /** 8417 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8418 * @param event packet 8419 * @return local_seid 8420 * @note: btstack_type 1 8421 */ 8422 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 8423 return event[5]; 8424 } 8425 /** 8426 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8427 * @param event packet 8428 * @return remote_seid 8429 * @note: btstack_type 1 8430 */ 8431 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 8432 return event[6]; 8433 } 8434 /** 8435 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8436 * @param event packet 8437 * @return reconfigure 8438 * @note: btstack_type 1 8439 */ 8440 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 8441 return event[7]; 8442 } 8443 /** 8444 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8445 * @param event packet 8446 * @return media_type 8447 * @note: btstack_type 1 8448 */ 8449 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 8450 return event[8]; 8451 } 8452 /** 8453 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8454 * @param event packet 8455 * @return media_codec_type 8456 * @note: btstack_type 2 8457 */ 8458 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 8459 return little_endian_read_16(event, 9); 8460 } 8461 /** 8462 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8463 * @param event packet 8464 * @return media_codec_information_len 8465 * @note: btstack_type L 8466 */ 8467 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 8468 return little_endian_read_16(event, 11); 8469 } 8470 /** 8471 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8472 * @param event packet 8473 * @return media_codec_information 8474 * @note: btstack_type V 8475 */ 8476 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 8477 return &event[13]; 8478 } 8479 8480 /** 8481 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8482 * @param event packet 8483 * @return avdtp_cid 8484 * @note: btstack_type 2 8485 */ 8486 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 8487 return little_endian_read_16(event, 3); 8488 } 8489 /** 8490 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8491 * @param event packet 8492 * @param Pointer to storage for bd_addr 8493 * @note: btstack_type B 8494 */ 8495 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8496 reverse_bytes(&event[5], bd_addr, 6); 8497 } 8498 /** 8499 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8500 * @param event packet 8501 * @return local_seid 8502 * @note: btstack_type 1 8503 */ 8504 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 8505 return event[11]; 8506 } 8507 /** 8508 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8509 * @param event packet 8510 * @return remote_seid 8511 * @note: btstack_type 1 8512 */ 8513 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 8514 return event[12]; 8515 } 8516 /** 8517 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8518 * @param event packet 8519 * @return status 8520 * @note: btstack_type 1 8521 */ 8522 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 8523 return event[13]; 8524 } 8525 8526 /** 8527 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 8528 * @param event packet 8529 * @return avdtp_cid 8530 * @note: btstack_type 2 8531 */ 8532 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 8533 return little_endian_read_16(event, 3); 8534 } 8535 /** 8536 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 8537 * @param event packet 8538 * @return local_seid 8539 * @note: btstack_type 1 8540 */ 8541 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 8542 return event[5]; 8543 } 8544 8545 /** 8546 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8547 * @param event packet 8548 * @return avdtp_cid 8549 * @note: btstack_type 2 8550 */ 8551 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 8552 return little_endian_read_16(event, 3); 8553 } 8554 /** 8555 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8556 * @param event packet 8557 * @return local_seid 8558 * @note: btstack_type 1 8559 */ 8560 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 8561 return event[5]; 8562 } 8563 /** 8564 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8565 * @param event packet 8566 * @return sequence_number 8567 * @note: btstack_type 2 8568 */ 8569 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 8570 return little_endian_read_16(event, 6); 8571 } 8572 8573 /** 8574 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 8575 * @param event packet 8576 * @return avdtp_cid 8577 * @note: btstack_type 2 8578 */ 8579 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 8580 return little_endian_read_16(event, 3); 8581 } 8582 8583 /** 8584 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 8585 * @param event packet 8586 * @return avdtp_cid 8587 * @note: btstack_type 2 8588 */ 8589 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 8590 return little_endian_read_16(event, 3); 8591 } 8592 /** 8593 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 8594 * @param event packet 8595 * @return local_seid 8596 * @note: btstack_type 1 8597 */ 8598 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 8599 return event[5]; 8600 } 8601 /** 8602 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 8603 * @param event packet 8604 * @return delay_100us 8605 * @note: btstack_type 2 8606 */ 8607 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 8608 return little_endian_read_16(event, 6); 8609 } 8610 8611 /** 8612 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8613 * @param event packet 8614 * @return a2dp_cid 8615 * @note: btstack_type 2 8616 */ 8617 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 8618 return little_endian_read_16(event, 3); 8619 } 8620 /** 8621 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8622 * @param event packet 8623 * @return local_seid 8624 * @note: btstack_type 1 8625 */ 8626 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 8627 return event[5]; 8628 } 8629 8630 /** 8631 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8632 * @param event packet 8633 * @return a2dp_cid 8634 * @note: btstack_type 2 8635 */ 8636 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 8637 return little_endian_read_16(event, 3); 8638 } 8639 /** 8640 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8641 * @param event packet 8642 * @return local_seid 8643 * @note: btstack_type 1 8644 */ 8645 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 8646 return event[5]; 8647 } 8648 /** 8649 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8650 * @param event packet 8651 * @return remote_seid 8652 * @note: btstack_type 1 8653 */ 8654 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 8655 return event[6]; 8656 } 8657 /** 8658 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8659 * @param event packet 8660 * @return reconfigure 8661 * @note: btstack_type 1 8662 */ 8663 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 8664 return event[7]; 8665 } 8666 /** 8667 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8668 * @param event packet 8669 * @return media_type 8670 * @note: btstack_type 1 8671 */ 8672 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 8673 return event[8]; 8674 } 8675 /** 8676 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8677 * @param event packet 8678 * @return sampling_frequency 8679 * @note: btstack_type 2 8680 */ 8681 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 8682 return little_endian_read_16(event, 9); 8683 } 8684 /** 8685 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8686 * @param event packet 8687 * @return channel_mode 8688 * @note: btstack_type 1 8689 */ 8690 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 8691 return event[11]; 8692 } 8693 /** 8694 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8695 * @param event packet 8696 * @return num_channels 8697 * @note: btstack_type 1 8698 */ 8699 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 8700 return event[12]; 8701 } 8702 /** 8703 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8704 * @param event packet 8705 * @return block_length 8706 * @note: btstack_type 1 8707 */ 8708 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 8709 return event[13]; 8710 } 8711 /** 8712 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8713 * @param event packet 8714 * @return subbands 8715 * @note: btstack_type 1 8716 */ 8717 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 8718 return event[14]; 8719 } 8720 /** 8721 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8722 * @param event packet 8723 * @return allocation_method 8724 * @note: btstack_type 1 8725 */ 8726 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 8727 return event[15]; 8728 } 8729 /** 8730 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8731 * @param event packet 8732 * @return min_bitpool_value 8733 * @note: btstack_type 1 8734 */ 8735 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 8736 return event[16]; 8737 } 8738 /** 8739 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8740 * @param event packet 8741 * @return max_bitpool_value 8742 * @note: btstack_type 1 8743 */ 8744 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 8745 return event[17]; 8746 } 8747 8748 /** 8749 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8750 * @param event packet 8751 * @return a2dp_cid 8752 * @note: btstack_type 2 8753 */ 8754 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_a2dp_cid(const uint8_t * event){ 8755 return little_endian_read_16(event, 3); 8756 } 8757 /** 8758 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8759 * @param event packet 8760 * @return local_seid 8761 * @note: btstack_type 1 8762 */ 8763 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 8764 return event[5]; 8765 } 8766 /** 8767 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8768 * @param event packet 8769 * @return remote_seid 8770 * @note: btstack_type 1 8771 */ 8772 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 8773 return event[6]; 8774 } 8775 /** 8776 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8777 * @param event packet 8778 * @return reconfigure 8779 * @note: btstack_type 1 8780 */ 8781 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 8782 return event[7]; 8783 } 8784 /** 8785 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8786 * @param event packet 8787 * @return media_type 8788 * @note: btstack_type 1 8789 */ 8790 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 8791 return event[8]; 8792 } 8793 /** 8794 * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8795 * @param event packet 8796 * @return layer 8797 * @note: btstack_type 1 8798 */ 8799 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 8800 return event[9]; 8801 } 8802 /** 8803 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8804 * @param event packet 8805 * @return crc 8806 * @note: btstack_type 1 8807 */ 8808 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 8809 return event[10]; 8810 } 8811 /** 8812 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8813 * @param event packet 8814 * @return channel_mode 8815 * @note: btstack_type 1 8816 */ 8817 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 8818 return event[11]; 8819 } 8820 /** 8821 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8822 * @param event packet 8823 * @return num_channels 8824 * @note: btstack_type 1 8825 */ 8826 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 8827 return event[12]; 8828 } 8829 /** 8830 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8831 * @param event packet 8832 * @return media_payload_format 8833 * @note: btstack_type 1 8834 */ 8835 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 8836 return event[13]; 8837 } 8838 /** 8839 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8840 * @param event packet 8841 * @return sampling_frequency 8842 * @note: btstack_type 2 8843 */ 8844 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 8845 return little_endian_read_16(event, 14); 8846 } 8847 /** 8848 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8849 * @param event packet 8850 * @return vbr 8851 * @note: btstack_type 1 8852 */ 8853 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 8854 return event[16]; 8855 } 8856 /** 8857 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8858 * @param event packet 8859 * @return bit_rate_index 8860 * @note: btstack_type 1 8861 */ 8862 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 8863 return event[17]; 8864 } 8865 8866 /** 8867 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8868 * @param event packet 8869 * @return a2dp_cid 8870 * @note: btstack_type 2 8871 */ 8872 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_a2dp_cid(const uint8_t * event){ 8873 return little_endian_read_16(event, 3); 8874 } 8875 /** 8876 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8877 * @param event packet 8878 * @return local_seid 8879 * @note: btstack_type 1 8880 */ 8881 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 8882 return event[5]; 8883 } 8884 /** 8885 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8886 * @param event packet 8887 * @return remote_seid 8888 * @note: btstack_type 1 8889 */ 8890 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 8891 return event[6]; 8892 } 8893 /** 8894 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8895 * @param event packet 8896 * @return reconfigure 8897 * @note: btstack_type 1 8898 */ 8899 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 8900 return event[7]; 8901 } 8902 /** 8903 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8904 * @param event packet 8905 * @return media_type 8906 * @note: btstack_type 1 8907 */ 8908 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 8909 return event[8]; 8910 } 8911 /** 8912 * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8913 * @param event packet 8914 * @return object_type 8915 * @note: btstack_type 1 8916 */ 8917 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 8918 return event[9]; 8919 } 8920 /** 8921 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8922 * @param event packet 8923 * @return sampling_frequency 8924 * @note: btstack_type 3 8925 */ 8926 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 8927 return little_endian_read_24(event, 10); 8928 } 8929 /** 8930 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8931 * @param event packet 8932 * @return num_channels 8933 * @note: btstack_type 1 8934 */ 8935 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 8936 return event[13]; 8937 } 8938 /** 8939 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8940 * @param event packet 8941 * @return bit_rate 8942 * @note: btstack_type 3 8943 */ 8944 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 8945 return little_endian_read_24(event, 14); 8946 } 8947 /** 8948 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8949 * @param event packet 8950 * @return vbr 8951 * @note: btstack_type 1 8952 */ 8953 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 8954 return event[17]; 8955 } 8956 8957 /** 8958 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8959 * @param event packet 8960 * @return a2dp_cid 8961 * @note: btstack_type 2 8962 */ 8963 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_a2dp_cid(const uint8_t * event){ 8964 return little_endian_read_16(event, 3); 8965 } 8966 /** 8967 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8968 * @param event packet 8969 * @return local_seid 8970 * @note: btstack_type 1 8971 */ 8972 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 8973 return event[5]; 8974 } 8975 /** 8976 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8977 * @param event packet 8978 * @return remote_seid 8979 * @note: btstack_type 1 8980 */ 8981 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 8982 return event[6]; 8983 } 8984 /** 8985 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8986 * @param event packet 8987 * @return reconfigure 8988 * @note: btstack_type 1 8989 */ 8990 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 8991 return event[7]; 8992 } 8993 /** 8994 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8995 * @param event packet 8996 * @return media_type 8997 * @note: btstack_type 1 8998 */ 8999 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9000 return event[8]; 9001 } 9002 /** 9003 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9004 * @param event packet 9005 * @return version 9006 * @note: btstack_type 1 9007 */ 9008 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9009 return event[9]; 9010 } 9011 /** 9012 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9013 * @param event packet 9014 * @return channel_mode 9015 * @note: btstack_type 1 9016 */ 9017 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9018 return event[10]; 9019 } 9020 /** 9021 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9022 * @param event packet 9023 * @return num_channels 9024 * @note: btstack_type 1 9025 */ 9026 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9027 return event[11]; 9028 } 9029 /** 9030 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9031 * @param event packet 9032 * @return sampling_frequency 9033 * @note: btstack_type 2 9034 */ 9035 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9036 return little_endian_read_16(event, 12); 9037 } 9038 /** 9039 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9040 * @param event packet 9041 * @return vbr 9042 * @note: btstack_type 1 9043 */ 9044 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9045 return event[14]; 9046 } 9047 /** 9048 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9049 * @param event packet 9050 * @return bit_rate_index 9051 * @note: btstack_type 1 9052 */ 9053 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9054 return event[15]; 9055 } 9056 /** 9057 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9058 * @param event packet 9059 * @return maximum_sul 9060 * @note: btstack_type 2 9061 */ 9062 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9063 return little_endian_read_16(event, 16); 9064 } 9065 9066 /** 9067 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9068 * @param event packet 9069 * @return a2dp_cid 9070 * @note: btstack_type 2 9071 */ 9072 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 9073 return little_endian_read_16(event, 3); 9074 } 9075 /** 9076 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9077 * @param event packet 9078 * @return local_seid 9079 * @note: btstack_type 1 9080 */ 9081 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9082 return event[5]; 9083 } 9084 /** 9085 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9086 * @param event packet 9087 * @return remote_seid 9088 * @note: btstack_type 1 9089 */ 9090 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9091 return event[6]; 9092 } 9093 /** 9094 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9095 * @param event packet 9096 * @return reconfigure 9097 * @note: btstack_type 1 9098 */ 9099 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9100 return event[7]; 9101 } 9102 /** 9103 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9104 * @param event packet 9105 * @return media_type 9106 * @note: btstack_type 1 9107 */ 9108 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9109 return event[8]; 9110 } 9111 /** 9112 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9113 * @param event packet 9114 * @return media_codec_type 9115 * @note: btstack_type 2 9116 */ 9117 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9118 return little_endian_read_16(event, 9); 9119 } 9120 /** 9121 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9122 * @param event packet 9123 * @return media_codec_information_len 9124 * @note: btstack_type L 9125 */ 9126 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9127 return little_endian_read_16(event, 11); 9128 } 9129 /** 9130 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9131 * @param event packet 9132 * @return media_codec_information 9133 * @note: btstack_type V 9134 */ 9135 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9136 return &event[13]; 9137 } 9138 9139 /** 9140 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9141 * @param event packet 9142 * @return a2dp_cid 9143 * @note: btstack_type 2 9144 */ 9145 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 9146 return little_endian_read_16(event, 3); 9147 } 9148 /** 9149 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9150 * @param event packet 9151 * @param Pointer to storage for bd_addr 9152 * @note: btstack_type B 9153 */ 9154 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9155 reverse_bytes(&event[5], bd_addr, 6); 9156 } 9157 /** 9158 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9159 * @param event packet 9160 * @return local_seid 9161 * @note: btstack_type 1 9162 */ 9163 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 9164 return event[11]; 9165 } 9166 /** 9167 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9168 * @param event packet 9169 * @return remote_seid 9170 * @note: btstack_type 1 9171 */ 9172 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 9173 return event[12]; 9174 } 9175 /** 9176 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9177 * @param event packet 9178 * @return status 9179 * @note: btstack_type 1 9180 */ 9181 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 9182 return event[13]; 9183 } 9184 9185 /** 9186 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9187 * @param event packet 9188 * @return a2dp_cid 9189 * @note: btstack_type 2 9190 */ 9191 static inline uint16_t a2dp_subevent_start_stream_requested_get_a2dp_cid(const uint8_t * event){ 9192 return little_endian_read_16(event, 3); 9193 } 9194 /** 9195 * @brief Get field local_seid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9196 * @param event packet 9197 * @return local_seid 9198 * @note: btstack_type 1 9199 */ 9200 static inline uint8_t a2dp_subevent_start_stream_requested_get_local_seid(const uint8_t * event){ 9201 return event[5]; 9202 } 9203 9204 /** 9205 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 9206 * @param event packet 9207 * @return a2dp_cid 9208 * @note: btstack_type 2 9209 */ 9210 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 9211 return little_endian_read_16(event, 3); 9212 } 9213 /** 9214 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 9215 * @param event packet 9216 * @return local_seid 9217 * @note: btstack_type 1 9218 */ 9219 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 9220 return event[5]; 9221 } 9222 9223 /** 9224 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9225 * @param event packet 9226 * @return a2dp_cid 9227 * @note: btstack_type 2 9228 */ 9229 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 9230 return little_endian_read_16(event, 3); 9231 } 9232 /** 9233 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9234 * @param event packet 9235 * @return local_seid 9236 * @note: btstack_type 1 9237 */ 9238 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 9239 return event[5]; 9240 } 9241 9242 /** 9243 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 9244 * @param event packet 9245 * @return a2dp_cid 9246 * @note: btstack_type 2 9247 */ 9248 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 9249 return little_endian_read_16(event, 3); 9250 } 9251 /** 9252 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 9253 * @param event packet 9254 * @return local_seid 9255 * @note: btstack_type 1 9256 */ 9257 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 9258 return event[5]; 9259 } 9260 9261 /** 9262 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 9263 * @param event packet 9264 * @return a2dp_cid 9265 * @note: btstack_type 2 9266 */ 9267 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 9268 return little_endian_read_16(event, 3); 9269 } 9270 /** 9271 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 9272 * @param event packet 9273 * @return local_seid 9274 * @note: btstack_type 1 9275 */ 9276 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 9277 return event[5]; 9278 } 9279 9280 /** 9281 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9282 * @param event packet 9283 * @return a2dp_cid 9284 * @note: btstack_type 2 9285 */ 9286 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 9287 return little_endian_read_16(event, 3); 9288 } 9289 /** 9290 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9291 * @param event packet 9292 * @return local_seid 9293 * @note: btstack_type 1 9294 */ 9295 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 9296 return event[5]; 9297 } 9298 /** 9299 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9300 * @param event packet 9301 * @return signal_identifier 9302 * @note: btstack_type 1 9303 */ 9304 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 9305 return event[6]; 9306 } 9307 9308 /** 9309 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 9310 * @param event packet 9311 * @return a2dp_cid 9312 * @note: btstack_type 2 9313 */ 9314 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 9315 return little_endian_read_16(event, 3); 9316 } 9317 /** 9318 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 9319 * @param event packet 9320 * @return local_seid 9321 * @note: btstack_type 1 9322 */ 9323 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 9324 return event[5]; 9325 } 9326 /** 9327 * @brief Get field is_initiator from event A2DP_SUBEVENT_COMMAND_REJECTED 9328 * @param event packet 9329 * @return is_initiator 9330 * @note: btstack_type 1 9331 */ 9332 static inline uint8_t a2dp_subevent_command_rejected_get_is_initiator(const uint8_t * event){ 9333 return event[6]; 9334 } 9335 /** 9336 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 9337 * @param event packet 9338 * @return signal_identifier 9339 * @note: btstack_type 1 9340 */ 9341 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 9342 return event[7]; 9343 } 9344 9345 /** 9346 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9347 * @param event packet 9348 * @return a2dp_cid 9349 * @note: btstack_type 2 9350 */ 9351 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 9352 return little_endian_read_16(event, 3); 9353 } 9354 /** 9355 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9356 * @param event packet 9357 * @param Pointer to storage for bd_addr 9358 * @note: btstack_type B 9359 */ 9360 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9361 reverse_bytes(&event[5], bd_addr, 6); 9362 } 9363 /** 9364 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9365 * @param event packet 9366 * @return con_handle 9367 * @note: btstack_type 2 9368 */ 9369 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 9370 return little_endian_read_16(event, 11); 9371 } 9372 /** 9373 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9374 * @param event packet 9375 * @return status 9376 * @note: btstack_type 1 9377 */ 9378 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 9379 return event[13]; 9380 } 9381 9382 /** 9383 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 9384 * @param event packet 9385 * @return a2dp_cid 9386 * @note: btstack_type 2 9387 */ 9388 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 9389 return little_endian_read_16(event, 3); 9390 } 9391 9392 /** 9393 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9394 * @param event packet 9395 * @return a2dp_cid 9396 * @note: btstack_type 2 9397 */ 9398 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 9399 return little_endian_read_16(event, 3); 9400 } 9401 /** 9402 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9403 * @param event packet 9404 * @return local_seid 9405 * @note: btstack_type 1 9406 */ 9407 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 9408 return event[5]; 9409 } 9410 /** 9411 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9412 * @param event packet 9413 * @return status 9414 * @note: btstack_type 1 9415 */ 9416 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 9417 return event[6]; 9418 } 9419 9420 /** 9421 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9422 * @param event packet 9423 * @return a2dp_cid 9424 * @note: btstack_type 2 9425 */ 9426 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_a2dp_cid(const uint8_t * event){ 9427 return little_endian_read_16(event, 3); 9428 } 9429 /** 9430 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9431 * @param event packet 9432 * @return remote_seid 9433 * @note: btstack_type 1 9434 */ 9435 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 9436 return event[5]; 9437 } 9438 /** 9439 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9440 * @param event packet 9441 * @return media_type 9442 * @note: btstack_type 1 9443 */ 9444 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 9445 return event[6]; 9446 } 9447 /** 9448 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9449 * @param event packet 9450 * @return sampling_frequency_bitmap 9451 * @note: btstack_type 1 9452 */ 9453 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9454 return event[7]; 9455 } 9456 /** 9457 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9458 * @param event packet 9459 * @return channel_mode_bitmap 9460 * @note: btstack_type 1 9461 */ 9462 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 9463 return event[8]; 9464 } 9465 /** 9466 * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9467 * @param event packet 9468 * @return block_length_bitmap 9469 * @note: btstack_type 1 9470 */ 9471 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 9472 return event[9]; 9473 } 9474 /** 9475 * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9476 * @param event packet 9477 * @return subbands_bitmap 9478 * @note: btstack_type 1 9479 */ 9480 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 9481 return event[10]; 9482 } 9483 /** 9484 * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9485 * @param event packet 9486 * @return allocation_method_bitmap 9487 * @note: btstack_type 1 9488 */ 9489 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 9490 return event[11]; 9491 } 9492 /** 9493 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9494 * @param event packet 9495 * @return min_bitpool_value 9496 * @note: btstack_type 1 9497 */ 9498 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 9499 return event[12]; 9500 } 9501 /** 9502 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9503 * @param event packet 9504 * @return max_bitpool_value 9505 * @note: btstack_type 1 9506 */ 9507 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 9508 return event[13]; 9509 } 9510 9511 /** 9512 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9513 * @param event packet 9514 * @return a2dp_cid 9515 * @note: btstack_type 2 9516 */ 9517 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_a2dp_cid(const uint8_t * event){ 9518 return little_endian_read_16(event, 3); 9519 } 9520 /** 9521 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9522 * @param event packet 9523 * @return remote_seid 9524 * @note: btstack_type 1 9525 */ 9526 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 9527 return event[5]; 9528 } 9529 /** 9530 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 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_capability_get_media_type(const uint8_t * event){ 9536 return event[6]; 9537 } 9538 /** 9539 * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9540 * @param event packet 9541 * @return layer_bitmap 9542 * @note: btstack_type 1 9543 */ 9544 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 9545 return event[7]; 9546 } 9547 /** 9548 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 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_capability_get_crc(const uint8_t * event){ 9554 return event[8]; 9555 } 9556 /** 9557 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9558 * @param event packet 9559 * @return channel_mode_bitmap 9560 * @note: btstack_type 1 9561 */ 9562 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 9563 return event[9]; 9564 } 9565 /** 9566 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9567 * @param event packet 9568 * @return media_payload_format 9569 * @note: btstack_type 1 9570 */ 9571 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 9572 return event[10]; 9573 } 9574 /** 9575 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9576 * @param event packet 9577 * @return sampling_frequency_bitmap 9578 * @note: btstack_type 1 9579 */ 9580 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9581 return event[11]; 9582 } 9583 /** 9584 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9585 * @param event packet 9586 * @return vbr 9587 * @note: btstack_type 1 9588 */ 9589 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 9590 return event[12]; 9591 } 9592 /** 9593 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9594 * @param event packet 9595 * @return bit_rate_index_bitmap 9596 * @note: btstack_type 2 9597 */ 9598 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 9599 return little_endian_read_16(event, 13); 9600 } 9601 9602 /** 9603 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9604 * @param event packet 9605 * @return a2dp_cid 9606 * @note: btstack_type 2 9607 */ 9608 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_a2dp_cid(const uint8_t * event){ 9609 return little_endian_read_16(event, 3); 9610 } 9611 /** 9612 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9613 * @param event packet 9614 * @return remote_seid 9615 * @note: btstack_type 1 9616 */ 9617 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 9618 return event[5]; 9619 } 9620 /** 9621 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9622 * @param event packet 9623 * @return media_type 9624 * @note: btstack_type 1 9625 */ 9626 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 9627 return event[6]; 9628 } 9629 /** 9630 * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9631 * @param event packet 9632 * @return object_type_bitmap 9633 * @note: btstack_type 1 9634 */ 9635 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 9636 return event[7]; 9637 } 9638 /** 9639 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9640 * @param event packet 9641 * @return sampling_frequency_bitmap 9642 * @note: btstack_type 2 9643 */ 9644 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9645 return little_endian_read_16(event, 8); 9646 } 9647 /** 9648 * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9649 * @param event packet 9650 * @return channels_bitmap 9651 * @note: btstack_type 1 9652 */ 9653 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 9654 return event[10]; 9655 } 9656 /** 9657 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9658 * @param event packet 9659 * @return bit_rate 9660 * @note: btstack_type 3 9661 */ 9662 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 9663 return little_endian_read_24(event, 11); 9664 } 9665 /** 9666 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9667 * @param event packet 9668 * @return vbr 9669 * @note: btstack_type 1 9670 */ 9671 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 9672 return event[14]; 9673 } 9674 9675 /** 9676 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9677 * @param event packet 9678 * @return a2dp_cid 9679 * @note: btstack_type 2 9680 */ 9681 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_a2dp_cid(const uint8_t * event){ 9682 return little_endian_read_16(event, 3); 9683 } 9684 /** 9685 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9686 * @param event packet 9687 * @return remote_seid 9688 * @note: btstack_type 1 9689 */ 9690 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 9691 return event[5]; 9692 } 9693 /** 9694 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9695 * @param event packet 9696 * @return media_type 9697 * @note: btstack_type 1 9698 */ 9699 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 9700 return event[6]; 9701 } 9702 /** 9703 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9704 * @param event packet 9705 * @return version 9706 * @note: btstack_type 1 9707 */ 9708 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 9709 return event[7]; 9710 } 9711 /** 9712 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9713 * @param event packet 9714 * @return channel_mode_bitmap 9715 * @note: btstack_type 1 9716 */ 9717 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 9718 return event[8]; 9719 } 9720 /** 9721 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9722 * @param event packet 9723 * @return sampling_frequency_bitmap 9724 * @note: btstack_type 1 9725 */ 9726 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9727 return event[9]; 9728 } 9729 /** 9730 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9731 * @param event packet 9732 * @return vbr 9733 * @note: btstack_type 1 9734 */ 9735 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 9736 return event[10]; 9737 } 9738 /** 9739 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9740 * @param event packet 9741 * @return bit_rate_index_bitmap 9742 * @note: btstack_type 3 9743 */ 9744 static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 9745 return little_endian_read_24(event, 11); 9746 } 9747 /** 9748 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9749 * @param event packet 9750 * @return maximum_sul 9751 * @note: btstack_type 2 9752 */ 9753 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 9754 return little_endian_read_16(event, 14); 9755 } 9756 9757 /** 9758 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 9759 * @param event packet 9760 * @return a2dp_cid 9761 * @note: btstack_type 2 9762 */ 9763 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_a2dp_cid(const uint8_t * event){ 9764 return little_endian_read_16(event, 3); 9765 } 9766 /** 9767 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 9768 * @param event packet 9769 * @return remote_seid 9770 * @note: btstack_type 1 9771 */ 9772 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 9773 return event[5]; 9774 } 9775 /** 9776 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 9777 * @param event packet 9778 * @return media_type 9779 * @note: btstack_type 1 9780 */ 9781 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 9782 return event[6]; 9783 } 9784 /** 9785 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 9786 * @param event packet 9787 * @return media_codec_type 9788 * @note: btstack_type 2 9789 */ 9790 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 9791 return little_endian_read_16(event, 7); 9792 } 9793 /** 9794 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 9795 * @param event packet 9796 * @return media_codec_information_len 9797 * @note: btstack_type L 9798 */ 9799 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 9800 return little_endian_read_16(event, 9); 9801 } 9802 /** 9803 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 9804 * @param event packet 9805 * @return media_codec_information 9806 * @note: btstack_type V 9807 */ 9808 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 9809 return &event[11]; 9810 } 9811 9812 /** 9813 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 9814 * @param event packet 9815 * @return a2dp_cid 9816 * @note: btstack_type 2 9817 */ 9818 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_a2dp_cid(const uint8_t * event){ 9819 return little_endian_read_16(event, 3); 9820 } 9821 /** 9822 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 9823 * @param event packet 9824 * @return remote_seid 9825 * @note: btstack_type 1 9826 */ 9827 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 9828 return event[5]; 9829 } 9830 9831 /** 9832 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 9833 * @param event packet 9834 * @return a2dp_cid 9835 * @note: btstack_type 2 9836 */ 9837 static inline uint16_t a2dp_subevent_signaling_delay_report_get_a2dp_cid(const uint8_t * event){ 9838 return little_endian_read_16(event, 3); 9839 } 9840 /** 9841 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 9842 * @param event packet 9843 * @return local_seid 9844 * @note: btstack_type 1 9845 */ 9846 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 9847 return event[5]; 9848 } 9849 /** 9850 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 9851 * @param event packet 9852 * @return delay_100us 9853 * @note: btstack_type 2 9854 */ 9855 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 9856 return little_endian_read_16(event, 6); 9857 } 9858 9859 /** 9860 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 9861 * @param event packet 9862 * @return a2dp_cid 9863 * @note: btstack_type 2 9864 */ 9865 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_a2dp_cid(const uint8_t * event){ 9866 return little_endian_read_16(event, 3); 9867 } 9868 /** 9869 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 9870 * @param event packet 9871 * @return remote_seid 9872 * @note: btstack_type 1 9873 */ 9874 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 9875 return event[5]; 9876 } 9877 9878 /** 9879 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 9880 * @param event packet 9881 * @return a2dp_cid 9882 * @note: btstack_type 2 9883 */ 9884 static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_a2dp_cid(const uint8_t * event){ 9885 return little_endian_read_16(event, 3); 9886 } 9887 9888 /** 9889 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 9890 * @param event packet 9891 * @return avrcp_cid 9892 * @note: btstack_type 2 9893 */ 9894 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 9895 return little_endian_read_16(event, 3); 9896 } 9897 /** 9898 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 9899 * @param event packet 9900 * @return command_type 9901 * @note: btstack_type 1 9902 */ 9903 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 9904 return event[5]; 9905 } 9906 /** 9907 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 9908 * @param event packet 9909 * @return play_status 9910 * @note: btstack_type 1 9911 */ 9912 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 9913 return event[6]; 9914 } 9915 9916 /** 9917 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 9918 * @param event packet 9919 * @return avrcp_cid 9920 * @note: btstack_type 2 9921 */ 9922 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 9923 return little_endian_read_16(event, 3); 9924 } 9925 /** 9926 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 9927 * @param event packet 9928 * @return command_type 9929 * @note: btstack_type 1 9930 */ 9931 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 9932 return event[5]; 9933 } 9934 9935 /** 9936 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 9937 * @param event packet 9938 * @return avrcp_cid 9939 * @note: btstack_type 2 9940 */ 9941 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 9942 return little_endian_read_16(event, 3); 9943 } 9944 /** 9945 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 9946 * @param event packet 9947 * @return command_type 9948 * @note: btstack_type 1 9949 */ 9950 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 9951 return event[5]; 9952 } 9953 9954 /** 9955 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 9956 * @param event packet 9957 * @return avrcp_cid 9958 * @note: btstack_type 2 9959 */ 9960 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){ 9961 return little_endian_read_16(event, 3); 9962 } 9963 /** 9964 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 9965 * @param event packet 9966 * @return command_type 9967 * @note: btstack_type 1 9968 */ 9969 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 9970 return event[5]; 9971 } 9972 9973 /** 9974 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 9975 * @param event packet 9976 * @return avrcp_cid 9977 * @note: btstack_type 2 9978 */ 9979 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 9980 return little_endian_read_16(event, 3); 9981 } 9982 /** 9983 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 9984 * @param event packet 9985 * @return command_type 9986 * @note: btstack_type 1 9987 */ 9988 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 9989 return event[5]; 9990 } 9991 /** 9992 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 9993 * @param event packet 9994 * @return playback_position 9995 * @note: btstack_type 4 9996 */ 9997 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 9998 return little_endian_read_32(event, 6); 9999 } 10000 10001 /** 10002 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10003 * @param event packet 10004 * @return avrcp_cid 10005 * @note: btstack_type 2 10006 */ 10007 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 10008 return little_endian_read_16(event, 3); 10009 } 10010 /** 10011 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10012 * @param event packet 10013 * @return command_type 10014 * @note: btstack_type 1 10015 */ 10016 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 10017 return event[5]; 10018 } 10019 /** 10020 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10021 * @param event packet 10022 * @return battery_status 10023 * @note: btstack_type 1 10024 */ 10025 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 10026 return event[6]; 10027 } 10028 10029 /** 10030 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10031 * @param event packet 10032 * @return avrcp_cid 10033 * @note: btstack_type 2 10034 */ 10035 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 10036 return little_endian_read_16(event, 3); 10037 } 10038 /** 10039 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10040 * @param event packet 10041 * @return command_type 10042 * @note: btstack_type 1 10043 */ 10044 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 10045 return event[5]; 10046 } 10047 /** 10048 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10049 * @param event packet 10050 * @return system_status 10051 * @note: btstack_type 1 10052 */ 10053 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 10054 return event[6]; 10055 } 10056 10057 /** 10058 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10059 * @param event packet 10060 * @return avrcp_cid 10061 * @note: btstack_type 2 10062 */ 10063 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 10064 return little_endian_read_16(event, 3); 10065 } 10066 /** 10067 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10068 * @param event packet 10069 * @return command_type 10070 * @note: btstack_type 1 10071 */ 10072 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 10073 return event[5]; 10074 } 10075 10076 /** 10077 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10078 * @param event packet 10079 * @return avrcp_cid 10080 * @note: btstack_type 2 10081 */ 10082 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 10083 return little_endian_read_16(event, 3); 10084 } 10085 /** 10086 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10087 * @param event packet 10088 * @return command_type 10089 * @note: btstack_type 1 10090 */ 10091 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 10092 return event[5]; 10093 } 10094 10095 /** 10096 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10097 * @param event packet 10098 * @return avrcp_cid 10099 * @note: btstack_type 2 10100 */ 10101 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 10102 return little_endian_read_16(event, 3); 10103 } 10104 /** 10105 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10106 * @param event packet 10107 * @return command_type 10108 * @note: btstack_type 1 10109 */ 10110 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 10111 return event[5]; 10112 } 10113 /** 10114 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10115 * @param event packet 10116 * @return uid_counter 10117 * @note: btstack_type 2 10118 */ 10119 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 10120 return little_endian_read_16(event, 6); 10121 } 10122 10123 /** 10124 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10125 * @param event packet 10126 * @return avrcp_cid 10127 * @note: btstack_type 2 10128 */ 10129 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 10130 return little_endian_read_16(event, 3); 10131 } 10132 /** 10133 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10134 * @param event packet 10135 * @return command_type 10136 * @note: btstack_type 1 10137 */ 10138 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 10139 return event[5]; 10140 } 10141 /** 10142 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10143 * @param event packet 10144 * @return absolute_volume 10145 * @note: btstack_type 1 10146 */ 10147 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 10148 return event[6]; 10149 } 10150 10151 /** 10152 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10153 * @param event packet 10154 * @return avrcp_cid 10155 * @note: btstack_type 2 10156 */ 10157 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 10158 return little_endian_read_16(event, 3); 10159 } 10160 /** 10161 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10162 * @param event packet 10163 * @return command_type 10164 * @note: btstack_type 1 10165 */ 10166 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 10167 return event[5]; 10168 } 10169 /** 10170 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10171 * @param event packet 10172 * @return absolute_volume 10173 * @note: btstack_type 1 10174 */ 10175 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 10176 return event[6]; 10177 } 10178 10179 /** 10180 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10181 * @param event packet 10182 * @return avrcp_cid 10183 * @note: btstack_type 2 10184 */ 10185 static inline uint16_t avrcp_subevent_notification_state_get_avrcp_cid(const uint8_t * event){ 10186 return little_endian_read_16(event, 3); 10187 } 10188 /** 10189 * @brief Get field status from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10190 * @param event packet 10191 * @return status 10192 * @note: btstack_type 1 10193 */ 10194 static inline uint8_t avrcp_subevent_notification_state_get_status(const uint8_t * event){ 10195 return event[5]; 10196 } 10197 /** 10198 * @brief Get field enabled from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10199 * @param event packet 10200 * @return enabled 10201 * @note: btstack_type 1 10202 */ 10203 static inline uint8_t avrcp_subevent_notification_state_get_enabled(const uint8_t * event){ 10204 return event[6]; 10205 } 10206 /** 10207 * @brief Get field event_id from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10208 * @param event packet 10209 * @return event_id 10210 * @note: btstack_type 1 10211 */ 10212 static inline uint8_t avrcp_subevent_notification_state_get_event_id(const uint8_t * event){ 10213 return event[7]; 10214 } 10215 10216 /** 10217 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10218 * @param event packet 10219 * @return status 10220 * @note: btstack_type 1 10221 */ 10222 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 10223 return event[3]; 10224 } 10225 /** 10226 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10227 * @param event packet 10228 * @return avrcp_cid 10229 * @note: btstack_type 2 10230 */ 10231 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 10232 return little_endian_read_16(event, 4); 10233 } 10234 /** 10235 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10236 * @param event packet 10237 * @param Pointer to storage for bd_addr 10238 * @note: btstack_type B 10239 */ 10240 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10241 reverse_bytes(&event[6], bd_addr, 6); 10242 } 10243 /** 10244 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10245 * @param event packet 10246 * @return con_handle 10247 * @note: btstack_type 2 10248 */ 10249 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 10250 return little_endian_read_16(event, 12); 10251 } 10252 10253 /** 10254 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 10255 * @param event packet 10256 * @return avrcp_cid 10257 * @note: btstack_type 2 10258 */ 10259 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 10260 return little_endian_read_16(event, 3); 10261 } 10262 10263 /** 10264 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10265 * @param event packet 10266 * @return avrcp_cid 10267 * @note: btstack_type 2 10268 */ 10269 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 10270 return little_endian_read_16(event, 3); 10271 } 10272 /** 10273 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10274 * @param event packet 10275 * @return command_type 10276 * @note: btstack_type 1 10277 */ 10278 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 10279 return event[5]; 10280 } 10281 /** 10282 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10283 * @param event packet 10284 * @return repeat_mode 10285 * @note: btstack_type 1 10286 */ 10287 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 10288 return event[6]; 10289 } 10290 /** 10291 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10292 * @param event packet 10293 * @return shuffle_mode 10294 * @note: btstack_type 1 10295 */ 10296 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 10297 return event[7]; 10298 } 10299 10300 /** 10301 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 10302 * @param event packet 10303 * @return avrcp_cid 10304 * @note: btstack_type 2 10305 */ 10306 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 10307 return little_endian_read_16(event, 3); 10308 } 10309 /** 10310 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 10311 * @param event packet 10312 * @return command_type 10313 * @note: btstack_type 1 10314 */ 10315 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 10316 return event[5]; 10317 } 10318 /** 10319 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 10320 * @param event packet 10321 * @return song_length 10322 * @note: btstack_type 4 10323 */ 10324 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 10325 return little_endian_read_32(event, 6); 10326 } 10327 /** 10328 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 10329 * @param event packet 10330 * @return song_position 10331 * @note: btstack_type 4 10332 */ 10333 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 10334 return little_endian_read_32(event, 10); 10335 } 10336 /** 10337 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 10338 * @param event packet 10339 * @return play_status 10340 * @note: btstack_type 1 10341 */ 10342 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 10343 return event[14]; 10344 } 10345 10346 /** 10347 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 10348 * @param event packet 10349 * @return avrcp_cid 10350 * @note: btstack_type 2 10351 */ 10352 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 10353 return little_endian_read_16(event, 3); 10354 } 10355 /** 10356 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 10357 * @param event packet 10358 * @return command_type 10359 * @note: btstack_type 1 10360 */ 10361 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 10362 return event[5]; 10363 } 10364 /** 10365 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 10366 * @param event packet 10367 * @return operation_id 10368 * @note: btstack_type 1 10369 */ 10370 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 10371 return event[6]; 10372 } 10373 10374 /** 10375 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10376 * @param event packet 10377 * @return avrcp_cid 10378 * @note: btstack_type 2 10379 */ 10380 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 10381 return little_endian_read_16(event, 3); 10382 } 10383 /** 10384 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10385 * @param event packet 10386 * @return command_type 10387 * @note: btstack_type 1 10388 */ 10389 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 10390 return event[5]; 10391 } 10392 /** 10393 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10394 * @param event packet 10395 * @return operation_id 10396 * @note: btstack_type 1 10397 */ 10398 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 10399 return event[6]; 10400 } 10401 10402 /** 10403 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 10404 * @param event packet 10405 * @return avrcp_cid 10406 * @note: btstack_type 2 10407 */ 10408 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 10409 return little_endian_read_16(event, 3); 10410 } 10411 /** 10412 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 10413 * @param event packet 10414 * @return command_type 10415 * @note: btstack_type 1 10416 */ 10417 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 10418 return event[5]; 10419 } 10420 10421 /** 10422 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 10423 * @param event packet 10424 * @return avrcp_cid 10425 * @note: btstack_type 2 10426 */ 10427 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 10428 return little_endian_read_16(event, 3); 10429 } 10430 10431 /** 10432 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 10433 * @param event packet 10434 * @return avrcp_cid 10435 * @note: btstack_type 2 10436 */ 10437 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 10438 return little_endian_read_16(event, 3); 10439 } 10440 /** 10441 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 10442 * @param event packet 10443 * @return operation_id 10444 * @note: btstack_type 1 10445 */ 10446 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 10447 return event[5]; 10448 } 10449 /** 10450 * @brief Get field button_pressed from event AVRCP_SUBEVENT_OPERATION 10451 * @param event packet 10452 * @return button_pressed 10453 * @note: btstack_type 1 10454 */ 10455 static inline uint8_t avrcp_subevent_operation_get_button_pressed(const uint8_t * event){ 10456 return event[6]; 10457 } 10458 /** 10459 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 10460 * @param event packet 10461 * @return operands_length 10462 * @note: btstack_type 1 10463 */ 10464 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 10465 return event[7]; 10466 } 10467 /** 10468 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 10469 * @param event packet 10470 * @return operand 10471 * @note: btstack_type 1 10472 */ 10473 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 10474 return event[8]; 10475 } 10476 10477 /** 10478 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 10479 * @param event packet 10480 * @return avrcp_cid 10481 * @note: btstack_type 2 10482 */ 10483 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 10484 return little_endian_read_16(event, 3); 10485 } 10486 /** 10487 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 10488 * @param event packet 10489 * @return command_type 10490 * @note: btstack_type 1 10491 */ 10492 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 10493 return event[5]; 10494 } 10495 /** 10496 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 10497 * @param event packet 10498 * @return track 10499 * @note: btstack_type 1 10500 */ 10501 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 10502 return event[6]; 10503 } 10504 10505 /** 10506 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 10507 * @param event packet 10508 * @return avrcp_cid 10509 * @note: btstack_type 2 10510 */ 10511 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 10512 return little_endian_read_16(event, 3); 10513 } 10514 /** 10515 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 10516 * @param event packet 10517 * @return command_type 10518 * @note: btstack_type 1 10519 */ 10520 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 10521 return event[5]; 10522 } 10523 /** 10524 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 10525 * @param event packet 10526 * @return total_tracks 10527 * @note: btstack_type 1 10528 */ 10529 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 10530 return event[6]; 10531 } 10532 10533 /** 10534 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 10535 * @param event packet 10536 * @return avrcp_cid 10537 * @note: btstack_type 2 10538 */ 10539 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 10540 return little_endian_read_16(event, 3); 10541 } 10542 /** 10543 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 10544 * @param event packet 10545 * @return command_type 10546 * @note: btstack_type 1 10547 */ 10548 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 10549 return event[5]; 10550 } 10551 /** 10552 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 10553 * @param event packet 10554 * @return song_length 10555 * @note: btstack_type 4 10556 */ 10557 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 10558 return little_endian_read_32(event, 6); 10559 } 10560 10561 /** 10562 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10563 * @param event packet 10564 * @return avrcp_cid 10565 * @note: btstack_type 2 10566 */ 10567 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 10568 return little_endian_read_16(event, 3); 10569 } 10570 /** 10571 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10572 * @param event packet 10573 * @return command_type 10574 * @note: btstack_type 1 10575 */ 10576 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 10577 return event[5]; 10578 } 10579 /** 10580 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10581 * @param event packet 10582 * @return value_len 10583 * @note: btstack_type J 10584 */ 10585 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 10586 return event[6]; 10587 } 10588 /** 10589 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10590 * @param event packet 10591 * @return value 10592 * @note: btstack_type V 10593 */ 10594 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 10595 return &event[7]; 10596 } 10597 10598 /** 10599 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 10600 * @param event packet 10601 * @return avrcp_cid 10602 * @note: btstack_type 2 10603 */ 10604 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 10605 return little_endian_read_16(event, 3); 10606 } 10607 /** 10608 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 10609 * @param event packet 10610 * @return command_type 10611 * @note: btstack_type 1 10612 */ 10613 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 10614 return event[5]; 10615 } 10616 /** 10617 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 10618 * @param event packet 10619 * @return value_len 10620 * @note: btstack_type J 10621 */ 10622 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 10623 return event[6]; 10624 } 10625 /** 10626 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 10627 * @param event packet 10628 * @return value 10629 * @note: btstack_type V 10630 */ 10631 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 10632 return &event[7]; 10633 } 10634 10635 /** 10636 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 10637 * @param event packet 10638 * @return avrcp_cid 10639 * @note: btstack_type 2 10640 */ 10641 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 10642 return little_endian_read_16(event, 3); 10643 } 10644 /** 10645 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 10646 * @param event packet 10647 * @return command_type 10648 * @note: btstack_type 1 10649 */ 10650 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 10651 return event[5]; 10652 } 10653 /** 10654 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 10655 * @param event packet 10656 * @return value_len 10657 * @note: btstack_type J 10658 */ 10659 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 10660 return event[6]; 10661 } 10662 /** 10663 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 10664 * @param event packet 10665 * @return value 10666 * @note: btstack_type V 10667 */ 10668 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 10669 return &event[7]; 10670 } 10671 10672 /** 10673 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 10674 * @param event packet 10675 * @return avrcp_cid 10676 * @note: btstack_type 2 10677 */ 10678 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 10679 return little_endian_read_16(event, 3); 10680 } 10681 /** 10682 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 10683 * @param event packet 10684 * @return command_type 10685 * @note: btstack_type 1 10686 */ 10687 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 10688 return event[5]; 10689 } 10690 /** 10691 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 10692 * @param event packet 10693 * @return value_len 10694 * @note: btstack_type J 10695 */ 10696 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 10697 return event[6]; 10698 } 10699 /** 10700 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 10701 * @param event packet 10702 * @return value 10703 * @note: btstack_type V 10704 */ 10705 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 10706 return &event[7]; 10707 } 10708 10709 /** 10710 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 10711 * @param event packet 10712 * @return avrcp_cid 10713 * @note: btstack_type 2 10714 */ 10715 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 10716 return little_endian_read_16(event, 3); 10717 } 10718 /** 10719 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 10720 * @param event packet 10721 * @return command_type 10722 * @note: btstack_type 1 10723 */ 10724 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 10725 return event[5]; 10726 } 10727 /** 10728 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 10729 * @param event packet 10730 * @return status 10731 * @note: btstack_type 1 10732 */ 10733 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 10734 return event[6]; 10735 } 10736 10737 /** 10738 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 10739 * @param event packet 10740 * @return avrcp_cid 10741 * @note: btstack_type 2 10742 */ 10743 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 10744 return little_endian_read_16(event, 3); 10745 } 10746 /** 10747 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 10748 * @param event packet 10749 * @return command_type 10750 * @note: btstack_type 1 10751 */ 10752 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 10753 return event[5]; 10754 } 10755 /** 10756 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 10757 * @param event packet 10758 * @return playback_position_ms 10759 * @note: btstack_type 4 10760 */ 10761 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 10762 return little_endian_read_32(event, 6); 10763 } 10764 10765 /** 10766 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 10767 * @param event packet 10768 * @return avrcp_cid 10769 * @note: btstack_type 2 10770 */ 10771 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 10772 return little_endian_read_16(event, 3); 10773 } 10774 /** 10775 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 10776 * @param event packet 10777 * @return command_type 10778 * @note: btstack_type 1 10779 */ 10780 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 10781 return event[5]; 10782 } 10783 /** 10784 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 10785 * @param event packet 10786 * @return status 10787 * @note: btstack_type 1 10788 */ 10789 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 10790 return event[6]; 10791 } 10792 /** 10793 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 10794 * @param event packet 10795 * @return event_id 10796 * @note: btstack_type 1 10797 */ 10798 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 10799 return event[7]; 10800 } 10801 10802 /** 10803 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 10804 * @param event packet 10805 * @return avrcp_cid 10806 * @note: btstack_type 2 10807 */ 10808 static inline uint16_t avrcp_subevent_get_capability_event_id_done_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_GET_CAPABILITY_EVENT_ID_DONE 10813 * @param event packet 10814 * @return command_type 10815 * @note: btstack_type 1 10816 */ 10817 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 10818 return event[5]; 10819 } 10820 /** 10821 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 10822 * @param event packet 10823 * @return status 10824 * @note: btstack_type 1 10825 */ 10826 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 10827 return event[6]; 10828 } 10829 10830 /** 10831 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 10832 * @param event packet 10833 * @return avrcp_cid 10834 * @note: btstack_type 2 10835 */ 10836 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 10837 return little_endian_read_16(event, 3); 10838 } 10839 /** 10840 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 10841 * @param event packet 10842 * @return command_type 10843 * @note: btstack_type 1 10844 */ 10845 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 10846 return event[5]; 10847 } 10848 /** 10849 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 10850 * @param event packet 10851 * @return status 10852 * @note: btstack_type 1 10853 */ 10854 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 10855 return event[6]; 10856 } 10857 /** 10858 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 10859 * @param event packet 10860 * @return company_id 10861 * @note: btstack_type 3 10862 */ 10863 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 10864 return little_endian_read_24(event, 7); 10865 } 10866 10867 /** 10868 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 10869 * @param event packet 10870 * @return avrcp_cid 10871 * @note: btstack_type 2 10872 */ 10873 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){ 10874 return little_endian_read_16(event, 3); 10875 } 10876 /** 10877 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 10878 * @param event packet 10879 * @return command_type 10880 * @note: btstack_type 1 10881 */ 10882 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 10883 return event[5]; 10884 } 10885 /** 10886 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 10887 * @param event packet 10888 * @return status 10889 * @note: btstack_type 1 10890 */ 10891 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 10892 return event[6]; 10893 } 10894 10895 /** 10896 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 10897 * @param event packet 10898 * @return avrcp_cid 10899 * @note: btstack_type 2 10900 */ 10901 static inline uint16_t avrcp_subevent_custom_command_response_get_avrcp_cid(const uint8_t * event){ 10902 return little_endian_read_16(event, 3); 10903 } 10904 /** 10905 * @brief Get field command_type from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 10906 * @param event packet 10907 * @return command_type 10908 * @note: btstack_type 1 10909 */ 10910 static inline uint8_t avrcp_subevent_custom_command_response_get_command_type(const uint8_t * event){ 10911 return event[5]; 10912 } 10913 /** 10914 * @brief Get field pdu_id from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 10915 * @param event packet 10916 * @return pdu_id 10917 * @note: btstack_type 1 10918 */ 10919 static inline uint8_t avrcp_subevent_custom_command_response_get_pdu_id(const uint8_t * event){ 10920 return event[6]; 10921 } 10922 /** 10923 * @brief Get field params_len from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 10924 * @param event packet 10925 * @return params_len 10926 * @note: btstack_type L 10927 */ 10928 static inline uint16_t avrcp_subevent_custom_command_response_get_params_len(const uint8_t * event){ 10929 return little_endian_read_16(event, 7); 10930 } 10931 /** 10932 * @brief Get field params from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 10933 * @param event packet 10934 * @return params 10935 * @note: btstack_type V 10936 */ 10937 static inline const uint8_t * avrcp_subevent_custom_command_response_get_params(const uint8_t * event){ 10938 return &event[9]; 10939 } 10940 10941 /** 10942 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 10943 * @param event packet 10944 * @param Pointer to storage for bd_addr 10945 * @note: btstack_type B 10946 */ 10947 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10948 reverse_bytes(&event[3], bd_addr, 6); 10949 } 10950 /** 10951 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 10952 * @param event packet 10953 * @return browsing_cid 10954 * @note: btstack_type 2 10955 */ 10956 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 10957 return little_endian_read_16(event, 9); 10958 } 10959 10960 /** 10961 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 10962 * @param event packet 10963 * @return status 10964 * @note: btstack_type 1 10965 */ 10966 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 10967 return event[3]; 10968 } 10969 /** 10970 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 10971 * @param event packet 10972 * @param Pointer to storage for bd_addr 10973 * @note: btstack_type B 10974 */ 10975 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10976 reverse_bytes(&event[4], bd_addr, 6); 10977 } 10978 /** 10979 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 10980 * @param event packet 10981 * @return browsing_cid 10982 * @note: btstack_type 2 10983 */ 10984 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 10985 return little_endian_read_16(event, 10); 10986 } 10987 10988 /** 10989 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 10990 * @param event packet 10991 * @return browsing_cid 10992 * @note: btstack_type 2 10993 */ 10994 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 10995 return little_endian_read_16(event, 3); 10996 } 10997 10998 /** 10999 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 11000 * @param event packet 11001 * @return browsing_cid 11002 * @note: btstack_type 2 11003 */ 11004 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 11005 return little_endian_read_16(event, 3); 11006 } 11007 /** 11008 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 11009 * @param event packet 11010 * @return uid_counter 11011 * @note: btstack_type 2 11012 */ 11013 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 11014 return little_endian_read_16(event, 5); 11015 } 11016 /** 11017 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 11018 * @param event packet 11019 * @return browsing_status 11020 * @note: btstack_type 1 11021 */ 11022 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 11023 return event[7]; 11024 } 11025 /** 11026 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 11027 * @param event packet 11028 * @return bluetooth_status 11029 * @note: btstack_type 1 11030 */ 11031 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 11032 return event[8]; 11033 } 11034 11035 /** 11036 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11037 * @param event packet 11038 * @return browsing_cid 11039 * @note: btstack_type 2 11040 */ 11041 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 11042 return little_endian_read_16(event, 3); 11043 } 11044 /** 11045 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11046 * @param event packet 11047 * @return scope 11048 * @note: btstack_type 1 11049 */ 11050 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 11051 return event[5]; 11052 } 11053 /** 11054 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11055 * @param event packet 11056 * @return attr_bitmap 11057 * @note: btstack_type 4 11058 */ 11059 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 11060 return little_endian_read_32(event, 6); 11061 } 11062 11063 /** 11064 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11065 * @param event packet 11066 * @return browsing_cid 11067 * @note: btstack_type 2 11068 */ 11069 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 11070 return little_endian_read_16(event, 3); 11071 } 11072 /** 11073 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11074 * @param event packet 11075 * @return scope 11076 * @note: btstack_type 1 11077 */ 11078 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 11079 return event[5]; 11080 } 11081 11082 /** 11083 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11084 * @param event packet 11085 * @return browsing_cid 11086 * @note: btstack_type 2 11087 */ 11088 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_browsing_cid(const uint8_t * event){ 11089 return little_endian_read_16(event, 3); 11090 } 11091 /** 11092 * @brief Get field player_id from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11093 * @param event packet 11094 * @return player_id 11095 * @note: btstack_type 2 11096 */ 11097 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_player_id(const uint8_t * event){ 11098 return little_endian_read_16(event, 5); 11099 } 11100 11101 /** 11102 * @brief Get field goep_cid from event GOEP_SUBEVENT_INCOMING_CONNECTION 11103 * @param event packet 11104 * @return goep_cid 11105 * @note: btstack_type 2 11106 */ 11107 static inline uint16_t goep_subevent_incoming_connection_get_goep_cid(const uint8_t * event){ 11108 return little_endian_read_16(event, 3); 11109 } 11110 /** 11111 * @brief Get field address from event GOEP_SUBEVENT_INCOMING_CONNECTION 11112 * @param event packet 11113 * @param Pointer to storage for address 11114 * @note: btstack_type B 11115 */ 11116 static inline void goep_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 11117 reverse_bytes(&event[5], address, 6); 11118 } 11119 /** 11120 * @brief Get field handle from event GOEP_SUBEVENT_INCOMING_CONNECTION 11121 * @param event packet 11122 * @return handle 11123 * @note: btstack_type H 11124 */ 11125 static inline hci_con_handle_t goep_subevent_incoming_connection_get_handle(const uint8_t * event){ 11126 return little_endian_read_16(event, 11); 11127 } 11128 11129 /** 11130 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 11131 * @param event packet 11132 * @return goep_cid 11133 * @note: btstack_type 2 11134 */ 11135 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 11136 return little_endian_read_16(event, 3); 11137 } 11138 /** 11139 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 11140 * @param event packet 11141 * @return status 11142 * @note: btstack_type 1 11143 */ 11144 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 11145 return event[5]; 11146 } 11147 /** 11148 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 11149 * @param event packet 11150 * @param Pointer to storage for bd_addr 11151 * @note: btstack_type B 11152 */ 11153 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11154 reverse_bytes(&event[6], bd_addr, 6); 11155 } 11156 /** 11157 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 11158 * @param event packet 11159 * @return con_handle 11160 * @note: btstack_type H 11161 */ 11162 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 11163 return little_endian_read_16(event, 12); 11164 } 11165 /** 11166 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 11167 * @param event packet 11168 * @return incoming 11169 * @note: btstack_type 1 11170 */ 11171 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 11172 return event[14]; 11173 } 11174 11175 /** 11176 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 11177 * @param event packet 11178 * @return goep_cid 11179 * @note: btstack_type 2 11180 */ 11181 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 11182 return little_endian_read_16(event, 3); 11183 } 11184 11185 /** 11186 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 11187 * @param event packet 11188 * @return goep_cid 11189 * @note: btstack_type 2 11190 */ 11191 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 11192 return little_endian_read_16(event, 3); 11193 } 11194 11195 /** 11196 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 11197 * @param event packet 11198 * @return pbap_cid 11199 * @note: btstack_type 2 11200 */ 11201 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 11202 return little_endian_read_16(event, 3); 11203 } 11204 /** 11205 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 11206 * @param event packet 11207 * @return status 11208 * @note: btstack_type 1 11209 */ 11210 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 11211 return event[5]; 11212 } 11213 /** 11214 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 11215 * @param event packet 11216 * @param Pointer to storage for bd_addr 11217 * @note: btstack_type B 11218 */ 11219 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11220 reverse_bytes(&event[6], bd_addr, 6); 11221 } 11222 /** 11223 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 11224 * @param event packet 11225 * @return con_handle 11226 * @note: btstack_type H 11227 */ 11228 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 11229 return little_endian_read_16(event, 12); 11230 } 11231 /** 11232 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 11233 * @param event packet 11234 * @return incoming 11235 * @note: btstack_type 1 11236 */ 11237 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 11238 return event[14]; 11239 } 11240 11241 /** 11242 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 11243 * @param event packet 11244 * @return goep_cid 11245 * @note: btstack_type 2 11246 */ 11247 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 11248 return little_endian_read_16(event, 3); 11249 } 11250 11251 /** 11252 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 11253 * @param event packet 11254 * @return goep_cid 11255 * @note: btstack_type 2 11256 */ 11257 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 11258 return little_endian_read_16(event, 3); 11259 } 11260 /** 11261 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 11262 * @param event packet 11263 * @return status 11264 * @note: btstack_type 1 11265 */ 11266 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 11267 return event[5]; 11268 } 11269 11270 /** 11271 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11272 * @param event packet 11273 * @return goep_cid 11274 * @note: btstack_type 2 11275 */ 11276 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 11277 return little_endian_read_16(event, 3); 11278 } 11279 /** 11280 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11281 * @param event packet 11282 * @return status 11283 * @note: btstack_type 1 11284 */ 11285 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 11286 return event[5]; 11287 } 11288 /** 11289 * @brief Get field phonebook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11290 * @param event packet 11291 * @return phonebook_size 11292 * @note: btstack_type 2 11293 */ 11294 static inline uint16_t pbap_subevent_phonebook_size_get_phonebook_size(const uint8_t * event){ 11295 return little_endian_read_16(event, 6); 11296 } 11297 11298 /** 11299 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11300 * @param event packet 11301 * @return goep_cid 11302 * @note: btstack_type 2 11303 */ 11304 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 11305 return little_endian_read_16(event, 3); 11306 } 11307 /** 11308 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11309 * @param event packet 11310 * @return user_id_required 11311 * @note: btstack_type 1 11312 */ 11313 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 11314 return event[5]; 11315 } 11316 /** 11317 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11318 * @param event packet 11319 * @return full_access 11320 * @note: btstack_type 1 11321 */ 11322 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 11323 return event[6]; 11324 } 11325 11326 /** 11327 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 11328 * @param event packet 11329 * @return goep_cid 11330 * @note: btstack_type 2 11331 */ 11332 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 11333 return little_endian_read_16(event, 3); 11334 } 11335 /** 11336 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 11337 * @param event packet 11338 * @return name_len 11339 * @note: btstack_type J 11340 */ 11341 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 11342 return event[5]; 11343 } 11344 /** 11345 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 11346 * @param event packet 11347 * @return name 11348 * @note: btstack_type V 11349 */ 11350 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 11351 return &event[6]; 11352 } 11353 /** 11354 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 11355 * @param event packet 11356 * @return handle_len 11357 * @note: btstack_type J 11358 */ 11359 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 11360 return event[6u + event[5]]; 11361 } 11362 /** 11363 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 11364 * @param event packet 11365 * @return handle 11366 * @note: btstack_type V 11367 */ 11368 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 11369 return &event[6u + event[5] + 1u]; 11370 } 11371 11372 /** 11373 * @brief Get field goep_cid from event PBAP_SUBEVENT_RESET_MISSED_CALLS 11374 * @param event packet 11375 * @return goep_cid 11376 * @note: btstack_type 2 11377 */ 11378 static inline uint16_t pbap_subevent_reset_missed_calls_get_goep_cid(const uint8_t * event){ 11379 return little_endian_read_16(event, 3); 11380 } 11381 /** 11382 * @brief Get field phonebook from event PBAP_SUBEVENT_RESET_MISSED_CALLS 11383 * @param event packet 11384 * @return phonebook 11385 * @note: btstack_type 1 11386 */ 11387 static inline uint8_t pbap_subevent_reset_missed_calls_get_phonebook(const uint8_t * event){ 11388 return event[5]; 11389 } 11390 11391 /** 11392 * @brief Get field goep_cid from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11393 * @param event packet 11394 * @return goep_cid 11395 * @note: btstack_type 2 11396 */ 11397 static inline uint16_t pbap_subevent_query_phonebook_size_get_goep_cid(const uint8_t * event){ 11398 return little_endian_read_16(event, 3); 11399 } 11400 /** 11401 * @brief Get field vcard_selector from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11402 * @param event packet 11403 * @return vcard_selector 11404 * @note: btstack_type 4 11405 */ 11406 static inline uint32_t pbap_subevent_query_phonebook_size_get_vcard_selector(const uint8_t * event){ 11407 return little_endian_read_32(event, 5); 11408 } 11409 /** 11410 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11411 * @param event packet 11412 * @return vcard_selector_operator 11413 * @note: btstack_type 1 11414 */ 11415 static inline uint8_t pbap_subevent_query_phonebook_size_get_vcard_selector_operator(const uint8_t * event){ 11416 return event[9]; 11417 } 11418 /** 11419 * @brief Get field phonebook from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11420 * @param event packet 11421 * @return phonebook 11422 * @note: btstack_type 1 11423 */ 11424 static inline uint8_t pbap_subevent_query_phonebook_size_get_phonebook(const uint8_t * event){ 11425 return event[10]; 11426 } 11427 11428 /** 11429 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_PHONEBOOK 11430 * @param event packet 11431 * @return goep_cid 11432 * @note: btstack_type 2 11433 */ 11434 static inline uint16_t pbap_subevent_pull_phonebook_get_goep_cid(const uint8_t * event){ 11435 return little_endian_read_16(event, 3); 11436 } 11437 /** 11438 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_PHONEBOOK 11439 * @param event packet 11440 * @return continuation 11441 * @note: btstack_type 4 11442 */ 11443 static inline uint32_t pbap_subevent_pull_phonebook_get_continuation(const uint8_t * event){ 11444 return little_endian_read_32(event, 5); 11445 } 11446 /** 11447 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 11448 * @param event packet 11449 * @return property_selector 11450 * @note: btstack_type 4 11451 */ 11452 static inline uint32_t pbap_subevent_pull_phonebook_get_property_selector(const uint8_t * event){ 11453 return little_endian_read_32(event, 9); 11454 } 11455 /** 11456 * @brief Get field format from event PBAP_SUBEVENT_PULL_PHONEBOOK 11457 * @param event packet 11458 * @return format 11459 * @note: btstack_type 1 11460 */ 11461 static inline uint8_t pbap_subevent_pull_phonebook_get_format(const uint8_t * event){ 11462 return event[13]; 11463 } 11464 /** 11465 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_PHONEBOOK 11466 * @param event packet 11467 * @return max_list_count 11468 * @note: btstack_type 2 11469 */ 11470 static inline uint16_t pbap_subevent_pull_phonebook_get_max_list_count(const uint8_t * event){ 11471 return little_endian_read_16(event, 14); 11472 } 11473 /** 11474 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_PHONEBOOK 11475 * @param event packet 11476 * @return list_start_offset 11477 * @note: btstack_type 2 11478 */ 11479 static inline uint16_t pbap_subevent_pull_phonebook_get_list_start_offset(const uint8_t * event){ 11480 return little_endian_read_16(event, 16); 11481 } 11482 /** 11483 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 11484 * @param event packet 11485 * @return vcard_selector 11486 * @note: btstack_type 4 11487 */ 11488 static inline uint32_t pbap_subevent_pull_phonebook_get_vcard_selector(const uint8_t * event){ 11489 return little_endian_read_32(event, 18); 11490 } 11491 /** 11492 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_PHONEBOOK 11493 * @param event packet 11494 * @return vcard_selector_operator 11495 * @note: btstack_type 1 11496 */ 11497 static inline uint8_t pbap_subevent_pull_phonebook_get_vcard_selector_operator(const uint8_t * event){ 11498 return event[22]; 11499 } 11500 /** 11501 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_PHONEBOOK 11502 * @param event packet 11503 * @return phonebook 11504 * @note: btstack_type 1 11505 */ 11506 static inline uint8_t pbap_subevent_pull_phonebook_get_phonebook(const uint8_t * event){ 11507 return event[23]; 11508 } 11509 11510 /** 11511 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11512 * @param event packet 11513 * @return goep_cid 11514 * @note: btstack_type 2 11515 */ 11516 static inline uint16_t pbap_subevent_pull_vcard_listing_get_goep_cid(const uint8_t * event){ 11517 return little_endian_read_16(event, 3); 11518 } 11519 /** 11520 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11521 * @param event packet 11522 * @return continuation 11523 * @note: btstack_type 4 11524 */ 11525 static inline uint32_t pbap_subevent_pull_vcard_listing_get_continuation(const uint8_t * event){ 11526 return little_endian_read_32(event, 5); 11527 } 11528 /** 11529 * @brief Get field order from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11530 * @param event packet 11531 * @return order 11532 * @note: btstack_type 1 11533 */ 11534 static inline uint8_t pbap_subevent_pull_vcard_listing_get_order(const uint8_t * event){ 11535 return event[9]; 11536 } 11537 /** 11538 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11539 * @param event packet 11540 * @return max_list_count 11541 * @note: btstack_type 2 11542 */ 11543 static inline uint16_t pbap_subevent_pull_vcard_listing_get_max_list_count(const uint8_t * event){ 11544 return little_endian_read_16(event, 10); 11545 } 11546 /** 11547 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11548 * @param event packet 11549 * @return list_start_offset 11550 * @note: btstack_type 2 11551 */ 11552 static inline uint16_t pbap_subevent_pull_vcard_listing_get_list_start_offset(const uint8_t * event){ 11553 return little_endian_read_16(event, 12); 11554 } 11555 /** 11556 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11557 * @param event packet 11558 * @return vcard_selector 11559 * @note: btstack_type 4 11560 */ 11561 static inline uint32_t pbap_subevent_pull_vcard_listing_get_vcard_selector(const uint8_t * event){ 11562 return little_endian_read_32(event, 14); 11563 } 11564 /** 11565 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11566 * @param event packet 11567 * @return vcard_selector_operator 11568 * @note: btstack_type 1 11569 */ 11570 static inline uint8_t pbap_subevent_pull_vcard_listing_get_vcard_selector_operator(const uint8_t * event){ 11571 return event[18]; 11572 } 11573 /** 11574 * @brief Get field search_property from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11575 * @param event packet 11576 * @return search_property 11577 * @note: btstack_type 1 11578 */ 11579 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_property(const uint8_t * event){ 11580 return event[19]; 11581 } 11582 /** 11583 * @brief Get field search_value_len from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11584 * @param event packet 11585 * @return search_value_len 11586 * @note: btstack_type J 11587 */ 11588 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_value_len(const uint8_t * event){ 11589 return event[20]; 11590 } 11591 /** 11592 * @brief Get field search_value from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11593 * @param event packet 11594 * @return search_value 11595 * @note: btstack_type V 11596 */ 11597 static inline const uint8_t * pbap_subevent_pull_vcard_listing_get_search_value(const uint8_t * event){ 11598 return &event[21]; 11599 } 11600 /** 11601 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11602 * @param event packet 11603 * @return phonebook 11604 * @note: btstack_type 1 11605 */ 11606 static inline uint8_t pbap_subevent_pull_vcard_listing_get_phonebook(const uint8_t * event){ 11607 return event[21u + event[20]]; 11608 } 11609 11610 /** 11611 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 11612 * @param event packet 11613 * @return goep_cid 11614 * @note: btstack_type 2 11615 */ 11616 static inline uint16_t pbap_subevent_pull_vcard_entry_get_goep_cid(const uint8_t * event){ 11617 return little_endian_read_16(event, 3); 11618 } 11619 /** 11620 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 11621 * @param event packet 11622 * @return continuation 11623 * @note: btstack_type 4 11624 */ 11625 static inline uint32_t pbap_subevent_pull_vcard_entry_get_continuation(const uint8_t * event){ 11626 return little_endian_read_32(event, 5); 11627 } 11628 /** 11629 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 11630 * @param event packet 11631 * @return property_selector 11632 * @note: btstack_type 4 11633 */ 11634 static inline uint32_t pbap_subevent_pull_vcard_entry_get_property_selector(const uint8_t * event){ 11635 return little_endian_read_32(event, 9); 11636 } 11637 /** 11638 * @brief Get field format from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 11639 * @param event packet 11640 * @return format 11641 * @note: btstack_type 1 11642 */ 11643 static inline uint8_t pbap_subevent_pull_vcard_entry_get_format(const uint8_t * event){ 11644 return event[13]; 11645 } 11646 /** 11647 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 11648 * @param event packet 11649 * @return phonebook 11650 * @note: btstack_type 1 11651 */ 11652 static inline uint8_t pbap_subevent_pull_vcard_entry_get_phonebook(const uint8_t * event){ 11653 return event[14]; 11654 } 11655 /** 11656 * @brief Get field name from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 11657 * @param event packet 11658 * @return name 11659 * @note: btstack_type T 11660 */ 11661 static inline const char * pbap_subevent_pull_vcard_entry_get_name(const uint8_t * event){ 11662 return (const char *) &event[15]; 11663 } 11664 11665 /** 11666 * @brief Get field hid_cid from event HID_SUBEVENT_INCOMING_CONNECTION 11667 * @param event packet 11668 * @return hid_cid 11669 * @note: btstack_type 2 11670 */ 11671 static inline uint16_t hid_subevent_incoming_connection_get_hid_cid(const uint8_t * event){ 11672 return little_endian_read_16(event, 3); 11673 } 11674 /** 11675 * @brief Get field address from event HID_SUBEVENT_INCOMING_CONNECTION 11676 * @param event packet 11677 * @param Pointer to storage for address 11678 * @note: btstack_type B 11679 */ 11680 static inline void hid_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 11681 reverse_bytes(&event[5], address, 6); 11682 } 11683 /** 11684 * @brief Get field handle from event HID_SUBEVENT_INCOMING_CONNECTION 11685 * @param event packet 11686 * @return handle 11687 * @note: btstack_type H 11688 */ 11689 static inline hci_con_handle_t hid_subevent_incoming_connection_get_handle(const uint8_t * event){ 11690 return little_endian_read_16(event, 11); 11691 } 11692 11693 /** 11694 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 11695 * @param event packet 11696 * @return hid_cid 11697 * @note: btstack_type 2 11698 */ 11699 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 11700 return little_endian_read_16(event, 3); 11701 } 11702 /** 11703 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 11704 * @param event packet 11705 * @return status 11706 * @note: btstack_type 1 11707 */ 11708 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 11709 return event[5]; 11710 } 11711 /** 11712 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 11713 * @param event packet 11714 * @param Pointer to storage for bd_addr 11715 * @note: btstack_type B 11716 */ 11717 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11718 reverse_bytes(&event[6], bd_addr, 6); 11719 } 11720 /** 11721 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 11722 * @param event packet 11723 * @return con_handle 11724 * @note: btstack_type H 11725 */ 11726 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 11727 return little_endian_read_16(event, 12); 11728 } 11729 /** 11730 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 11731 * @param event packet 11732 * @return incoming 11733 * @note: btstack_type 1 11734 */ 11735 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 11736 return event[14]; 11737 } 11738 11739 /** 11740 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 11741 * @param event packet 11742 * @return hid_cid 11743 * @note: btstack_type 2 11744 */ 11745 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 11746 return little_endian_read_16(event, 3); 11747 } 11748 11749 /** 11750 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 11751 * @param event packet 11752 * @return hid_cid 11753 * @note: btstack_type 2 11754 */ 11755 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 11756 return little_endian_read_16(event, 3); 11757 } 11758 11759 /** 11760 * @brief Get field hid_cid from event HID_SUBEVENT_SUSPEND 11761 * @param event packet 11762 * @return hid_cid 11763 * @note: btstack_type 2 11764 */ 11765 static inline uint16_t hid_subevent_suspend_get_hid_cid(const uint8_t * event){ 11766 return little_endian_read_16(event, 3); 11767 } 11768 11769 /** 11770 * @brief Get field hid_cid from event HID_SUBEVENT_EXIT_SUSPEND 11771 * @param event packet 11772 * @return hid_cid 11773 * @note: btstack_type 2 11774 */ 11775 static inline uint16_t hid_subevent_exit_suspend_get_hid_cid(const uint8_t * event){ 11776 return little_endian_read_16(event, 3); 11777 } 11778 11779 /** 11780 * @brief Get field hid_cid from event HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 11781 * @param event packet 11782 * @return hid_cid 11783 * @note: btstack_type 2 11784 */ 11785 static inline uint16_t hid_subevent_virtual_cable_unplug_get_hid_cid(const uint8_t * event){ 11786 return little_endian_read_16(event, 3); 11787 } 11788 11789 /** 11790 * @brief Get field hid_cid from event HID_SUBEVENT_GET_REPORT_RESPONSE 11791 * @param event packet 11792 * @return hid_cid 11793 * @note: btstack_type 2 11794 */ 11795 static inline uint16_t hid_subevent_get_report_response_get_hid_cid(const uint8_t * event){ 11796 return little_endian_read_16(event, 3); 11797 } 11798 /** 11799 * @brief Get field handshake_status from event HID_SUBEVENT_GET_REPORT_RESPONSE 11800 * @param event packet 11801 * @return handshake_status 11802 * @note: btstack_type 1 11803 */ 11804 static inline uint8_t hid_subevent_get_report_response_get_handshake_status(const uint8_t * event){ 11805 return event[5]; 11806 } 11807 /** 11808 * @brief Get field report_len from event HID_SUBEVENT_GET_REPORT_RESPONSE 11809 * @param event packet 11810 * @return report_len 11811 * @note: btstack_type L 11812 */ 11813 static inline uint16_t hid_subevent_get_report_response_get_report_len(const uint8_t * event){ 11814 return little_endian_read_16(event, 6); 11815 } 11816 /** 11817 * @brief Get field report from event HID_SUBEVENT_GET_REPORT_RESPONSE 11818 * @param event packet 11819 * @return report 11820 * @note: btstack_type V 11821 */ 11822 static inline const uint8_t * hid_subevent_get_report_response_get_report(const uint8_t * event){ 11823 return &event[8]; 11824 } 11825 11826 /** 11827 * @brief Get field hid_cid from event HID_SUBEVENT_SET_REPORT_RESPONSE 11828 * @param event packet 11829 * @return hid_cid 11830 * @note: btstack_type 2 11831 */ 11832 static inline uint16_t hid_subevent_set_report_response_get_hid_cid(const uint8_t * event){ 11833 return little_endian_read_16(event, 3); 11834 } 11835 /** 11836 * @brief Get field handshake_status from event HID_SUBEVENT_SET_REPORT_RESPONSE 11837 * @param event packet 11838 * @return handshake_status 11839 * @note: btstack_type 1 11840 */ 11841 static inline uint8_t hid_subevent_set_report_response_get_handshake_status(const uint8_t * event){ 11842 return event[5]; 11843 } 11844 11845 /** 11846 * @brief Get field hid_cid from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 11847 * @param event packet 11848 * @return hid_cid 11849 * @note: btstack_type 2 11850 */ 11851 static inline uint16_t hid_subevent_get_protocol_response_get_hid_cid(const uint8_t * event){ 11852 return little_endian_read_16(event, 3); 11853 } 11854 /** 11855 * @brief Get field handshake_status from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 11856 * @param event packet 11857 * @return handshake_status 11858 * @note: btstack_type 1 11859 */ 11860 static inline uint8_t hid_subevent_get_protocol_response_get_handshake_status(const uint8_t * event){ 11861 return event[5]; 11862 } 11863 /** 11864 * @brief Get field protocol_mode from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 11865 * @param event packet 11866 * @return protocol_mode 11867 * @note: btstack_type 1 11868 */ 11869 static inline uint8_t hid_subevent_get_protocol_response_get_protocol_mode(const uint8_t * event){ 11870 return event[6]; 11871 } 11872 11873 /** 11874 * @brief Get field hid_cid from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 11875 * @param event packet 11876 * @return hid_cid 11877 * @note: btstack_type 2 11878 */ 11879 static inline uint16_t hid_subevent_set_protocol_response_get_hid_cid(const uint8_t * event){ 11880 return little_endian_read_16(event, 3); 11881 } 11882 /** 11883 * @brief Get field handshake_status from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 11884 * @param event packet 11885 * @return handshake_status 11886 * @note: btstack_type 1 11887 */ 11888 static inline uint8_t hid_subevent_set_protocol_response_get_handshake_status(const uint8_t * event){ 11889 return event[5]; 11890 } 11891 /** 11892 * @brief Get field protocol_mode from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 11893 * @param event packet 11894 * @return protocol_mode 11895 * @note: btstack_type 1 11896 */ 11897 static inline uint8_t hid_subevent_set_protocol_response_get_protocol_mode(const uint8_t * event){ 11898 return event[6]; 11899 } 11900 11901 /** 11902 * @brief Get field hid_cid from event HID_SUBEVENT_REPORT 11903 * @param event packet 11904 * @return hid_cid 11905 * @note: btstack_type 2 11906 */ 11907 static inline uint16_t hid_subevent_report_get_hid_cid(const uint8_t * event){ 11908 return little_endian_read_16(event, 3); 11909 } 11910 /** 11911 * @brief Get field report_len from event HID_SUBEVENT_REPORT 11912 * @param event packet 11913 * @return report_len 11914 * @note: btstack_type L 11915 */ 11916 static inline uint16_t hid_subevent_report_get_report_len(const uint8_t * event){ 11917 return little_endian_read_16(event, 5); 11918 } 11919 /** 11920 * @brief Get field report from event HID_SUBEVENT_REPORT 11921 * @param event packet 11922 * @return report 11923 * @note: btstack_type V 11924 */ 11925 static inline const uint8_t * hid_subevent_report_get_report(const uint8_t * event){ 11926 return &event[7]; 11927 } 11928 11929 /** 11930 * @brief Get field hid_cid from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 11931 * @param event packet 11932 * @return hid_cid 11933 * @note: btstack_type 2 11934 */ 11935 static inline uint16_t hid_subevent_descriptor_available_get_hid_cid(const uint8_t * event){ 11936 return little_endian_read_16(event, 3); 11937 } 11938 /** 11939 * @brief Get field status from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 11940 * @param event packet 11941 * @return status 11942 * @note: btstack_type 1 11943 */ 11944 static inline uint8_t hid_subevent_descriptor_available_get_status(const uint8_t * event){ 11945 return event[5]; 11946 } 11947 11948 /** 11949 * @brief Get field hid_cid from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 11950 * @param event packet 11951 * @return hid_cid 11952 * @note: btstack_type 2 11953 */ 11954 static inline uint16_t hid_subevent_sniff_subrating_params_get_hid_cid(const uint8_t * event){ 11955 return little_endian_read_16(event, 3); 11956 } 11957 /** 11958 * @brief Get field host_max_latency from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 11959 * @param event packet 11960 * @return host_max_latency 11961 * @note: btstack_type 2 11962 */ 11963 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_max_latency(const uint8_t * event){ 11964 return little_endian_read_16(event, 5); 11965 } 11966 /** 11967 * @brief Get field host_min_timeout from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 11968 * @param event packet 11969 * @return host_min_timeout 11970 * @note: btstack_type 2 11971 */ 11972 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_min_timeout(const uint8_t * event){ 11973 return little_endian_read_16(event, 7); 11974 } 11975 11976 /** 11977 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 11978 * @param event packet 11979 * @return con_handle 11980 * @note: btstack_type 2 11981 */ 11982 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 11983 return little_endian_read_16(event, 3); 11984 } 11985 11986 /** 11987 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 11988 * @param event packet 11989 * @return con_handle 11990 * @note: btstack_type 2 11991 */ 11992 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 11993 return little_endian_read_16(event, 3); 11994 } 11995 /** 11996 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 11997 * @param event packet 11998 * @return protocol_mode 11999 * @note: btstack_type 1 12000 */ 12001 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 12002 return event[5]; 12003 } 12004 12005 /** 12006 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12007 * @param event packet 12008 * @return con_handle 12009 * @note: btstack_type 2 12010 */ 12011 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 12012 return little_endian_read_16(event, 3); 12013 } 12014 /** 12015 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12016 * @param event packet 12017 * @return enable 12018 * @note: btstack_type 1 12019 */ 12020 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 12021 return event[5]; 12022 } 12023 12024 /** 12025 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12026 * @param event packet 12027 * @return con_handle 12028 * @note: btstack_type 2 12029 */ 12030 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 12031 return little_endian_read_16(event, 3); 12032 } 12033 /** 12034 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12035 * @param event packet 12036 * @return enable 12037 * @note: btstack_type 1 12038 */ 12039 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 12040 return event[5]; 12041 } 12042 12043 /** 12044 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12045 * @param event packet 12046 * @return con_handle 12047 * @note: btstack_type 2 12048 */ 12049 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 12050 return little_endian_read_16(event, 3); 12051 } 12052 /** 12053 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12054 * @param event packet 12055 * @return enable 12056 * @note: btstack_type 1 12057 */ 12058 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 12059 return event[5]; 12060 } 12061 12062 /** 12063 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12064 * @param event packet 12065 * @return con_handle 12066 * @note: btstack_type 2 12067 */ 12068 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 12069 return little_endian_read_16(event, 3); 12070 } 12071 /** 12072 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12073 * @param event packet 12074 * @return enable 12075 * @note: btstack_type 1 12076 */ 12077 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 12078 return event[5]; 12079 } 12080 12081 /** 12082 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12083 * @param event packet 12084 * @return con_handle 12085 * @note: btstack_type 2 12086 */ 12087 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 12088 return little_endian_read_16(event, 3); 12089 } 12090 /** 12091 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12092 * @param event packet 12093 * @return enable 12094 * @note: btstack_type 1 12095 */ 12096 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 12097 return event[5]; 12098 } 12099 12100 /** 12101 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 12102 * @param event packet 12103 * @return con_handle 12104 * @note: btstack_type 2 12105 */ 12106 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 12107 return little_endian_read_16(event, 3); 12108 } 12109 12110 /** 12111 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 12112 * @param event packet 12113 * @return con_handle 12114 * @note: btstack_type 2 12115 */ 12116 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 12117 return little_endian_read_16(event, 3); 12118 } 12119 12120 /** 12121 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12122 * @param event packet 12123 * @return con_handle 12124 * @note: btstack_type 2 12125 */ 12126 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 12127 return little_endian_read_16(event, 3); 12128 } 12129 /** 12130 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12131 * @param event packet 12132 * @return measurement_type 12133 * @note: btstack_type 1 12134 */ 12135 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 12136 return event[5]; 12137 } 12138 /** 12139 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12140 * @param event packet 12141 * @return is_enhanced 12142 * @note: btstack_type 1 12143 */ 12144 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 12145 return event[6]; 12146 } 12147 12148 /** 12149 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 12150 * @param event packet 12151 * @return con_handle 12152 * @note: btstack_type 2 12153 */ 12154 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 12155 return little_endian_read_16(event, 3); 12156 } 12157 12158 /** 12159 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 12160 * @param event packet 12161 * @return con_handle 12162 * @note: btstack_type 2 12163 */ 12164 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 12165 return little_endian_read_16(event, 3); 12166 } 12167 12168 /** 12169 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12170 * @param event packet 12171 * @return hids_cid 12172 * @note: btstack_type 2 12173 */ 12174 static inline uint16_t gattservice_subevent_battery_service_connected_get_hids_cid(const uint8_t * event){ 12175 return little_endian_read_16(event, 3); 12176 } 12177 /** 12178 * @brief Get field status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12179 * @param event packet 12180 * @return status 12181 * @note: btstack_type 1 12182 */ 12183 static inline uint8_t gattservice_subevent_battery_service_connected_get_status(const uint8_t * event){ 12184 return event[5]; 12185 } 12186 /** 12187 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12188 * @param event packet 12189 * @return num_instances 12190 * @note: btstack_type 1 12191 */ 12192 static inline uint8_t gattservice_subevent_battery_service_connected_get_num_instances(const uint8_t * event){ 12193 return event[6]; 12194 } 12195 /** 12196 * @brief Get field poll_bitmap from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12197 * @param event packet 12198 * @return poll_bitmap 12199 * @note: btstack_type 1 12200 */ 12201 static inline uint8_t gattservice_subevent_battery_service_connected_get_poll_bitmap(const uint8_t * event){ 12202 return event[7]; 12203 } 12204 12205 /** 12206 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12207 * @param event packet 12208 * @return hids_cid 12209 * @note: btstack_type 2 12210 */ 12211 static inline uint16_t gattservice_subevent_battery_service_level_get_hids_cid(const uint8_t * event){ 12212 return little_endian_read_16(event, 3); 12213 } 12214 /** 12215 * @brief Get field sevice_index from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12216 * @param event packet 12217 * @return sevice_index 12218 * @note: btstack_type 1 12219 */ 12220 static inline uint8_t gattservice_subevent_battery_service_level_get_sevice_index(const uint8_t * event){ 12221 return event[5]; 12222 } 12223 /** 12224 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12225 * @param event packet 12226 * @return att_status 12227 * @note: btstack_type 1 12228 */ 12229 static inline uint8_t gattservice_subevent_battery_service_level_get_att_status(const uint8_t * event){ 12230 return event[6]; 12231 } 12232 /** 12233 * @brief Get field level from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12234 * @param event packet 12235 * @return level 12236 * @note: btstack_type 1 12237 */ 12238 static inline uint8_t gattservice_subevent_battery_service_level_get_level(const uint8_t * event){ 12239 return event[7]; 12240 } 12241 12242 /** 12243 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 12244 * @param event packet 12245 * @return con_handle 12246 * @note: btstack_type H 12247 */ 12248 static inline hci_con_handle_t gattservice_subevent_device_information_done_get_con_handle(const uint8_t * event){ 12249 return little_endian_read_16(event, 3); 12250 } 12251 /** 12252 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 12253 * @param event packet 12254 * @return att_status 12255 * @note: btstack_type 1 12256 */ 12257 static inline uint8_t gattservice_subevent_device_information_done_get_att_status(const uint8_t * event){ 12258 return event[5]; 12259 } 12260 12261 /** 12262 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 12263 * @param event packet 12264 * @return con_handle 12265 * @note: btstack_type H 12266 */ 12267 static inline hci_con_handle_t gattservice_subevent_device_information_manufacturer_name_get_con_handle(const uint8_t * event){ 12268 return little_endian_read_16(event, 3); 12269 } 12270 /** 12271 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 12272 * @param event packet 12273 * @return att_status 12274 * @note: btstack_type 1 12275 */ 12276 static inline uint8_t gattservice_subevent_device_information_manufacturer_name_get_att_status(const uint8_t * event){ 12277 return event[5]; 12278 } 12279 /** 12280 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 12281 * @param event packet 12282 * @return value 12283 * @note: btstack_type T 12284 */ 12285 static inline const char * gattservice_subevent_device_information_manufacturer_name_get_value(const uint8_t * event){ 12286 return (const char *) &event[6]; 12287 } 12288 12289 /** 12290 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 12291 * @param event packet 12292 * @return con_handle 12293 * @note: btstack_type H 12294 */ 12295 static inline hci_con_handle_t gattservice_subevent_device_information_model_number_get_con_handle(const uint8_t * event){ 12296 return little_endian_read_16(event, 3); 12297 } 12298 /** 12299 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 12300 * @param event packet 12301 * @return att_status 12302 * @note: btstack_type 1 12303 */ 12304 static inline uint8_t gattservice_subevent_device_information_model_number_get_att_status(const uint8_t * event){ 12305 return event[5]; 12306 } 12307 /** 12308 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 12309 * @param event packet 12310 * @return value 12311 * @note: btstack_type T 12312 */ 12313 static inline const char * gattservice_subevent_device_information_model_number_get_value(const uint8_t * event){ 12314 return (const char *) &event[6]; 12315 } 12316 12317 /** 12318 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 12319 * @param event packet 12320 * @return con_handle 12321 * @note: btstack_type H 12322 */ 12323 static inline hci_con_handle_t gattservice_subevent_device_information_serial_number_get_con_handle(const uint8_t * event){ 12324 return little_endian_read_16(event, 3); 12325 } 12326 /** 12327 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 12328 * @param event packet 12329 * @return att_status 12330 * @note: btstack_type 1 12331 */ 12332 static inline uint8_t gattservice_subevent_device_information_serial_number_get_att_status(const uint8_t * event){ 12333 return event[5]; 12334 } 12335 /** 12336 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 12337 * @param event packet 12338 * @return value 12339 * @note: btstack_type T 12340 */ 12341 static inline const char * gattservice_subevent_device_information_serial_number_get_value(const uint8_t * event){ 12342 return (const char *) &event[6]; 12343 } 12344 12345 /** 12346 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 12347 * @param event packet 12348 * @return con_handle 12349 * @note: btstack_type H 12350 */ 12351 static inline hci_con_handle_t gattservice_subevent_device_information_hardware_revision_get_con_handle(const uint8_t * event){ 12352 return little_endian_read_16(event, 3); 12353 } 12354 /** 12355 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 12356 * @param event packet 12357 * @return att_status 12358 * @note: btstack_type 1 12359 */ 12360 static inline uint8_t gattservice_subevent_device_information_hardware_revision_get_att_status(const uint8_t * event){ 12361 return event[5]; 12362 } 12363 /** 12364 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 12365 * @param event packet 12366 * @return value 12367 * @note: btstack_type T 12368 */ 12369 static inline const char * gattservice_subevent_device_information_hardware_revision_get_value(const uint8_t * event){ 12370 return (const char *) &event[6]; 12371 } 12372 12373 /** 12374 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 12375 * @param event packet 12376 * @return con_handle 12377 * @note: btstack_type H 12378 */ 12379 static inline hci_con_handle_t gattservice_subevent_device_information_firmware_revision_get_con_handle(const uint8_t * event){ 12380 return little_endian_read_16(event, 3); 12381 } 12382 /** 12383 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 12384 * @param event packet 12385 * @return att_status 12386 * @note: btstack_type 1 12387 */ 12388 static inline uint8_t gattservice_subevent_device_information_firmware_revision_get_att_status(const uint8_t * event){ 12389 return event[5]; 12390 } 12391 /** 12392 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 12393 * @param event packet 12394 * @return value 12395 * @note: btstack_type T 12396 */ 12397 static inline const char * gattservice_subevent_device_information_firmware_revision_get_value(const uint8_t * event){ 12398 return (const char *) &event[6]; 12399 } 12400 12401 /** 12402 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 12403 * @param event packet 12404 * @return con_handle 12405 * @note: btstack_type H 12406 */ 12407 static inline hci_con_handle_t gattservice_subevent_device_information_software_revision_get_con_handle(const uint8_t * event){ 12408 return little_endian_read_16(event, 3); 12409 } 12410 /** 12411 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 12412 * @param event packet 12413 * @return att_status 12414 * @note: btstack_type 1 12415 */ 12416 static inline uint8_t gattservice_subevent_device_information_software_revision_get_att_status(const uint8_t * event){ 12417 return event[5]; 12418 } 12419 /** 12420 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 12421 * @param event packet 12422 * @return value 12423 * @note: btstack_type T 12424 */ 12425 static inline const char * gattservice_subevent_device_information_software_revision_get_value(const uint8_t * event){ 12426 return (const char *) &event[6]; 12427 } 12428 12429 /** 12430 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 12431 * @param event packet 12432 * @return con_handle 12433 * @note: btstack_type H 12434 */ 12435 static inline hci_con_handle_t gattservice_subevent_device_information_system_id_get_con_handle(const uint8_t * event){ 12436 return little_endian_read_16(event, 3); 12437 } 12438 /** 12439 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 12440 * @param event packet 12441 * @return att_status 12442 * @note: btstack_type 1 12443 */ 12444 static inline uint8_t gattservice_subevent_device_information_system_id_get_att_status(const uint8_t * event){ 12445 return event[5]; 12446 } 12447 /** 12448 * @brief Get field manufacturer_id_low from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 12449 * @param event packet 12450 * @return manufacturer_id_low 12451 * @note: btstack_type 4 12452 */ 12453 static inline uint32_t gattservice_subevent_device_information_system_id_get_manufacturer_id_low(const uint8_t * event){ 12454 return little_endian_read_32(event, 6); 12455 } 12456 /** 12457 * @brief Get field manufacturer_id_high from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 12458 * @param event packet 12459 * @return manufacturer_id_high 12460 * @note: btstack_type 1 12461 */ 12462 static inline uint8_t gattservice_subevent_device_information_system_id_get_manufacturer_id_high(const uint8_t * event){ 12463 return event[10]; 12464 } 12465 /** 12466 * @brief Get field organizationally_unique_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 12467 * @param event packet 12468 * @return organizationally_unique_id 12469 * @note: btstack_type 3 12470 */ 12471 static inline uint32_t gattservice_subevent_device_information_system_id_get_organizationally_unique_id(const uint8_t * event){ 12472 return little_endian_read_24(event, 11); 12473 } 12474 12475 /** 12476 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 12477 * @param event packet 12478 * @return con_handle 12479 * @note: btstack_type H 12480 */ 12481 static inline hci_con_handle_t gattservice_subevent_device_information_ieee_regulatory_certification_get_con_handle(const uint8_t * event){ 12482 return little_endian_read_16(event, 3); 12483 } 12484 /** 12485 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 12486 * @param event packet 12487 * @return att_status 12488 * @note: btstack_type 1 12489 */ 12490 static inline uint8_t gattservice_subevent_device_information_ieee_regulatory_certification_get_att_status(const uint8_t * event){ 12491 return event[5]; 12492 } 12493 /** 12494 * @brief Get field value_a from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 12495 * @param event packet 12496 * @return value_a 12497 * @note: btstack_type 2 12498 */ 12499 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_a(const uint8_t * event){ 12500 return little_endian_read_16(event, 6); 12501 } 12502 /** 12503 * @brief Get field value_b from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 12504 * @param event packet 12505 * @return value_b 12506 * @note: btstack_type 2 12507 */ 12508 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_b(const uint8_t * event){ 12509 return little_endian_read_16(event, 8); 12510 } 12511 12512 /** 12513 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 12514 * @param event packet 12515 * @return con_handle 12516 * @note: btstack_type H 12517 */ 12518 static inline hci_con_handle_t gattservice_subevent_device_information_pnp_id_get_con_handle(const uint8_t * event){ 12519 return little_endian_read_16(event, 3); 12520 } 12521 /** 12522 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 12523 * @param event packet 12524 * @return att_status 12525 * @note: btstack_type 1 12526 */ 12527 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_att_status(const uint8_t * event){ 12528 return event[5]; 12529 } 12530 /** 12531 * @brief Get field vendor_source_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 12532 * @param event packet 12533 * @return vendor_source_id 12534 * @note: btstack_type 1 12535 */ 12536 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_vendor_source_id(const uint8_t * event){ 12537 return event[6]; 12538 } 12539 /** 12540 * @brief Get field vendor_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 12541 * @param event packet 12542 * @return vendor_id 12543 * @note: btstack_type 2 12544 */ 12545 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_vendor_id(const uint8_t * event){ 12546 return little_endian_read_16(event, 7); 12547 } 12548 /** 12549 * @brief Get field product_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 12550 * @param event packet 12551 * @return product_id 12552 * @note: btstack_type 2 12553 */ 12554 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_id(const uint8_t * event){ 12555 return little_endian_read_16(event, 9); 12556 } 12557 /** 12558 * @brief Get field product_version from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 12559 * @param event packet 12560 * @return product_version 12561 * @note: btstack_type 2 12562 */ 12563 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_version(const uint8_t * event){ 12564 return little_endian_read_16(event, 11); 12565 } 12566 12567 /** 12568 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 12569 * @param event packet 12570 * @return con_handle 12571 * @note: btstack_type H 12572 */ 12573 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_connected_get_con_handle(const uint8_t * event){ 12574 return little_endian_read_16(event, 3); 12575 } 12576 /** 12577 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 12578 * @param event packet 12579 * @return att_status 12580 * @note: btstack_type 1 12581 */ 12582 static inline uint8_t gattservice_subevent_scan_parameters_service_connected_get_att_status(const uint8_t * event){ 12583 return event[5]; 12584 } 12585 12586 /** 12587 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 12588 * @param event packet 12589 * @return con_handle 12590 * @note: btstack_type H 12591 */ 12592 static inline hci_con_handle_t gattservice_subevent_spp_service_connected_get_con_handle(const uint8_t * event){ 12593 return little_endian_read_16(event, 3); 12594 } 12595 12596 /** 12597 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 12598 * @param event packet 12599 * @return con_handle 12600 * @note: btstack_type H 12601 */ 12602 static inline hci_con_handle_t gattservice_subevent_spp_service_disconnected_get_con_handle(const uint8_t * event){ 12603 return little_endian_read_16(event, 3); 12604 } 12605 12606 /** 12607 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 12608 * @param event packet 12609 * @return hids_cid 12610 * @note: btstack_type 2 12611 */ 12612 static inline uint16_t gattservice_subevent_hid_service_connected_get_hids_cid(const uint8_t * event){ 12613 return little_endian_read_16(event, 3); 12614 } 12615 /** 12616 * @brief Get field status from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 12617 * @param event packet 12618 * @return status 12619 * @note: btstack_type 1 12620 */ 12621 static inline uint8_t gattservice_subevent_hid_service_connected_get_status(const uint8_t * event){ 12622 return event[5]; 12623 } 12624 /** 12625 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 12626 * @param event packet 12627 * @return protocol_mode 12628 * @note: btstack_type 1 12629 */ 12630 static inline uint8_t gattservice_subevent_hid_service_connected_get_protocol_mode(const uint8_t * event){ 12631 return event[6]; 12632 } 12633 /** 12634 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 12635 * @param event packet 12636 * @return num_instances 12637 * @note: btstack_type 1 12638 */ 12639 static inline uint8_t gattservice_subevent_hid_service_connected_get_num_instances(const uint8_t * event){ 12640 return event[7]; 12641 } 12642 12643 /** 12644 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT 12645 * @param event packet 12646 * @return hids_cid 12647 * @note: btstack_type 2 12648 */ 12649 static inline uint16_t gattservice_subevent_hid_report_get_hids_cid(const uint8_t * event){ 12650 return little_endian_read_16(event, 3); 12651 } 12652 /** 12653 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT 12654 * @param event packet 12655 * @return service_index 12656 * @note: btstack_type 1 12657 */ 12658 static inline uint8_t gattservice_subevent_hid_report_get_service_index(const uint8_t * event){ 12659 return event[5]; 12660 } 12661 /** 12662 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT 12663 * @param event packet 12664 * @return report_id 12665 * @note: btstack_type 1 12666 */ 12667 static inline uint8_t gattservice_subevent_hid_report_get_report_id(const uint8_t * event){ 12668 return event[6]; 12669 } 12670 /** 12671 * @brief Get field report_len from event GATTSERVICE_SUBEVENT_HID_REPORT 12672 * @param event packet 12673 * @return report_len 12674 * @note: btstack_type L 12675 */ 12676 static inline uint16_t gattservice_subevent_hid_report_get_report_len(const uint8_t * event){ 12677 return little_endian_read_16(event, 7); 12678 } 12679 /** 12680 * @brief Get field report from event GATTSERVICE_SUBEVENT_HID_REPORT 12681 * @param event packet 12682 * @return report 12683 * @note: btstack_type V 12684 */ 12685 static inline const uint8_t * gattservice_subevent_hid_report_get_report(const uint8_t * event){ 12686 return &event[9]; 12687 } 12688 12689 /** 12690 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_INFORMATION 12691 * @param event packet 12692 * @return hids_cid 12693 * @note: btstack_type 2 12694 */ 12695 static inline uint16_t gattservice_subevent_hid_information_get_hids_cid(const uint8_t * event){ 12696 return little_endian_read_16(event, 3); 12697 } 12698 /** 12699 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_INFORMATION 12700 * @param event packet 12701 * @return service_index 12702 * @note: btstack_type 1 12703 */ 12704 static inline uint8_t gattservice_subevent_hid_information_get_service_index(const uint8_t * event){ 12705 return event[5]; 12706 } 12707 /** 12708 * @brief Get field base_usb_hid_version from event GATTSERVICE_SUBEVENT_HID_INFORMATION 12709 * @param event packet 12710 * @return base_usb_hid_version 12711 * @note: btstack_type 2 12712 */ 12713 static inline uint16_t gattservice_subevent_hid_information_get_base_usb_hid_version(const uint8_t * event){ 12714 return little_endian_read_16(event, 6); 12715 } 12716 /** 12717 * @brief Get field country_code from event GATTSERVICE_SUBEVENT_HID_INFORMATION 12718 * @param event packet 12719 * @return country_code 12720 * @note: btstack_type 1 12721 */ 12722 static inline uint8_t gattservice_subevent_hid_information_get_country_code(const uint8_t * event){ 12723 return event[8]; 12724 } 12725 /** 12726 * @brief Get field remote_wake from event GATTSERVICE_SUBEVENT_HID_INFORMATION 12727 * @param event packet 12728 * @return remote_wake 12729 * @note: btstack_type 1 12730 */ 12731 static inline uint8_t gattservice_subevent_hid_information_get_remote_wake(const uint8_t * event){ 12732 return event[9]; 12733 } 12734 /** 12735 * @brief Get field normally_connectable from event GATTSERVICE_SUBEVENT_HID_INFORMATION 12736 * @param event packet 12737 * @return normally_connectable 12738 * @note: btstack_type 1 12739 */ 12740 static inline uint8_t gattservice_subevent_hid_information_get_normally_connectable(const uint8_t * event){ 12741 return event[10]; 12742 } 12743 12744 /** 12745 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 12746 * @param event packet 12747 * @return hids_cid 12748 * @note: btstack_type 2 12749 */ 12750 static inline uint16_t gattservice_subevent_hid_protocol_mode_get_hids_cid(const uint8_t * event){ 12751 return little_endian_read_16(event, 3); 12752 } 12753 /** 12754 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 12755 * @param event packet 12756 * @return service_index 12757 * @note: btstack_type 1 12758 */ 12759 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_service_index(const uint8_t * event){ 12760 return event[5]; 12761 } 12762 /** 12763 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 12764 * @param event packet 12765 * @return protocol_mode 12766 * @note: btstack_type 1 12767 */ 12768 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_protocol_mode(const uint8_t * event){ 12769 return event[6]; 12770 } 12771 12772 /** 12773 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 12774 * @param event packet 12775 * @return hids_cid 12776 * @note: btstack_type 2 12777 */ 12778 static inline uint16_t gattservice_subevent_hid_service_reports_notification_get_hids_cid(const uint8_t * event){ 12779 return little_endian_read_16(event, 3); 12780 } 12781 /** 12782 * @brief Get field configuration from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 12783 * @param event packet 12784 * @return configuration 12785 * @note: btstack_type 1 12786 */ 12787 static inline uint8_t gattservice_subevent_hid_service_reports_notification_get_configuration(const uint8_t * event){ 12788 return event[5]; 12789 } 12790 12791 /** 12792 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 12793 * @param event packet 12794 * @return con_handle 12795 * @note: btstack_type H 12796 */ 12797 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_con_handle(const uint8_t * event){ 12798 return little_endian_read_16(event, 3); 12799 } 12800 /** 12801 * @brief Get field max_scan_interval from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 12802 * @param event packet 12803 * @return max_scan_interval 12804 * @note: btstack_type 2 12805 */ 12806 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_max_scan_interval(const uint8_t * event){ 12807 return little_endian_read_16(event, 5); 12808 } 12809 /** 12810 * @brief Get field min_scan_window from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 12811 * @param event packet 12812 * @return min_scan_window 12813 * @note: btstack_type 2 12814 */ 12815 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_min_scan_window(const uint8_t * event){ 12816 return little_endian_read_16(event, 7); 12817 } 12818 12819 /** 12820 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_MICS_CLIENT_CONNECTED 12821 * @param event packet 12822 * @return hids_cid 12823 * @note: btstack_type 2 12824 */ 12825 static inline uint16_t gattservice_subevent_mics_client_connected_get_hids_cid(const uint8_t * event){ 12826 return little_endian_read_16(event, 3); 12827 } 12828 /** 12829 * @brief Get field status from event GATTSERVICE_SUBEVENT_MICS_CLIENT_CONNECTED 12830 * @param event packet 12831 * @return status 12832 * @note: btstack_type 1 12833 */ 12834 static inline uint8_t gattservice_subevent_mics_client_connected_get_status(const uint8_t * event){ 12835 return event[5]; 12836 } 12837 12838 /** 12839 * @brief Get field cid from event GATTSERVICE_SUBEVENT_MICS_CLIENT_MUTE 12840 * @param event packet 12841 * @return cid 12842 * @note: btstack_type 2 12843 */ 12844 static inline uint16_t gattservice_subevent_mics_client_mute_get_cid(const uint8_t * event){ 12845 return little_endian_read_16(event, 3); 12846 } 12847 /** 12848 * @brief Get field status from event GATTSERVICE_SUBEVENT_MICS_CLIENT_MUTE 12849 * @param event packet 12850 * @return status 12851 * @note: btstack_type 1 12852 */ 12853 static inline uint8_t gattservice_subevent_mics_client_mute_get_status(const uint8_t * event){ 12854 return event[5]; 12855 } 12856 /** 12857 * @brief Get field state from event GATTSERVICE_SUBEVENT_MICS_CLIENT_MUTE 12858 * @param event packet 12859 * @return state 12860 * @note: btstack_type 1 12861 */ 12862 static inline uint8_t gattservice_subevent_mics_client_mute_get_state(const uint8_t * event){ 12863 return event[6]; 12864 } 12865 12866 /** 12867 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_MICS_SERVER_MUTE 12868 * @param event packet 12869 * @return con_handle 12870 * @note: btstack_type H 12871 */ 12872 static inline hci_con_handle_t gattservice_subevent_mics_server_mute_get_con_handle(const uint8_t * event){ 12873 return little_endian_read_16(event, 3); 12874 } 12875 /** 12876 * @brief Get field state from event GATTSERVICE_SUBEVENT_MICS_SERVER_MUTE 12877 * @param event packet 12878 * @return state 12879 * @note: btstack_type 1 12880 */ 12881 static inline uint8_t gattservice_subevent_mics_server_mute_get_state(const uint8_t * event){ 12882 return event[5]; 12883 } 12884 12885 /** 12886 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_AICS_SERVER_MUTE_MODE 12887 * @param event packet 12888 * @return con_handle 12889 * @note: btstack_type H 12890 */ 12891 static inline hci_con_handle_t gattservice_subevent_aics_server_mute_mode_get_con_handle(const uint8_t * event){ 12892 return little_endian_read_16(event, 3); 12893 } 12894 /** 12895 * @brief Get field index from event GATTSERVICE_SUBEVENT_AICS_SERVER_MUTE_MODE 12896 * @param event packet 12897 * @return index 12898 * @note: btstack_type 1 12899 */ 12900 static inline uint8_t gattservice_subevent_aics_server_mute_mode_get_index(const uint8_t * event){ 12901 return event[5]; 12902 } 12903 /** 12904 * @brief Get field state from event GATTSERVICE_SUBEVENT_AICS_SERVER_MUTE_MODE 12905 * @param event packet 12906 * @return state 12907 * @note: btstack_type 1 12908 */ 12909 static inline uint8_t gattservice_subevent_aics_server_mute_mode_get_state(const uint8_t * event){ 12910 return event[6]; 12911 } 12912 12913 /** 12914 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_AICS_SERVER_GAIN_MODE 12915 * @param event packet 12916 * @return con_handle 12917 * @note: btstack_type H 12918 */ 12919 static inline hci_con_handle_t gattservice_subevent_aics_server_gain_mode_get_con_handle(const uint8_t * event){ 12920 return little_endian_read_16(event, 3); 12921 } 12922 /** 12923 * @brief Get field index from event GATTSERVICE_SUBEVENT_AICS_SERVER_GAIN_MODE 12924 * @param event packet 12925 * @return index 12926 * @note: btstack_type 1 12927 */ 12928 static inline uint8_t gattservice_subevent_aics_server_gain_mode_get_index(const uint8_t * event){ 12929 return event[5]; 12930 } 12931 /** 12932 * @brief Get field state from event GATTSERVICE_SUBEVENT_AICS_SERVER_GAIN_MODE 12933 * @param event packet 12934 * @return state 12935 * @note: btstack_type 1 12936 */ 12937 static inline uint8_t gattservice_subevent_aics_server_gain_mode_get_state(const uint8_t * event){ 12938 return event[6]; 12939 } 12940 12941 /** 12942 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_AICS_SERVER_GAIN_CHANGED 12943 * @param event packet 12944 * @return con_handle 12945 * @note: btstack_type H 12946 */ 12947 static inline hci_con_handle_t gattservice_subevent_aics_server_gain_changed_get_con_handle(const uint8_t * event){ 12948 return little_endian_read_16(event, 3); 12949 } 12950 /** 12951 * @brief Get field index from event GATTSERVICE_SUBEVENT_AICS_SERVER_GAIN_CHANGED 12952 * @param event packet 12953 * @return index 12954 * @note: btstack_type 1 12955 */ 12956 static inline uint8_t gattservice_subevent_aics_server_gain_changed_get_index(const uint8_t * event){ 12957 return event[5]; 12958 } 12959 /** 12960 * @brief Get field gain_db from event GATTSERVICE_SUBEVENT_AICS_SERVER_GAIN_CHANGED 12961 * @param event packet 12962 * @return gain_db 12963 * @note: btstack_type 1 12964 */ 12965 static inline uint8_t gattservice_subevent_aics_server_gain_changed_get_gain_db(const uint8_t * event){ 12966 return event[6]; 12967 } 12968 12969 /** 12970 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_AICS_SERVER_AUDIO_INPUT_DESC_CHANGED 12971 * @param event packet 12972 * @return con_handle 12973 * @note: btstack_type H 12974 */ 12975 static inline hci_con_handle_t gattservice_subevent_aics_server_audio_input_desc_changed_get_con_handle(const uint8_t * event){ 12976 return little_endian_read_16(event, 3); 12977 } 12978 /** 12979 * @brief Get field index from event GATTSERVICE_SUBEVENT_AICS_SERVER_AUDIO_INPUT_DESC_CHANGED 12980 * @param event packet 12981 * @return index 12982 * @note: btstack_type 1 12983 */ 12984 static inline uint8_t gattservice_subevent_aics_server_audio_input_desc_changed_get_index(const uint8_t * event){ 12985 return event[5]; 12986 } 12987 /** 12988 * @brief Get field description_len from event GATTSERVICE_SUBEVENT_AICS_SERVER_AUDIO_INPUT_DESC_CHANGED 12989 * @param event packet 12990 * @return description_len 12991 * @note: btstack_type J 12992 */ 12993 static inline uint8_t gattservice_subevent_aics_server_audio_input_desc_changed_get_description_len(const uint8_t * event){ 12994 return event[6]; 12995 } 12996 /** 12997 * @brief Get field description from event GATTSERVICE_SUBEVENT_AICS_SERVER_AUDIO_INPUT_DESC_CHANGED 12998 * @param event packet 12999 * @return description 13000 * @note: btstack_type V 13001 */ 13002 static inline const uint8_t * gattservice_subevent_aics_server_audio_input_desc_changed_get_description(const uint8_t * event){ 13003 return &event[7]; 13004 } 13005 13006 /** 13007 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VOCS_SERVER_VOLUME_OFFSET 13008 * @param event packet 13009 * @return con_handle 13010 * @note: btstack_type H 13011 */ 13012 static inline hci_con_handle_t gattservice_subevent_vocs_server_volume_offset_get_con_handle(const uint8_t * event){ 13013 return little_endian_read_16(event, 3); 13014 } 13015 /** 13016 * @brief Get field index from event GATTSERVICE_SUBEVENT_VOCS_SERVER_VOLUME_OFFSET 13017 * @param event packet 13018 * @return index 13019 * @note: btstack_type 1 13020 */ 13021 static inline uint8_t gattservice_subevent_vocs_server_volume_offset_get_index(const uint8_t * event){ 13022 return event[5]; 13023 } 13024 /** 13025 * @brief Get field volume_offset from event GATTSERVICE_SUBEVENT_VOCS_SERVER_VOLUME_OFFSET 13026 * @param event packet 13027 * @return volume_offset 13028 * @note: btstack_type 2 13029 */ 13030 static inline uint16_t gattservice_subevent_vocs_server_volume_offset_get_volume_offset(const uint8_t * event){ 13031 return little_endian_read_16(event, 6); 13032 } 13033 13034 /** 13035 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VOCS_SERVER_AUDIO_LOCATION 13036 * @param event packet 13037 * @return con_handle 13038 * @note: btstack_type H 13039 */ 13040 static inline hci_con_handle_t gattservice_subevent_vocs_server_audio_location_get_con_handle(const uint8_t * event){ 13041 return little_endian_read_16(event, 3); 13042 } 13043 /** 13044 * @brief Get field index from event GATTSERVICE_SUBEVENT_VOCS_SERVER_AUDIO_LOCATION 13045 * @param event packet 13046 * @return index 13047 * @note: btstack_type 1 13048 */ 13049 static inline uint8_t gattservice_subevent_vocs_server_audio_location_get_index(const uint8_t * event){ 13050 return event[5]; 13051 } 13052 /** 13053 * @brief Get field audio_location from event GATTSERVICE_SUBEVENT_VOCS_SERVER_AUDIO_LOCATION 13054 * @param event packet 13055 * @return audio_location 13056 * @note: btstack_type 4 13057 */ 13058 static inline uint32_t gattservice_subevent_vocs_server_audio_location_get_audio_location(const uint8_t * event){ 13059 return little_endian_read_32(event, 6); 13060 } 13061 13062 /** 13063 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VOCS_SERVER_AUDIO_OUTPUT_DESCRIPTION 13064 * @param event packet 13065 * @return con_handle 13066 * @note: btstack_type H 13067 */ 13068 static inline hci_con_handle_t gattservice_subevent_vocs_server_audio_output_description_get_con_handle(const uint8_t * event){ 13069 return little_endian_read_16(event, 3); 13070 } 13071 /** 13072 * @brief Get field index from event GATTSERVICE_SUBEVENT_VOCS_SERVER_AUDIO_OUTPUT_DESCRIPTION 13073 * @param event packet 13074 * @return index 13075 * @note: btstack_type 1 13076 */ 13077 static inline uint8_t gattservice_subevent_vocs_server_audio_output_description_get_index(const uint8_t * event){ 13078 return event[5]; 13079 } 13080 /** 13081 * @brief Get field description_len from event GATTSERVICE_SUBEVENT_VOCS_SERVER_AUDIO_OUTPUT_DESCRIPTION 13082 * @param event packet 13083 * @return description_len 13084 * @note: btstack_type J 13085 */ 13086 static inline uint8_t gattservice_subevent_vocs_server_audio_output_description_get_description_len(const uint8_t * event){ 13087 return event[6]; 13088 } 13089 /** 13090 * @brief Get field description from event GATTSERVICE_SUBEVENT_VOCS_SERVER_AUDIO_OUTPUT_DESCRIPTION 13091 * @param event packet 13092 * @return description 13093 * @note: btstack_type V 13094 */ 13095 static inline const uint8_t * gattservice_subevent_vocs_server_audio_output_description_get_description(const uint8_t * event){ 13096 return &event[7]; 13097 } 13098 13099 /** 13100 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VCS_SERVER_VOLUME_STATE 13101 * @param event packet 13102 * @return con_handle 13103 * @note: btstack_type H 13104 */ 13105 static inline hci_con_handle_t gattservice_subevent_vcs_server_volume_state_get_con_handle(const uint8_t * event){ 13106 return little_endian_read_16(event, 3); 13107 } 13108 /** 13109 * @brief Get field volume_setting from event GATTSERVICE_SUBEVENT_VCS_SERVER_VOLUME_STATE 13110 * @param event packet 13111 * @return volume_setting 13112 * @note: btstack_type 1 13113 */ 13114 static inline uint8_t gattservice_subevent_vcs_server_volume_state_get_volume_setting(const uint8_t * event){ 13115 return event[5]; 13116 } 13117 /** 13118 * @brief Get field volume_change_step from event GATTSERVICE_SUBEVENT_VCS_SERVER_VOLUME_STATE 13119 * @param event packet 13120 * @return volume_change_step 13121 * @note: btstack_type 1 13122 */ 13123 static inline uint8_t gattservice_subevent_vcs_server_volume_state_get_volume_change_step(const uint8_t * event){ 13124 return event[6]; 13125 } 13126 /** 13127 * @brief Get field mute from event GATTSERVICE_SUBEVENT_VCS_SERVER_VOLUME_STATE 13128 * @param event packet 13129 * @return mute 13130 * @note: btstack_type 1 13131 */ 13132 static inline uint8_t gattservice_subevent_vcs_server_volume_state_get_mute(const uint8_t * event){ 13133 return event[7]; 13134 } 13135 13136 /** 13137 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VCS_VOLUME_FLAGS 13138 * @param event packet 13139 * @return con_handle 13140 * @note: btstack_type H 13141 */ 13142 static inline hci_con_handle_t gattservice_subevent_vcs_volume_flags_get_con_handle(const uint8_t * event){ 13143 return little_endian_read_16(event, 3); 13144 } 13145 /** 13146 * @brief Get field flags from event GATTSERVICE_SUBEVENT_VCS_VOLUME_FLAGS 13147 * @param event packet 13148 * @return flags 13149 * @note: btstack_type 1 13150 */ 13151 static inline uint8_t gattservice_subevent_vcs_volume_flags_get_flags(const uint8_t * event){ 13152 return event[5]; 13153 } 13154 13155 /** 13156 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SCAN_STOPPED 13157 * @param event packet 13158 * @return con_handle 13159 * @note: btstack_type H 13160 */ 13161 static inline hci_con_handle_t gattservice_subevent_bass_server_scan_stopped_get_con_handle(const uint8_t * event){ 13162 return little_endian_read_16(event, 3); 13163 } 13164 13165 /** 13166 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SCAN_STARTED 13167 * @param event packet 13168 * @return con_handle 13169 * @note: btstack_type H 13170 */ 13171 static inline hci_con_handle_t gattservice_subevent_bass_server_scan_started_get_con_handle(const uint8_t * event){ 13172 return little_endian_read_16(event, 3); 13173 } 13174 13175 /** 13176 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_BROADCAST_CODE 13177 * @param event packet 13178 * @return con_handle 13179 * @note: btstack_type H 13180 */ 13181 static inline hci_con_handle_t gattservice_subevent_bass_server_broadcast_code_get_con_handle(const uint8_t * event){ 13182 return little_endian_read_16(event, 3); 13183 } 13184 /** 13185 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SERVER_BROADCAST_CODE 13186 * @param event packet 13187 * @return source_id 13188 * @note: btstack_type 1 13189 */ 13190 static inline uint8_t gattservice_subevent_bass_server_broadcast_code_get_source_id(const uint8_t * event){ 13191 return event[5]; 13192 } 13193 /** 13194 * @brief Get field broadcast_code from event GATTSERVICE_SUBEVENT_BASS_SERVER_BROADCAST_CODE 13195 * @param event packet 13196 * @param Pointer to storage for broadcast_code 13197 * @note: btstack_type K 13198 */ 13199 static inline void gattservice_subevent_bass_server_broadcast_code_get_broadcast_code(const uint8_t * event, uint8_t * broadcast_code){ 13200 reverse_bytes(&event[6], broadcast_code, 16); 13201 } 13202 13203 /** 13204 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_ADDED 13205 * @param event packet 13206 * @return con_handle 13207 * @note: btstack_type H 13208 */ 13209 static inline hci_con_handle_t gattservice_subevent_bass_server_source_added_get_con_handle(const uint8_t * event){ 13210 return little_endian_read_16(event, 3); 13211 } 13212 /** 13213 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_ADDED 13214 * @param event packet 13215 * @return source_id 13216 * @note: btstack_type 1 13217 */ 13218 static inline uint8_t gattservice_subevent_bass_server_source_added_get_source_id(const uint8_t * event){ 13219 return event[5]; 13220 } 13221 /** 13222 * @brief Get field pa_sync from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_ADDED 13223 * @param event packet 13224 * @return pa_sync 13225 * @note: btstack_type 1 13226 */ 13227 static inline uint8_t gattservice_subevent_bass_server_source_added_get_pa_sync(const uint8_t * event){ 13228 return event[6]; 13229 } 13230 13231 /** 13232 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 13233 * @param event packet 13234 * @return con_handle 13235 * @note: btstack_type H 13236 */ 13237 static inline hci_con_handle_t gattservice_subevent_bass_server_source_modified_get_con_handle(const uint8_t * event){ 13238 return little_endian_read_16(event, 3); 13239 } 13240 /** 13241 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 13242 * @param event packet 13243 * @return source_id 13244 * @note: btstack_type 1 13245 */ 13246 static inline uint8_t gattservice_subevent_bass_server_source_modified_get_source_id(const uint8_t * event){ 13247 return event[5]; 13248 } 13249 /** 13250 * @brief Get field pa_sync from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 13251 * @param event packet 13252 * @return pa_sync 13253 * @note: btstack_type 1 13254 */ 13255 static inline uint8_t gattservice_subevent_bass_server_source_modified_get_pa_sync(const uint8_t * event){ 13256 return event[6]; 13257 } 13258 13259 /** 13260 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_DELETED 13261 * @param event packet 13262 * @return con_handle 13263 * @note: btstack_type H 13264 */ 13265 static inline hci_con_handle_t gattservice_subevent_bass_server_source_deleted_get_con_handle(const uint8_t * event){ 13266 return little_endian_read_16(event, 3); 13267 } 13268 /** 13269 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_DELETED 13270 * @param event packet 13271 * @return source_id 13272 * @note: btstack_type 1 13273 */ 13274 static inline uint8_t gattservice_subevent_bass_server_source_deleted_get_source_id(const uint8_t * event){ 13275 return event[5]; 13276 } 13277 /** 13278 * @brief Get field pa_sync from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_DELETED 13279 * @param event packet 13280 * @return pa_sync 13281 * @note: btstack_type 1 13282 */ 13283 static inline uint8_t gattservice_subevent_bass_server_source_deleted_get_pa_sync(const uint8_t * event){ 13284 return event[6]; 13285 } 13286 13287 /** 13288 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION_REQUEST 13289 * @param event packet 13290 * @return con_handle 13291 * @note: btstack_type H 13292 */ 13293 static inline hci_con_handle_t gattservice_subevent_ascs_codec_configuration_request_get_con_handle(const uint8_t * event){ 13294 return little_endian_read_16(event, 3); 13295 } 13296 /** 13297 * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION_REQUEST 13298 * @param event packet 13299 * @return ase_id 13300 * @note: btstack_type 1 13301 */ 13302 static inline uint8_t gattservice_subevent_ascs_codec_configuration_request_get_ase_id(const uint8_t * event){ 13303 return event[5]; 13304 } 13305 /** 13306 * @brief Get field target_latency from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION_REQUEST 13307 * @param event packet 13308 * @return target_latency 13309 * @note: btstack_type 1 13310 */ 13311 static inline uint8_t gattservice_subevent_ascs_codec_configuration_request_get_target_latency(const uint8_t * event){ 13312 return event[6]; 13313 } 13314 /** 13315 * @brief Get field target_phy from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION_REQUEST 13316 * @param event packet 13317 * @return target_phy 13318 * @note: btstack_type 1 13319 */ 13320 static inline uint8_t gattservice_subevent_ascs_codec_configuration_request_get_target_phy(const uint8_t * event){ 13321 return event[7]; 13322 } 13323 /** 13324 * @brief Get field coding_format from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION_REQUEST 13325 * @param event packet 13326 * @return coding_format 13327 * @note: btstack_type 1 13328 */ 13329 static inline uint8_t gattservice_subevent_ascs_codec_configuration_request_get_coding_format(const uint8_t * event){ 13330 return event[8]; 13331 } 13332 /** 13333 * @brief Get field company_id from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION_REQUEST 13334 * @param event packet 13335 * @return company_id 13336 * @note: btstack_type 2 13337 */ 13338 static inline uint16_t gattservice_subevent_ascs_codec_configuration_request_get_company_id(const uint8_t * event){ 13339 return little_endian_read_16(event, 9); 13340 } 13341 /** 13342 * @brief Get field vendor_specific_codec_id from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION_REQUEST 13343 * @param event packet 13344 * @return vendor_specific_codec_id 13345 * @note: btstack_type 2 13346 */ 13347 static inline uint16_t gattservice_subevent_ascs_codec_configuration_request_get_vendor_specific_codec_id(const uint8_t * event){ 13348 return little_endian_read_16(event, 11); 13349 } 13350 /** 13351 * @brief Get field specific_codec_configuration_mask from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION_REQUEST 13352 * @param event packet 13353 * @return specific_codec_configuration_mask 13354 * @note: btstack_type 1 13355 */ 13356 static inline uint8_t gattservice_subevent_ascs_codec_configuration_request_get_specific_codec_configuration_mask(const uint8_t * event){ 13357 return event[13]; 13358 } 13359 /** 13360 * @brief Get field sampling_frequency_index from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION_REQUEST 13361 * @param event packet 13362 * @return sampling_frequency_index 13363 * @note: btstack_type 1 13364 */ 13365 static inline uint8_t gattservice_subevent_ascs_codec_configuration_request_get_sampling_frequency_index(const uint8_t * event){ 13366 return event[14]; 13367 } 13368 /** 13369 * @brief Get field frame_duration_index from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION_REQUEST 13370 * @param event packet 13371 * @return frame_duration_index 13372 * @note: btstack_type 1 13373 */ 13374 static inline uint8_t gattservice_subevent_ascs_codec_configuration_request_get_frame_duration_index(const uint8_t * event){ 13375 return event[15]; 13376 } 13377 /** 13378 * @brief Get field audio_channel_allocation_mask from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION_REQUEST 13379 * @param event packet 13380 * @return audio_channel_allocation_mask 13381 * @note: btstack_type 4 13382 */ 13383 static inline uint32_t gattservice_subevent_ascs_codec_configuration_request_get_audio_channel_allocation_mask(const uint8_t * event){ 13384 return little_endian_read_32(event, 16); 13385 } 13386 /** 13387 * @brief Get field octets_per_frame from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION_REQUEST 13388 * @param event packet 13389 * @return octets_per_frame 13390 * @note: btstack_type 2 13391 */ 13392 static inline uint16_t gattservice_subevent_ascs_codec_configuration_request_get_octets_per_frame(const uint8_t * event){ 13393 return little_endian_read_16(event, 20); 13394 } 13395 /** 13396 * @brief Get field frame_blocks_per_sdu from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION_REQUEST 13397 * @param event packet 13398 * @return frame_blocks_per_sdu 13399 * @note: btstack_type 1 13400 */ 13401 static inline uint8_t gattservice_subevent_ascs_codec_configuration_request_get_frame_blocks_per_sdu(const uint8_t * event){ 13402 return event[22]; 13403 } 13404 13405 /** 13406 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_QOS_CONFIGURATION 13407 * @param event packet 13408 * @return con_handle 13409 * @note: btstack_type H 13410 */ 13411 static inline hci_con_handle_t gattservice_subevent_ascs_qos_configuration_get_con_handle(const uint8_t * event){ 13412 return little_endian_read_16(event, 3); 13413 } 13414 /** 13415 * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_QOS_CONFIGURATION 13416 * @param event packet 13417 * @return ase_id 13418 * @note: btstack_type 1 13419 */ 13420 static inline uint8_t gattservice_subevent_ascs_qos_configuration_get_ase_id(const uint8_t * event){ 13421 return event[5]; 13422 } 13423 /** 13424 * @brief Get field cig_id from event GATTSERVICE_SUBEVENT_ASCS_QOS_CONFIGURATION 13425 * @param event packet 13426 * @return cig_id 13427 * @note: btstack_type 1 13428 */ 13429 static inline uint8_t gattservice_subevent_ascs_qos_configuration_get_cig_id(const uint8_t * event){ 13430 return event[6]; 13431 } 13432 /** 13433 * @brief Get field cis_id from event GATTSERVICE_SUBEVENT_ASCS_QOS_CONFIGURATION 13434 * @param event packet 13435 * @return cis_id 13436 * @note: btstack_type 1 13437 */ 13438 static inline uint8_t gattservice_subevent_ascs_qos_configuration_get_cis_id(const uint8_t * event){ 13439 return event[7]; 13440 } 13441 /** 13442 * @brief Get field sdu_interval from event GATTSERVICE_SUBEVENT_ASCS_QOS_CONFIGURATION 13443 * @param event packet 13444 * @return sdu_interval 13445 * @note: btstack_type 3 13446 */ 13447 static inline uint32_t gattservice_subevent_ascs_qos_configuration_get_sdu_interval(const uint8_t * event){ 13448 return little_endian_read_24(event, 8); 13449 } 13450 /** 13451 * @brief Get field framing from event GATTSERVICE_SUBEVENT_ASCS_QOS_CONFIGURATION 13452 * @param event packet 13453 * @return framing 13454 * @note: btstack_type 1 13455 */ 13456 static inline uint8_t gattservice_subevent_ascs_qos_configuration_get_framing(const uint8_t * event){ 13457 return event[11]; 13458 } 13459 /** 13460 * @brief Get field phy from event GATTSERVICE_SUBEVENT_ASCS_QOS_CONFIGURATION 13461 * @param event packet 13462 * @return phy 13463 * @note: btstack_type 1 13464 */ 13465 static inline uint8_t gattservice_subevent_ascs_qos_configuration_get_phy(const uint8_t * event){ 13466 return event[12]; 13467 } 13468 /** 13469 * @brief Get field max_sdu from event GATTSERVICE_SUBEVENT_ASCS_QOS_CONFIGURATION 13470 * @param event packet 13471 * @return max_sdu 13472 * @note: btstack_type 2 13473 */ 13474 static inline uint16_t gattservice_subevent_ascs_qos_configuration_get_max_sdu(const uint8_t * event){ 13475 return little_endian_read_16(event, 13); 13476 } 13477 /** 13478 * @brief Get field retransmission_number from event GATTSERVICE_SUBEVENT_ASCS_QOS_CONFIGURATION 13479 * @param event packet 13480 * @return retransmission_number 13481 * @note: btstack_type 1 13482 */ 13483 static inline uint8_t gattservice_subevent_ascs_qos_configuration_get_retransmission_number(const uint8_t * event){ 13484 return event[15]; 13485 } 13486 /** 13487 * @brief Get field max_transport_latency from event GATTSERVICE_SUBEVENT_ASCS_QOS_CONFIGURATION 13488 * @param event packet 13489 * @return max_transport_latency 13490 * @note: btstack_type 2 13491 */ 13492 static inline uint16_t gattservice_subevent_ascs_qos_configuration_get_max_transport_latency(const uint8_t * event){ 13493 return little_endian_read_16(event, 16); 13494 } 13495 /** 13496 * @brief Get field presentation_delay_us from event GATTSERVICE_SUBEVENT_ASCS_QOS_CONFIGURATION 13497 * @param event packet 13498 * @return presentation_delay_us 13499 * @note: btstack_type 3 13500 */ 13501 static inline uint32_t gattservice_subevent_ascs_qos_configuration_get_presentation_delay_us(const uint8_t * event){ 13502 return little_endian_read_24(event, 18); 13503 } 13504 13505 /** 13506 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13507 * @param event packet 13508 * @return con_handle 13509 * @note: btstack_type H 13510 */ 13511 static inline hci_con_handle_t gattservice_subevent_ascs_metadata_get_con_handle(const uint8_t * event){ 13512 return little_endian_read_16(event, 3); 13513 } 13514 /** 13515 * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13516 * @param event packet 13517 * @return ase_id 13518 * @note: btstack_type 1 13519 */ 13520 static inline uint8_t gattservice_subevent_ascs_metadata_get_ase_id(const uint8_t * event){ 13521 return event[5]; 13522 } 13523 /** 13524 * @brief Get field metadata_mask from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13525 * @param event packet 13526 * @return metadata_mask 13527 * @note: btstack_type 1 13528 */ 13529 static inline uint8_t gattservice_subevent_ascs_metadata_get_metadata_mask(const uint8_t * event){ 13530 return event[6]; 13531 } 13532 /** 13533 * @brief Get field preferred_audio_contexts_mask from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13534 * @param event packet 13535 * @return preferred_audio_contexts_mask 13536 * @note: btstack_type 2 13537 */ 13538 static inline uint16_t gattservice_subevent_ascs_metadata_get_preferred_audio_contexts_mask(const uint8_t * event){ 13539 return little_endian_read_16(event, 7); 13540 } 13541 /** 13542 * @brief Get field streaming_audio_contexts_mask from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13543 * @param event packet 13544 * @return streaming_audio_contexts_mask 13545 * @note: btstack_type 2 13546 */ 13547 static inline uint16_t gattservice_subevent_ascs_metadata_get_streaming_audio_contexts_mask(const uint8_t * event){ 13548 return little_endian_read_16(event, 9); 13549 } 13550 /** 13551 * @brief Get field program_info_length from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13552 * @param event packet 13553 * @return program_info_length 13554 * @note: btstack_type J 13555 */ 13556 static inline uint8_t gattservice_subevent_ascs_metadata_get_program_info_length(const uint8_t * event){ 13557 return event[11]; 13558 } 13559 /** 13560 * @brief Get field program_info from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13561 * @param event packet 13562 * @return program_info 13563 * @note: btstack_type V 13564 */ 13565 static inline const uint8_t * gattservice_subevent_ascs_metadata_get_program_info(const uint8_t * event){ 13566 return &event[12]; 13567 } 13568 /** 13569 * @brief Get field language_code from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13570 * @param event packet 13571 * @return language_code 13572 * @note: btstack_type 3 13573 */ 13574 static inline uint32_t gattservice_subevent_ascs_metadata_get_language_code(const uint8_t * event){ 13575 return little_endian_read_24(event, 12u + event[11]); 13576 } 13577 /** 13578 * @brief Get field ccids_num from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13579 * @param event packet 13580 * @return ccids_num 13581 * @note: btstack_type J 13582 */ 13583 static inline uint8_t gattservice_subevent_ascs_metadata_get_ccids_num(const uint8_t * event){ 13584 return event[12u + event[11] + 3u]; 13585 } 13586 /** 13587 * @brief Get field ccids from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13588 * @param event packet 13589 * @return ccids 13590 * @note: btstack_type V 13591 */ 13592 static inline const uint8_t * gattservice_subevent_ascs_metadata_get_ccids(const uint8_t * event){ 13593 return &event[12u + event[11] + 3u + 1u]; 13594 } 13595 /** 13596 * @brief Get field parental_rating from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13597 * @param event packet 13598 * @return parental_rating 13599 * @note: btstack_type 1 13600 */ 13601 static inline uint8_t gattservice_subevent_ascs_metadata_get_parental_rating(const uint8_t * event){ 13602 return event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u]]; 13603 } 13604 /** 13605 * @brief Get field program_info_uri_length from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13606 * @param event packet 13607 * @return program_info_uri_length 13608 * @note: btstack_type J 13609 */ 13610 static inline uint8_t gattservice_subevent_ascs_metadata_get_program_info_uri_length(const uint8_t * event){ 13611 return event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u]; 13612 } 13613 /** 13614 * @brief Get field program_info_uri from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13615 * @param event packet 13616 * @return program_info_uri 13617 * @note: btstack_type V 13618 */ 13619 static inline const uint8_t * gattservice_subevent_ascs_metadata_get_program_info_uri(const uint8_t * event){ 13620 return &event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u]; 13621 } 13622 /** 13623 * @brief Get field extended_metadata_type from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13624 * @param event packet 13625 * @return extended_metadata_type 13626 * @note: btstack_type 2 13627 */ 13628 static inline uint16_t gattservice_subevent_ascs_metadata_get_extended_metadata_type(const uint8_t * event){ 13629 return little_endian_read_16(event, 12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u]); 13630 } 13631 /** 13632 * @brief Get field extended_metadata_value_length from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13633 * @param event packet 13634 * @return extended_metadata_value_length 13635 * @note: btstack_type J 13636 */ 13637 static inline uint8_t gattservice_subevent_ascs_metadata_get_extended_metadata_value_length(const uint8_t * event){ 13638 return event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u]; 13639 } 13640 /** 13641 * @brief Get field extended_metadata_value from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13642 * @param event packet 13643 * @return extended_metadata_value 13644 * @note: btstack_type V 13645 */ 13646 static inline const uint8_t * gattservice_subevent_ascs_metadata_get_extended_metadata_value(const uint8_t * event){ 13647 return &event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u + 1u]; 13648 } 13649 /** 13650 * @brief Get field vendor_specific_metadata_type from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13651 * @param event packet 13652 * @return vendor_specific_metadata_type 13653 * @note: btstack_type 2 13654 */ 13655 static inline uint16_t gattservice_subevent_ascs_metadata_get_vendor_specific_metadata_type(const uint8_t * event){ 13656 return little_endian_read_16(event, 12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u]); 13657 } 13658 /** 13659 * @brief Get field vendor_specific_metadata_value_length from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13660 * @param event packet 13661 * @return vendor_specific_metadata_value_length 13662 * @note: btstack_type J 13663 */ 13664 static inline uint8_t gattservice_subevent_ascs_metadata_get_vendor_specific_metadata_value_length(const uint8_t * event){ 13665 return event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u] + 2u]; 13666 } 13667 /** 13668 * @brief Get field vendor_specific_metadata_value from event GATTSERVICE_SUBEVENT_ASCS_METADATA 13669 * @param event packet 13670 * @return vendor_specific_metadata_value 13671 * @note: btstack_type V 13672 */ 13673 static inline const uint8_t * gattservice_subevent_ascs_metadata_get_vendor_specific_metadata_value(const uint8_t * event){ 13674 return &event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u] + 2u + 1u]; 13675 } 13676 13677 /** 13678 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_START_READY 13679 * @param event packet 13680 * @return con_handle 13681 * @note: btstack_type H 13682 */ 13683 static inline hci_con_handle_t gattservice_subevent_ascs_client_start_ready_get_con_handle(const uint8_t * event){ 13684 return little_endian_read_16(event, 3); 13685 } 13686 /** 13687 * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_START_READY 13688 * @param event packet 13689 * @return ase_id 13690 * @note: btstack_type 1 13691 */ 13692 static inline uint8_t gattservice_subevent_ascs_client_start_ready_get_ase_id(const uint8_t * event){ 13693 return event[5]; 13694 } 13695 13696 /** 13697 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_DISABLING 13698 * @param event packet 13699 * @return con_handle 13700 * @note: btstack_type H 13701 */ 13702 static inline hci_con_handle_t gattservice_subevent_ascs_client_disabling_get_con_handle(const uint8_t * event){ 13703 return little_endian_read_16(event, 3); 13704 } 13705 /** 13706 * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_DISABLING 13707 * @param event packet 13708 * @return ase_id 13709 * @note: btstack_type 1 13710 */ 13711 static inline uint8_t gattservice_subevent_ascs_client_disabling_get_ase_id(const uint8_t * event){ 13712 return event[5]; 13713 } 13714 13715 /** 13716 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_RELEASING 13717 * @param event packet 13718 * @return con_handle 13719 * @note: btstack_type H 13720 */ 13721 static inline hci_con_handle_t gattservice_subevent_ascs_client_releasing_get_con_handle(const uint8_t * event){ 13722 return little_endian_read_16(event, 3); 13723 } 13724 /** 13725 * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_RELEASING 13726 * @param event packet 13727 * @return ase_id 13728 * @note: btstack_type 1 13729 */ 13730 static inline uint8_t gattservice_subevent_ascs_client_releasing_get_ase_id(const uint8_t * event){ 13731 return event[5]; 13732 } 13733 13734 /** 13735 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_STOP_READY 13736 * @param event packet 13737 * @return con_handle 13738 * @note: btstack_type H 13739 */ 13740 static inline hci_con_handle_t gattservice_subevent_ascs_client_stop_ready_get_con_handle(const uint8_t * event){ 13741 return little_endian_read_16(event, 3); 13742 } 13743 /** 13744 * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_STOP_READY 13745 * @param event packet 13746 * @return ase_id 13747 * @note: btstack_type 1 13748 */ 13749 static inline uint8_t gattservice_subevent_ascs_client_stop_ready_get_ase_id(const uint8_t * event){ 13750 return event[5]; 13751 } 13752 13753 /** 13754 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_RELEASED 13755 * @param event packet 13756 * @return con_handle 13757 * @note: btstack_type H 13758 */ 13759 static inline hci_con_handle_t gattservice_subevent_ascs_client_released_get_con_handle(const uint8_t * event){ 13760 return little_endian_read_16(event, 3); 13761 } 13762 /** 13763 * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_RELEASED 13764 * @param event packet 13765 * @return ase_id 13766 * @note: btstack_type 1 13767 */ 13768 static inline uint8_t gattservice_subevent_ascs_client_released_get_ase_id(const uint8_t * event){ 13769 return event[5]; 13770 } 13771 13772 /** 13773 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATION_RECEIVED 13774 * @param event packet 13775 * @return con_handle 13776 * @note: btstack_type H 13777 */ 13778 static inline hci_con_handle_t gattservice_subevent_pacs_audio_location_received_get_con_handle(const uint8_t * event){ 13779 return little_endian_read_16(event, 3); 13780 } 13781 /** 13782 * @brief Get field audio_locations from event GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATION_RECEIVED 13783 * @param event packet 13784 * @return audio_locations 13785 * @note: btstack_type 4 13786 */ 13787 static inline uint32_t gattservice_subevent_pacs_audio_location_received_get_audio_locations(const uint8_t * event){ 13788 return little_endian_read_32(event, 5); 13789 } 13790 /** 13791 * @brief Get field role from event GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATION_RECEIVED 13792 * @param event packet 13793 * @return role 13794 * @note: btstack_type 1 13795 */ 13796 static inline uint8_t gattservice_subevent_pacs_audio_location_received_get_role(const uint8_t * event){ 13797 return event[9]; 13798 } 13799 13800 /** 13801 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED 13802 * @param event packet 13803 * @return con_handle 13804 * @note: btstack_type H 13805 */ 13806 static inline hci_con_handle_t gattservice_subevent_bass_client_connected_get_con_handle(const uint8_t * event){ 13807 return little_endian_read_16(event, 3); 13808 } 13809 /** 13810 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED 13811 * @param event packet 13812 * @return bass_cid 13813 * @note: btstack_type 2 13814 */ 13815 static inline uint16_t gattservice_subevent_bass_client_connected_get_bass_cid(const uint8_t * event){ 13816 return little_endian_read_16(event, 5); 13817 } 13818 /** 13819 * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED 13820 * @param event packet 13821 * @return status 13822 * @note: btstack_type 1 13823 */ 13824 static inline uint8_t gattservice_subevent_bass_client_connected_get_status(const uint8_t * event){ 13825 return event[7]; 13826 } 13827 13828 /** 13829 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_DISCONNECTED 13830 * @param event packet 13831 * @return bass_cid 13832 * @note: btstack_type 2 13833 */ 13834 static inline uint16_t gattservice_subevent_bass_client_disconnected_get_bass_cid(const uint8_t * event){ 13835 return little_endian_read_16(event, 3); 13836 } 13837 13838 /** 13839 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13840 * @param event packet 13841 * @return bass_cid 13842 * @note: btstack_type 2 13843 */ 13844 static inline uint16_t gattservice_subevent_bass_client_scan_operation_complete_get_bass_cid(const uint8_t * event){ 13845 return little_endian_read_16(event, 3); 13846 } 13847 /** 13848 * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13849 * @param event packet 13850 * @return status 13851 * @note: btstack_type 1 13852 */ 13853 static inline uint8_t gattservice_subevent_bass_client_scan_operation_complete_get_status(const uint8_t * event){ 13854 return event[5]; 13855 } 13856 /** 13857 * @brief Get field opcode from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13858 * @param event packet 13859 * @return opcode 13860 * @note: btstack_type 1 13861 */ 13862 static inline uint8_t gattservice_subevent_bass_client_scan_operation_complete_get_opcode(const uint8_t * event){ 13863 return event[6]; 13864 } 13865 13866 /** 13867 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13868 * @param event packet 13869 * @return bass_cid 13870 * @note: btstack_type 2 13871 */ 13872 // static inline uint16_t gattservice_subevent_bass_notify_receive_state_base_get_bass_cid(const uint8_t * event){ 13873 // not implemented yet 13874 // } 13875 /** 13876 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13877 * @param event packet 13878 * @return source_id 13879 * @note: btstack_type 1 13880 */ 13881 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_source_id(const uint8_t * event){ 13882 // not implemented yet 13883 // } 13884 /** 13885 * @brief Get field source_address_type from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13886 * @param event packet 13887 * @return source_address_type 13888 * @note: btstack_type 1 13889 */ 13890 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_source_address_type(const uint8_t * event){ 13891 // not implemented yet 13892 // } 13893 /** 13894 * @brief Get field source_address from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13895 * @param event packet 13896 * @return source_address 13897 * @note: btstack_type B 13898 */ 13899 // static inline bd_addr_t gattservice_subevent_bass_notify_receive_state_base_get_source_address(const uint8_t * event){ 13900 // not implemented yet 13901 // } 13902 /** 13903 * @brief Get field source_adv_sid from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13904 * @param event packet 13905 * @return source_adv_sid 13906 * @note: btstack_type 1 13907 */ 13908 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_source_adv_sid(const uint8_t * event){ 13909 // not implemented yet 13910 // } 13911 /** 13912 * @brief Get field broadcast_id from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13913 * @param event packet 13914 * @return broadcast_id 13915 * @note: btstack_type 3 13916 */ 13917 // static inline uint32_t gattservice_subevent_bass_notify_receive_state_base_get_broadcast_id(const uint8_t * event){ 13918 // not implemented yet 13919 // } 13920 /** 13921 * @brief Get field pa_sync_state from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13922 * @param event packet 13923 * @return pa_sync_state 13924 * @note: btstack_type 1 13925 */ 13926 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_pa_sync_state(const uint8_t * event){ 13927 // not implemented yet 13928 // } 13929 /** 13930 * @brief Get field big_encryption from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13931 * @param event packet 13932 * @return big_encryption 13933 * @note: btstack_type 1 13934 */ 13935 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_big_encryption(const uint8_t * event){ 13936 // not implemented yet 13937 // } 13938 /** 13939 * @brief Get field bad_code from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13940 * @param event packet 13941 * @return bad_code 13942 * @note: btstack_type P 13943 */ 13944 // static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_base_get_bad_code(const uint8_t * event){ 13945 // not implemented yet 13946 // } 13947 /** 13948 * @brief Get field subgroups_num from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13949 * @param event packet 13950 * @return subgroups_num 13951 * @note: btstack_type 1 13952 */ 13953 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_subgroups_num(const uint8_t * event){ 13954 // not implemented yet 13955 // } 13956 13957 /** 13958 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13959 * @param event packet 13960 * @return bass_cid 13961 * @note: btstack_type 2 13962 */ 13963 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){ 13964 return little_endian_read_16(event, 3); 13965 } 13966 /** 13967 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13968 * @param event packet 13969 * @return source_id 13970 * @note: btstack_type 1 13971 */ 13972 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_source_id(const uint8_t * event){ 13973 return event[5]; 13974 } 13975 /** 13976 * @brief Get field bis_sync_state from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13977 * @param event packet 13978 * @return bis_sync_state 13979 * @note: btstack_type 4 13980 */ 13981 static inline uint32_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){ 13982 return little_endian_read_32(event, 6); 13983 } 13984 /** 13985 * @brief Get field metadata_mask from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13986 * @param event packet 13987 * @return metadata_mask 13988 * @note: btstack_type 1 13989 */ 13990 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){ 13991 return event[10]; 13992 } 13993 /** 13994 * @brief Get field preferred_audio_contexts_mask from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13995 * @param event packet 13996 * @return preferred_audio_contexts_mask 13997 * @note: btstack_type 2 13998 */ 13999 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){ 14000 return little_endian_read_16(event, 11); 14001 } 14002 /** 14003 * @brief Get field streaming_audio_contexts_mask from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14004 * @param event packet 14005 * @return streaming_audio_contexts_mask 14006 * @note: btstack_type 2 14007 */ 14008 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){ 14009 return little_endian_read_16(event, 13); 14010 } 14011 /** 14012 * @brief Get field program_info_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14013 * @param event packet 14014 * @return program_info_length 14015 * @note: btstack_type J 14016 */ 14017 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){ 14018 return event[15]; 14019 } 14020 /** 14021 * @brief Get field program_info from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14022 * @param event packet 14023 * @return program_info 14024 * @note: btstack_type V 14025 */ 14026 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info(const uint8_t * event){ 14027 return &event[16]; 14028 } 14029 /** 14030 * @brief Get field language_code from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14031 * @param event packet 14032 * @return language_code 14033 * @note: btstack_type 3 14034 */ 14035 static inline uint32_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_language_code(const uint8_t * event){ 14036 return little_endian_read_24(event, 16u + event[15]); 14037 } 14038 /** 14039 * @brief Get field ccids_num from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14040 * @param event packet 14041 * @return ccids_num 14042 * @note: btstack_type J 14043 */ 14044 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){ 14045 return event[16u + event[15] + 3u]; 14046 } 14047 /** 14048 * @brief Get field ccids from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14049 * @param event packet 14050 * @return ccids 14051 * @note: btstack_type V 14052 */ 14053 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_ccids(const uint8_t * event){ 14054 return &event[16u + event[15] + 3u + 1u]; 14055 } 14056 /** 14057 * @brief Get field parental_rating from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14058 * @param event packet 14059 * @return parental_rating 14060 * @note: btstack_type 1 14061 */ 14062 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){ 14063 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]]; 14064 } 14065 /** 14066 * @brief Get field program_info_uri_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14067 * @param event packet 14068 * @return program_info_uri_length 14069 * @note: btstack_type J 14070 */ 14071 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){ 14072 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; 14073 } 14074 /** 14075 * @brief Get field program_info_uri from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14076 * @param event packet 14077 * @return program_info_uri 14078 * @note: btstack_type V 14079 */ 14080 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){ 14081 return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u]; 14082 } 14083 /** 14084 * @brief Get field extended_metadata_type from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14085 * @param event packet 14086 * @return extended_metadata_type 14087 * @note: btstack_type 2 14088 */ 14089 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){ 14090 return little_endian_read_16(event, 16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]); 14091 } 14092 /** 14093 * @brief Get field extended_metadata_value_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14094 * @param event packet 14095 * @return extended_metadata_value_length 14096 * @note: btstack_type J 14097 */ 14098 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){ 14099 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]; 14100 } 14101 /** 14102 * @brief Get field extended_metadata_value from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14103 * @param event packet 14104 * @return extended_metadata_value 14105 * @note: btstack_type V 14106 */ 14107 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){ 14108 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]; 14109 } 14110 /** 14111 * @brief Get field vendor_specific_metadata_type from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14112 * @param event packet 14113 * @return vendor_specific_metadata_type 14114 * @note: btstack_type 2 14115 */ 14116 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){ 14117 return little_endian_read_16(event, 16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u]); 14118 } 14119 /** 14120 * @brief Get field vendor_specific_metadata_value_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14121 * @param event packet 14122 * @return vendor_specific_metadata_value_length 14123 * @note: btstack_type J 14124 */ 14125 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){ 14126 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]; 14127 } 14128 /** 14129 * @brief Get field vendor_specific_metadata_value from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 14130 * @param event packet 14131 * @return vendor_specific_metadata_value 14132 * @note: btstack_type V 14133 */ 14134 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){ 14135 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]; 14136 } 14137 14138 /** 14139 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14140 * @param event packet 14141 * @return bass_cid 14142 * @note: btstack_type 2 14143 */ 14144 static inline uint16_t gattservice_subevent_bass_client_notification_complete_get_bass_cid(const uint8_t * event){ 14145 return little_endian_read_16(event, 3); 14146 } 14147 /** 14148 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 14149 * @param event packet 14150 * @return source_id 14151 * @note: btstack_type 1 14152 */ 14153 static inline uint8_t gattservice_subevent_bass_client_notification_complete_get_source_id(const uint8_t * event){ 14154 return event[5]; 14155 } 14156 14157 /** 14158 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14159 * @param event packet 14160 * @return bass_cid 14161 * @note: btstack_type 2 14162 */ 14163 static inline uint16_t gattservice_subevent_bass_client_source_operation_complete_get_bass_cid(const uint8_t * event){ 14164 return little_endian_read_16(event, 3); 14165 } 14166 /** 14167 * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14168 * @param event packet 14169 * @return status 14170 * @note: btstack_type 1 14171 */ 14172 static inline uint8_t gattservice_subevent_bass_client_source_operation_complete_get_status(const uint8_t * event){ 14173 return event[5]; 14174 } 14175 /** 14176 * @brief Get field opcode from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14177 * @param event packet 14178 * @return opcode 14179 * @note: btstack_type 1 14180 */ 14181 static inline uint8_t gattservice_subevent_bass_client_source_operation_complete_get_opcode(const uint8_t * event){ 14182 return event[6]; 14183 } 14184 /** 14185 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 14186 * @param event packet 14187 * @return source_id 14188 * @note: btstack_type 1 14189 */ 14190 static inline uint8_t gattservice_subevent_bass_client_source_operation_complete_get_source_id(const uint8_t * event){ 14191 return event[7]; 14192 } 14193 14194 /** 14195 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_PACS_CONNECTED 14196 * @param event packet 14197 * @return con_handle 14198 * @note: btstack_type H 14199 */ 14200 static inline hci_con_handle_t gattservice_subevent_pacs_connected_get_con_handle(const uint8_t * event){ 14201 return little_endian_read_16(event, 3); 14202 } 14203 /** 14204 * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_CONNECTED 14205 * @param event packet 14206 * @return pacs_cid 14207 * @note: btstack_type 2 14208 */ 14209 static inline uint16_t gattservice_subevent_pacs_connected_get_pacs_cid(const uint8_t * event){ 14210 return little_endian_read_16(event, 5); 14211 } 14212 /** 14213 * @brief Get field status from event GATTSERVICE_SUBEVENT_PACS_CONNECTED 14214 * @param event packet 14215 * @return status 14216 * @note: btstack_type 1 14217 */ 14218 static inline uint8_t gattservice_subevent_pacs_connected_get_status(const uint8_t * event){ 14219 return event[7]; 14220 } 14221 14222 /** 14223 * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_OPERATION_DONE 14224 * @param event packet 14225 * @return pacs_cid 14226 * @note: btstack_type 2 14227 */ 14228 static inline uint16_t gattservice_subevent_pacs_operation_done_get_pacs_cid(const uint8_t * event){ 14229 return little_endian_read_16(event, 3); 14230 } 14231 /** 14232 * @brief Get field status from event GATTSERVICE_SUBEVENT_PACS_OPERATION_DONE 14233 * @param event packet 14234 * @return status 14235 * @note: btstack_type 1 14236 */ 14237 static inline uint8_t gattservice_subevent_pacs_operation_done_get_status(const uint8_t * event){ 14238 return event[5]; 14239 } 14240 14241 /** 14242 * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATIONS 14243 * @param event packet 14244 * @return pacs_cid 14245 * @note: btstack_type 2 14246 */ 14247 static inline uint16_t gattservice_subevent_pacs_audio_locations_get_pacs_cid(const uint8_t * event){ 14248 return little_endian_read_16(event, 3); 14249 } 14250 /** 14251 * @brief Get field le_audio_role from event GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATIONS 14252 * @param event packet 14253 * @return le_audio_role 14254 * @note: btstack_type 1 14255 */ 14256 static inline uint8_t gattservice_subevent_pacs_audio_locations_get_le_audio_role(const uint8_t * event){ 14257 return event[5]; 14258 } 14259 /** 14260 * @brief Get field audio_location_mask from event GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATIONS 14261 * @param event packet 14262 * @return audio_location_mask 14263 * @note: btstack_type 4 14264 */ 14265 static inline uint32_t gattservice_subevent_pacs_audio_locations_get_audio_location_mask(const uint8_t * event){ 14266 return little_endian_read_32(event, 6); 14267 } 14268 14269 /** 14270 * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_AVAILABLE_AUDIO_CONTEXTS 14271 * @param event packet 14272 * @return pacs_cid 14273 * @note: btstack_type 2 14274 */ 14275 static inline uint16_t gattservice_subevent_pacs_available_audio_contexts_get_pacs_cid(const uint8_t * event){ 14276 return little_endian_read_16(event, 3); 14277 } 14278 /** 14279 * @brief Get field sink_mask from event GATTSERVICE_SUBEVENT_PACS_AVAILABLE_AUDIO_CONTEXTS 14280 * @param event packet 14281 * @return sink_mask 14282 * @note: btstack_type 2 14283 */ 14284 static inline uint16_t gattservice_subevent_pacs_available_audio_contexts_get_sink_mask(const uint8_t * event){ 14285 return little_endian_read_16(event, 5); 14286 } 14287 /** 14288 * @brief Get field source_mask from event GATTSERVICE_SUBEVENT_PACS_AVAILABLE_AUDIO_CONTEXTS 14289 * @param event packet 14290 * @return source_mask 14291 * @note: btstack_type 2 14292 */ 14293 static inline uint16_t gattservice_subevent_pacs_available_audio_contexts_get_source_mask(const uint8_t * event){ 14294 return little_endian_read_16(event, 7); 14295 } 14296 14297 /** 14298 * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_SUPPORTED_AUDIO_CONTEXTS 14299 * @param event packet 14300 * @return pacs_cid 14301 * @note: btstack_type 2 14302 */ 14303 static inline uint16_t gattservice_subevent_pacs_supported_audio_contexts_get_pacs_cid(const uint8_t * event){ 14304 return little_endian_read_16(event, 3); 14305 } 14306 /** 14307 * @brief Get field sink_mask from event GATTSERVICE_SUBEVENT_PACS_SUPPORTED_AUDIO_CONTEXTS 14308 * @param event packet 14309 * @return sink_mask 14310 * @note: btstack_type 2 14311 */ 14312 static inline uint16_t gattservice_subevent_pacs_supported_audio_contexts_get_sink_mask(const uint8_t * event){ 14313 return little_endian_read_16(event, 5); 14314 } 14315 /** 14316 * @brief Get field source_mask from event GATTSERVICE_SUBEVENT_PACS_SUPPORTED_AUDIO_CONTEXTS 14317 * @param event packet 14318 * @return source_mask 14319 * @note: btstack_type 2 14320 */ 14321 static inline uint16_t gattservice_subevent_pacs_supported_audio_contexts_get_source_mask(const uint8_t * event){ 14322 return little_endian_read_16(event, 7); 14323 } 14324 14325 /** 14326 * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14327 * @param event packet 14328 * @return pacs_cid 14329 * @note: btstack_type 2 14330 */ 14331 static inline uint16_t gattservice_subevent_pacs_pack_record_get_pacs_cid(const uint8_t * event){ 14332 return little_endian_read_16(event, 3); 14333 } 14334 /** 14335 * @brief Get field le_audio_role from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14336 * @param event packet 14337 * @return le_audio_role 14338 * @note: btstack_type 1 14339 */ 14340 static inline uint8_t gattservice_subevent_pacs_pack_record_get_le_audio_role(const uint8_t * event){ 14341 return event[5]; 14342 } 14343 /** 14344 * @brief Get field coding_format from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14345 * @param event packet 14346 * @return coding_format 14347 * @note: btstack_type 1 14348 */ 14349 static inline uint8_t gattservice_subevent_pacs_pack_record_get_coding_format(const uint8_t * event){ 14350 return event[6]; 14351 } 14352 /** 14353 * @brief Get field company_id from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14354 * @param event packet 14355 * @return company_id 14356 * @note: btstack_type 2 14357 */ 14358 static inline uint16_t gattservice_subevent_pacs_pack_record_get_company_id(const uint8_t * event){ 14359 return little_endian_read_16(event, 7); 14360 } 14361 /** 14362 * @brief Get field vendor_specific_codec_id from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14363 * @param event packet 14364 * @return vendor_specific_codec_id 14365 * @note: btstack_type 2 14366 */ 14367 static inline uint16_t gattservice_subevent_pacs_pack_record_get_vendor_specific_codec_id(const uint8_t * event){ 14368 return little_endian_read_16(event, 9); 14369 } 14370 /** 14371 * @brief Get field codec_capability_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14372 * @param event packet 14373 * @return codec_capability_mask 14374 * @note: btstack_type 1 14375 */ 14376 static inline uint8_t gattservice_subevent_pacs_pack_record_get_codec_capability_mask(const uint8_t * event){ 14377 return event[11]; 14378 } 14379 /** 14380 * @brief Get field supported_sampling_frequencies_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14381 * @param event packet 14382 * @return supported_sampling_frequencies_mask 14383 * @note: btstack_type 2 14384 */ 14385 static inline uint16_t gattservice_subevent_pacs_pack_record_get_supported_sampling_frequencies_mask(const uint8_t * event){ 14386 return little_endian_read_16(event, 12); 14387 } 14388 /** 14389 * @brief Get field supported_frame_durations_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14390 * @param event packet 14391 * @return supported_frame_durations_mask 14392 * @note: btstack_type 1 14393 */ 14394 static inline uint8_t gattservice_subevent_pacs_pack_record_get_supported_frame_durations_mask(const uint8_t * event){ 14395 return event[14]; 14396 } 14397 /** 14398 * @brief Get field supported_audio_channel_counts_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14399 * @param event packet 14400 * @return supported_audio_channel_counts_mask 14401 * @note: btstack_type 1 14402 */ 14403 static inline uint8_t gattservice_subevent_pacs_pack_record_get_supported_audio_channel_counts_mask(const uint8_t * event){ 14404 return event[15]; 14405 } 14406 /** 14407 * @brief Get field supported_octets_per_frame_min_num from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14408 * @param event packet 14409 * @return supported_octets_per_frame_min_num 14410 * @note: btstack_type 2 14411 */ 14412 static inline uint16_t gattservice_subevent_pacs_pack_record_get_supported_octets_per_frame_min_num(const uint8_t * event){ 14413 return little_endian_read_16(event, 16); 14414 } 14415 /** 14416 * @brief Get field supported_octets_per_frame_max_num from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14417 * @param event packet 14418 * @return supported_octets_per_frame_max_num 14419 * @note: btstack_type 2 14420 */ 14421 static inline uint16_t gattservice_subevent_pacs_pack_record_get_supported_octets_per_frame_max_num(const uint8_t * event){ 14422 return little_endian_read_16(event, 18); 14423 } 14424 /** 14425 * @brief Get field supported_max_codec_frames_per_sdu from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14426 * @param event packet 14427 * @return supported_max_codec_frames_per_sdu 14428 * @note: btstack_type 1 14429 */ 14430 static inline uint8_t gattservice_subevent_pacs_pack_record_get_supported_max_codec_frames_per_sdu(const uint8_t * event){ 14431 return event[20]; 14432 } 14433 /** 14434 * @brief Get field metadata_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14435 * @param event packet 14436 * @return metadata_mask 14437 * @note: btstack_type 2 14438 */ 14439 static inline uint16_t gattservice_subevent_pacs_pack_record_get_metadata_mask(const uint8_t * event){ 14440 return little_endian_read_16(event, 21); 14441 } 14442 /** 14443 * @brief Get field preferred_audio_contexts_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14444 * @param event packet 14445 * @return preferred_audio_contexts_mask 14446 * @note: btstack_type 2 14447 */ 14448 static inline uint16_t gattservice_subevent_pacs_pack_record_get_preferred_audio_contexts_mask(const uint8_t * event){ 14449 return little_endian_read_16(event, 23); 14450 } 14451 /** 14452 * @brief Get field streaming_audio_contexts_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14453 * @param event packet 14454 * @return streaming_audio_contexts_mask 14455 * @note: btstack_type 2 14456 */ 14457 static inline uint16_t gattservice_subevent_pacs_pack_record_get_streaming_audio_contexts_mask(const uint8_t * event){ 14458 return little_endian_read_16(event, 25); 14459 } 14460 /** 14461 * @brief Get field program_info_length from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14462 * @param event packet 14463 * @return program_info_length 14464 * @note: btstack_type J 14465 */ 14466 static inline uint8_t gattservice_subevent_pacs_pack_record_get_program_info_length(const uint8_t * event){ 14467 return event[27]; 14468 } 14469 /** 14470 * @brief Get field program_info from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14471 * @param event packet 14472 * @return program_info 14473 * @note: btstack_type V 14474 */ 14475 static inline const uint8_t * gattservice_subevent_pacs_pack_record_get_program_info(const uint8_t * event){ 14476 return &event[28]; 14477 } 14478 /** 14479 * @brief Get field language_code from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14480 * @param event packet 14481 * @return language_code 14482 * @note: btstack_type 3 14483 */ 14484 static inline uint32_t gattservice_subevent_pacs_pack_record_get_language_code(const uint8_t * event){ 14485 return little_endian_read_24(event, 28u + event[27]); 14486 } 14487 /** 14488 * @brief Get field ccids_num from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14489 * @param event packet 14490 * @return ccids_num 14491 * @note: btstack_type J 14492 */ 14493 static inline uint8_t gattservice_subevent_pacs_pack_record_get_ccids_num(const uint8_t * event){ 14494 return event[28u + event[27] + 3u]; 14495 } 14496 /** 14497 * @brief Get field ccids from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14498 * @param event packet 14499 * @return ccids 14500 * @note: btstack_type V 14501 */ 14502 static inline const uint8_t * gattservice_subevent_pacs_pack_record_get_ccids(const uint8_t * event){ 14503 return &event[28u + event[27] + 3u + 1u]; 14504 } 14505 /** 14506 * @brief Get field parental_rating from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14507 * @param event packet 14508 * @return parental_rating 14509 * @note: btstack_type 1 14510 */ 14511 static inline uint8_t gattservice_subevent_pacs_pack_record_get_parental_rating(const uint8_t * event){ 14512 return event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u]]; 14513 } 14514 /** 14515 * @brief Get field program_info_uri_length from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14516 * @param event packet 14517 * @return program_info_uri_length 14518 * @note: btstack_type J 14519 */ 14520 static inline uint8_t gattservice_subevent_pacs_pack_record_get_program_info_uri_length(const uint8_t * event){ 14521 return event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u]; 14522 } 14523 /** 14524 * @brief Get field program_info_uri from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14525 * @param event packet 14526 * @return program_info_uri 14527 * @note: btstack_type V 14528 */ 14529 static inline const uint8_t * gattservice_subevent_pacs_pack_record_get_program_info_uri(const uint8_t * event){ 14530 return &event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u]; 14531 } 14532 /** 14533 * @brief Get field extended_metadata_type from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14534 * @param event packet 14535 * @return extended_metadata_type 14536 * @note: btstack_type 2 14537 */ 14538 static inline uint16_t gattservice_subevent_pacs_pack_record_get_extended_metadata_type(const uint8_t * event){ 14539 return little_endian_read_16(event, 28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u]); 14540 } 14541 /** 14542 * @brief Get field extended_metadata_value_length from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14543 * @param event packet 14544 * @return extended_metadata_value_length 14545 * @note: btstack_type J 14546 */ 14547 static inline uint8_t gattservice_subevent_pacs_pack_record_get_extended_metadata_value_length(const uint8_t * event){ 14548 return event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u]; 14549 } 14550 /** 14551 * @brief Get field extended_metadata_value from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14552 * @param event packet 14553 * @return extended_metadata_value 14554 * @note: btstack_type V 14555 */ 14556 static inline const uint8_t * gattservice_subevent_pacs_pack_record_get_extended_metadata_value(const uint8_t * event){ 14557 return &event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u + 1u]; 14558 } 14559 /** 14560 * @brief Get field vendor_specific_metadata_type from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14561 * @param event packet 14562 * @return vendor_specific_metadata_type 14563 * @note: btstack_type 2 14564 */ 14565 static inline uint16_t gattservice_subevent_pacs_pack_record_get_vendor_specific_metadata_type(const uint8_t * event){ 14566 return little_endian_read_16(event, 28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u]); 14567 } 14568 /** 14569 * @brief Get field vendor_specific_metadata_value_length from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14570 * @param event packet 14571 * @return vendor_specific_metadata_value_length 14572 * @note: btstack_type J 14573 */ 14574 static inline uint8_t gattservice_subevent_pacs_pack_record_get_vendor_specific_metadata_value_length(const uint8_t * event){ 14575 return event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u] + 2u]; 14576 } 14577 /** 14578 * @brief Get field vendor_specific_metadata_value from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 14579 * @param event packet 14580 * @return vendor_specific_metadata_value 14581 * @note: btstack_type V 14582 */ 14583 static inline const uint8_t * gattservice_subevent_pacs_pack_record_get_vendor_specific_metadata_value(const uint8_t * event){ 14584 return &event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u] + 2u + 1u]; 14585 } 14586 14587 /** 14588 * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD_DONE 14589 * @param event packet 14590 * @return pacs_cid 14591 * @note: btstack_type 2 14592 */ 14593 static inline uint16_t gattservice_subevent_pacs_pack_record_done_get_pacs_cid(const uint8_t * event){ 14594 return little_endian_read_16(event, 3); 14595 } 14596 /** 14597 * @brief Get field le_audio_role from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD_DONE 14598 * @param event packet 14599 * @return le_audio_role 14600 * @note: btstack_type 1 14601 */ 14602 static inline uint8_t gattservice_subevent_pacs_pack_record_done_get_le_audio_role(const uint8_t * event){ 14603 return event[5]; 14604 } 14605 14606 /** 14607 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CONNECTED 14608 * @param event packet 14609 * @return con_handle 14610 * @note: btstack_type H 14611 */ 14612 static inline hci_con_handle_t gattservice_subevent_ascs_connected_get_con_handle(const uint8_t * event){ 14613 return little_endian_read_16(event, 3); 14614 } 14615 /** 14616 * @brief Get field ascs_cid from event GATTSERVICE_SUBEVENT_ASCS_CONNECTED 14617 * @param event packet 14618 * @return ascs_cid 14619 * @note: btstack_type 2 14620 */ 14621 static inline uint16_t gattservice_subevent_ascs_connected_get_ascs_cid(const uint8_t * event){ 14622 return little_endian_read_16(event, 5); 14623 } 14624 /** 14625 * @brief Get field status from event GATTSERVICE_SUBEVENT_ASCS_CONNECTED 14626 * @param event packet 14627 * @return status 14628 * @note: btstack_type 1 14629 */ 14630 static inline uint8_t gattservice_subevent_ascs_connected_get_status(const uint8_t * event){ 14631 return event[7]; 14632 } 14633 14634 /** 14635 * @brief Get field ascs_cid from event GATTSERVICE_SUBEVENT_ASCS_DISCONNECTED 14636 * @param event packet 14637 * @return ascs_cid 14638 * @note: btstack_type 2 14639 */ 14640 static inline uint16_t gattservice_subevent_ascs_disconnected_get_ascs_cid(const uint8_t * event){ 14641 return little_endian_read_16(event, 3); 14642 } 14643 14644 /** 14645 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14646 * @param event packet 14647 * @return con_handle 14648 * @note: btstack_type H 14649 */ 14650 static inline hci_con_handle_t gattservice_subevent_ascs_codec_configuration_get_con_handle(const uint8_t * event){ 14651 return little_endian_read_16(event, 3); 14652 } 14653 /** 14654 * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14655 * @param event packet 14656 * @return ase_id 14657 * @note: btstack_type 1 14658 */ 14659 static inline uint8_t gattservice_subevent_ascs_codec_configuration_get_ase_id(const uint8_t * event){ 14660 return event[5]; 14661 } 14662 /** 14663 * @brief Get field framing from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14664 * @param event packet 14665 * @return framing 14666 * @note: btstack_type 1 14667 */ 14668 static inline uint8_t gattservice_subevent_ascs_codec_configuration_get_framing(const uint8_t * event){ 14669 return event[6]; 14670 } 14671 /** 14672 * @brief Get field preferred_phy from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14673 * @param event packet 14674 * @return preferred_phy 14675 * @note: btstack_type 1 14676 */ 14677 static inline uint8_t gattservice_subevent_ascs_codec_configuration_get_preferred_phy(const uint8_t * event){ 14678 return event[7]; 14679 } 14680 /** 14681 * @brief Get field preferred_retransmission_number from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14682 * @param event packet 14683 * @return preferred_retransmission_number 14684 * @note: btstack_type 1 14685 */ 14686 static inline uint8_t gattservice_subevent_ascs_codec_configuration_get_preferred_retransmission_number(const uint8_t * event){ 14687 return event[8]; 14688 } 14689 /** 14690 * @brief Get field max_transport_latency from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14691 * @param event packet 14692 * @return max_transport_latency 14693 * @note: btstack_type 2 14694 */ 14695 static inline uint16_t gattservice_subevent_ascs_codec_configuration_get_max_transport_latency(const uint8_t * event){ 14696 return little_endian_read_16(event, 9); 14697 } 14698 /** 14699 * @brief Get field presentation_delay_min from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14700 * @param event packet 14701 * @return presentation_delay_min 14702 * @note: btstack_type 3 14703 */ 14704 static inline uint32_t gattservice_subevent_ascs_codec_configuration_get_presentation_delay_min(const uint8_t * event){ 14705 return little_endian_read_24(event, 11); 14706 } 14707 /** 14708 * @brief Get field presentation_delay_max from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14709 * @param event packet 14710 * @return presentation_delay_max 14711 * @note: btstack_type 3 14712 */ 14713 static inline uint32_t gattservice_subevent_ascs_codec_configuration_get_presentation_delay_max(const uint8_t * event){ 14714 return little_endian_read_24(event, 14); 14715 } 14716 /** 14717 * @brief Get field preferred_presentation_delay_min from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14718 * @param event packet 14719 * @return preferred_presentation_delay_min 14720 * @note: btstack_type 3 14721 */ 14722 static inline uint32_t gattservice_subevent_ascs_codec_configuration_get_preferred_presentation_delay_min(const uint8_t * event){ 14723 return little_endian_read_24(event, 17); 14724 } 14725 /** 14726 * @brief Get field preferred_presentation_delay_max from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14727 * @param event packet 14728 * @return preferred_presentation_delay_max 14729 * @note: btstack_type 3 14730 */ 14731 static inline uint32_t gattservice_subevent_ascs_codec_configuration_get_preferred_presentation_delay_max(const uint8_t * event){ 14732 return little_endian_read_24(event, 20); 14733 } 14734 /** 14735 * @brief Get field coding_format from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14736 * @param event packet 14737 * @return coding_format 14738 * @note: btstack_type 1 14739 */ 14740 static inline uint8_t gattservice_subevent_ascs_codec_configuration_get_coding_format(const uint8_t * event){ 14741 return event[23]; 14742 } 14743 /** 14744 * @brief Get field company_id from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14745 * @param event packet 14746 * @return company_id 14747 * @note: btstack_type 2 14748 */ 14749 static inline uint16_t gattservice_subevent_ascs_codec_configuration_get_company_id(const uint8_t * event){ 14750 return little_endian_read_16(event, 24); 14751 } 14752 /** 14753 * @brief Get field vendor_specific_codec_id from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14754 * @param event packet 14755 * @return vendor_specific_codec_id 14756 * @note: btstack_type 2 14757 */ 14758 static inline uint16_t gattservice_subevent_ascs_codec_configuration_get_vendor_specific_codec_id(const uint8_t * event){ 14759 return little_endian_read_16(event, 26); 14760 } 14761 /** 14762 * @brief Get field specific_codec_configuration_mask from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14763 * @param event packet 14764 * @return specific_codec_configuration_mask 14765 * @note: btstack_type 1 14766 */ 14767 static inline uint8_t gattservice_subevent_ascs_codec_configuration_get_specific_codec_configuration_mask(const uint8_t * event){ 14768 return event[28]; 14769 } 14770 /** 14771 * @brief Get field sampling_frequency_index from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14772 * @param event packet 14773 * @return sampling_frequency_index 14774 * @note: btstack_type 1 14775 */ 14776 static inline uint8_t gattservice_subevent_ascs_codec_configuration_get_sampling_frequency_index(const uint8_t * event){ 14777 return event[29]; 14778 } 14779 /** 14780 * @brief Get field frame_duration_index from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14781 * @param event packet 14782 * @return frame_duration_index 14783 * @note: btstack_type 1 14784 */ 14785 static inline uint8_t gattservice_subevent_ascs_codec_configuration_get_frame_duration_index(const uint8_t * event){ 14786 return event[30]; 14787 } 14788 /** 14789 * @brief Get field audio_channel_allocation_mask from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14790 * @param event packet 14791 * @return audio_channel_allocation_mask 14792 * @note: btstack_type 4 14793 */ 14794 static inline uint32_t gattservice_subevent_ascs_codec_configuration_get_audio_channel_allocation_mask(const uint8_t * event){ 14795 return little_endian_read_32(event, 31); 14796 } 14797 /** 14798 * @brief Get field octets_per_frame from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14799 * @param event packet 14800 * @return octets_per_frame 14801 * @note: btstack_type 2 14802 */ 14803 static inline uint16_t gattservice_subevent_ascs_codec_configuration_get_octets_per_frame(const uint8_t * event){ 14804 return little_endian_read_16(event, 35); 14805 } 14806 /** 14807 * @brief Get field frame_blocks_per_sdu from event GATTSERVICE_SUBEVENT_ASCS_CODEC_CONFIGURATION 14808 * @param event packet 14809 * @return frame_blocks_per_sdu 14810 * @note: btstack_type 1 14811 */ 14812 static inline uint8_t gattservice_subevent_ascs_codec_configuration_get_frame_blocks_per_sdu(const uint8_t * event){ 14813 return event[37]; 14814 } 14815 14816 /** 14817 * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_DISCONNECTED 14818 * @param event packet 14819 * @return pacs_cid 14820 * @note: btstack_type 2 14821 */ 14822 static inline uint16_t gattservice_subevent_pacs_disconnected_get_pacs_cid(const uint8_t * event){ 14823 return little_endian_read_16(event, 3); 14824 } 14825 14826 /** 14827 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_AICS_SERVER_CONNECTED 14828 * @param event packet 14829 * @return con_handle 14830 * @note: btstack_type H 14831 */ 14832 static inline hci_con_handle_t gattservice_subevent_aics_server_connected_get_con_handle(const uint8_t * event){ 14833 return little_endian_read_16(event, 3); 14834 } 14835 /** 14836 * @brief Get field status from event GATTSERVICE_SUBEVENT_AICS_SERVER_CONNECTED 14837 * @param event packet 14838 * @return status 14839 * @note: btstack_type 1 14840 */ 14841 static inline uint8_t gattservice_subevent_aics_server_connected_get_status(const uint8_t * event){ 14842 return event[5]; 14843 } 14844 14845 /** 14846 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_AICS_SERVER_DISCONNECTED 14847 * @param event packet 14848 * @return con_handle 14849 * @note: btstack_type H 14850 */ 14851 static inline hci_con_handle_t gattservice_subevent_aics_server_disconnected_get_con_handle(const uint8_t * event){ 14852 return little_endian_read_16(event, 3); 14853 } 14854 14855 /** 14856 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_CONNECTED 14857 * @param event packet 14858 * @return con_handle 14859 * @note: btstack_type H 14860 */ 14861 static inline hci_con_handle_t gattservice_subevent_bass_server_connected_get_con_handle(const uint8_t * event){ 14862 return little_endian_read_16(event, 3); 14863 } 14864 /** 14865 * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_SERVER_CONNECTED 14866 * @param event packet 14867 * @return status 14868 * @note: btstack_type 1 14869 */ 14870 static inline uint8_t gattservice_subevent_bass_server_connected_get_status(const uint8_t * event){ 14871 return event[5]; 14872 } 14873 14874 /** 14875 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_DISCONNECTED 14876 * @param event packet 14877 * @return con_handle 14878 * @note: btstack_type H 14879 */ 14880 static inline hci_con_handle_t gattservice_subevent_bass_server_disconnected_get_con_handle(const uint8_t * event){ 14881 return little_endian_read_16(event, 3); 14882 } 14883 14884 /** 14885 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_MICS_SERVER_CONNECTED 14886 * @param event packet 14887 * @return con_handle 14888 * @note: btstack_type H 14889 */ 14890 static inline hci_con_handle_t gattservice_subevent_mics_server_connected_get_con_handle(const uint8_t * event){ 14891 return little_endian_read_16(event, 3); 14892 } 14893 /** 14894 * @brief Get field status from event GATTSERVICE_SUBEVENT_MICS_SERVER_CONNECTED 14895 * @param event packet 14896 * @return status 14897 * @note: btstack_type 1 14898 */ 14899 static inline uint8_t gattservice_subevent_mics_server_connected_get_status(const uint8_t * event){ 14900 return event[5]; 14901 } 14902 14903 /** 14904 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_MICS_SERVER_DISCONNECTED 14905 * @param event packet 14906 * @return con_handle 14907 * @note: btstack_type H 14908 */ 14909 static inline hci_con_handle_t gattservice_subevent_mics_server_disconnected_get_con_handle(const uint8_t * event){ 14910 return little_endian_read_16(event, 3); 14911 } 14912 14913 /** 14914 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_PACS_SERVER_CONNECTED 14915 * @param event packet 14916 * @return con_handle 14917 * @note: btstack_type H 14918 */ 14919 static inline hci_con_handle_t gattservice_subevent_pacs_server_connected_get_con_handle(const uint8_t * event){ 14920 return little_endian_read_16(event, 3); 14921 } 14922 /** 14923 * @brief Get field status from event GATTSERVICE_SUBEVENT_PACS_SERVER_CONNECTED 14924 * @param event packet 14925 * @return status 14926 * @note: btstack_type 1 14927 */ 14928 static inline uint8_t gattservice_subevent_pacs_server_connected_get_status(const uint8_t * event){ 14929 return event[5]; 14930 } 14931 14932 /** 14933 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_PACS_SERVER_DISCONNECTED 14934 * @param event packet 14935 * @return con_handle 14936 * @note: btstack_type H 14937 */ 14938 static inline hci_con_handle_t gattservice_subevent_pacs_server_disconnected_get_con_handle(const uint8_t * event){ 14939 return little_endian_read_16(event, 3); 14940 } 14941 14942 /** 14943 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VCS_SERVER_CONNECTED 14944 * @param event packet 14945 * @return con_handle 14946 * @note: btstack_type H 14947 */ 14948 static inline hci_con_handle_t gattservice_subevent_vcs_server_connected_get_con_handle(const uint8_t * event){ 14949 return little_endian_read_16(event, 3); 14950 } 14951 /** 14952 * @brief Get field status from event GATTSERVICE_SUBEVENT_VCS_SERVER_CONNECTED 14953 * @param event packet 14954 * @return status 14955 * @note: btstack_type 1 14956 */ 14957 static inline uint8_t gattservice_subevent_vcs_server_connected_get_status(const uint8_t * event){ 14958 return event[5]; 14959 } 14960 14961 /** 14962 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VCS_SERVER_DISCONNECTED 14963 * @param event packet 14964 * @return con_handle 14965 * @note: btstack_type H 14966 */ 14967 static inline hci_con_handle_t gattservice_subevent_vcs_server_disconnected_get_con_handle(const uint8_t * event){ 14968 return little_endian_read_16(event, 3); 14969 } 14970 14971 /** 14972 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VOCS_SERVER_CONNECTED 14973 * @param event packet 14974 * @return con_handle 14975 * @note: btstack_type H 14976 */ 14977 static inline hci_con_handle_t gattservice_subevent_vocs_server_connected_get_con_handle(const uint8_t * event){ 14978 return little_endian_read_16(event, 3); 14979 } 14980 /** 14981 * @brief Get field status from event GATTSERVICE_SUBEVENT_VOCS_SERVER_CONNECTED 14982 * @param event packet 14983 * @return status 14984 * @note: btstack_type 1 14985 */ 14986 static inline uint8_t gattservice_subevent_vocs_server_connected_get_status(const uint8_t * event){ 14987 return event[5]; 14988 } 14989 14990 /** 14991 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VOCS_SERVER_DISCONNECTED 14992 * @param event packet 14993 * @return con_handle 14994 * @note: btstack_type H 14995 */ 14996 static inline hci_con_handle_t gattservice_subevent_vocs_server_disconnected_get_con_handle(const uint8_t * event){ 14997 return little_endian_read_16(event, 3); 14998 } 14999 15000 /** 15001 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_OPENED 15002 * @param event packet 15003 * @return map_cid 15004 * @note: btstack_type 2 15005 */ 15006 static inline uint16_t map_subevent_connection_opened_get_map_cid(const uint8_t * event){ 15007 return little_endian_read_16(event, 3); 15008 } 15009 /** 15010 * @brief Get field status from event MAP_SUBEVENT_CONNECTION_OPENED 15011 * @param event packet 15012 * @return status 15013 * @note: btstack_type 1 15014 */ 15015 static inline uint8_t map_subevent_connection_opened_get_status(const uint8_t * event){ 15016 return event[5]; 15017 } 15018 /** 15019 * @brief Get field bd_addr from event MAP_SUBEVENT_CONNECTION_OPENED 15020 * @param event packet 15021 * @param Pointer to storage for bd_addr 15022 * @note: btstack_type B 15023 */ 15024 static inline void map_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 15025 reverse_bytes(&event[6], bd_addr, 6); 15026 } 15027 /** 15028 * @brief Get field con_handle from event MAP_SUBEVENT_CONNECTION_OPENED 15029 * @param event packet 15030 * @return con_handle 15031 * @note: btstack_type H 15032 */ 15033 static inline hci_con_handle_t map_subevent_connection_opened_get_con_handle(const uint8_t * event){ 15034 return little_endian_read_16(event, 12); 15035 } 15036 /** 15037 * @brief Get field incoming from event MAP_SUBEVENT_CONNECTION_OPENED 15038 * @param event packet 15039 * @return incoming 15040 * @note: btstack_type 1 15041 */ 15042 static inline uint8_t map_subevent_connection_opened_get_incoming(const uint8_t * event){ 15043 return event[14]; 15044 } 15045 15046 /** 15047 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_CLOSED 15048 * @param event packet 15049 * @return map_cid 15050 * @note: btstack_type 2 15051 */ 15052 static inline uint16_t map_subevent_connection_closed_get_map_cid(const uint8_t * event){ 15053 return little_endian_read_16(event, 3); 15054 } 15055 15056 /** 15057 * @brief Get field map_cid from event MAP_SUBEVENT_OPERATION_COMPLETED 15058 * @param event packet 15059 * @return map_cid 15060 * @note: btstack_type 2 15061 */ 15062 static inline uint16_t map_subevent_operation_completed_get_map_cid(const uint8_t * event){ 15063 return little_endian_read_16(event, 3); 15064 } 15065 /** 15066 * @brief Get field status from event MAP_SUBEVENT_OPERATION_COMPLETED 15067 * @param event packet 15068 * @return status 15069 * @note: btstack_type 1 15070 */ 15071 static inline uint8_t map_subevent_operation_completed_get_status(const uint8_t * event){ 15072 return event[5]; 15073 } 15074 15075 /** 15076 * @brief Get field map_cid from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 15077 * @param event packet 15078 * @return map_cid 15079 * @note: btstack_type 2 15080 */ 15081 static inline uint16_t map_subevent_folder_listing_item_get_map_cid(const uint8_t * event){ 15082 return little_endian_read_16(event, 3); 15083 } 15084 /** 15085 * @brief Get field name_len from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 15086 * @param event packet 15087 * @return name_len 15088 * @note: btstack_type L 15089 */ 15090 static inline uint16_t map_subevent_folder_listing_item_get_name_len(const uint8_t * event){ 15091 return little_endian_read_16(event, 5); 15092 } 15093 /** 15094 * @brief Get field name from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 15095 * @param event packet 15096 * @return name 15097 * @note: btstack_type V 15098 */ 15099 static inline const uint8_t * map_subevent_folder_listing_item_get_name(const uint8_t * event){ 15100 return &event[7]; 15101 } 15102 15103 /** 15104 * @brief Get field map_cid from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 15105 * @param event packet 15106 * @return map_cid 15107 * @note: btstack_type 2 15108 */ 15109 static inline uint16_t map_subevent_message_listing_item_get_map_cid(const uint8_t * event){ 15110 return little_endian_read_16(event, 3); 15111 } 15112 /** 15113 * @brief Get field handle from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 15114 * @param event packet 15115 * @return handle 15116 * @note: btstack_type D 15117 */ 15118 static inline const uint8_t * map_subevent_message_listing_item_get_handle(const uint8_t * event){ 15119 return (const uint8_t *) &event[5]; 15120 } 15121 15122 /** 15123 * @brief Get field map_cid from event MAP_SUBEVENT_PARSING_DONE 15124 * @param event packet 15125 * @return map_cid 15126 * @note: btstack_type 2 15127 */ 15128 static inline uint16_t map_subevent_parsing_done_get_map_cid(const uint8_t * event){ 15129 return little_endian_read_16(event, 3); 15130 } 15131 15132 15133 /** 15134 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 15135 * @param event packet 15136 * @return status 15137 * @note: btstack_type 1 15138 */ 15139 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 15140 return event[3]; 15141 } 15142 15143 /** 15144 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 15145 * @param event packet 15146 * @return status 15147 * @note: btstack_type 1 15148 */ 15149 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 15150 return event[3]; 15151 } 15152 /** 15153 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 15154 * @param event packet 15155 * @return pb_transport_cid 15156 * @note: btstack_type 2 15157 */ 15158 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 15159 return little_endian_read_16(event, 4); 15160 } 15161 /** 15162 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 15163 * @param event packet 15164 * @return pb_type 15165 * @note: btstack_type 1 15166 */ 15167 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 15168 return event[6]; 15169 } 15170 15171 /** 15172 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 15173 * @param event packet 15174 * @return pb_transport_cid 15175 * @note: btstack_type 1 15176 */ 15177 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 15178 return event[3]; 15179 } 15180 /** 15181 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 15182 * @param event packet 15183 * @return reason 15184 * @note: btstack_type 2 15185 */ 15186 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 15187 return little_endian_read_16(event, 4); 15188 } 15189 15190 /** 15191 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 15192 * @param event packet 15193 * @return pb_transport_cid 15194 * @note: btstack_type 2 15195 */ 15196 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 15197 return little_endian_read_16(event, 3); 15198 } 15199 /** 15200 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 15201 * @param event packet 15202 * @return attention_time 15203 * @note: btstack_type 1 15204 */ 15205 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 15206 return event[5]; 15207 } 15208 15209 /** 15210 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 15211 * @param event packet 15212 * @return pb_transport_cid 15213 * @note: btstack_type 2 15214 */ 15215 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 15216 return little_endian_read_16(event, 3); 15217 } 15218 15219 /** 15220 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 15221 * @param event packet 15222 * @return pb_transport_cid 15223 * @note: btstack_type 2 15224 */ 15225 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 15226 return little_endian_read_16(event, 3); 15227 } 15228 15229 /** 15230 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 15231 * @param event packet 15232 * @return pb_transport_cid 15233 * @note: btstack_type 2 15234 */ 15235 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 15236 return little_endian_read_16(event, 3); 15237 } 15238 15239 /** 15240 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 15241 * @param event packet 15242 * @return pb_transport_cid 15243 * @note: btstack_type 2 15244 */ 15245 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 15246 return little_endian_read_16(event, 3); 15247 } 15248 /** 15249 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 15250 * @param event packet 15251 * @return output_oob 15252 * @note: btstack_type 4 15253 */ 15254 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 15255 return little_endian_read_32(event, 5); 15256 } 15257 15258 /** 15259 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 15260 * @param event packet 15261 * @return pb_transport_cid 15262 * @note: btstack_type 2 15263 */ 15264 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 15265 return little_endian_read_16(event, 3); 15266 } 15267 15268 /** 15269 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 15270 * @param event packet 15271 * @return pb_transport_cid 15272 * @note: btstack_type 2 15273 */ 15274 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 15275 return little_endian_read_16(event, 3); 15276 } 15277 15278 /** 15279 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 15280 * @param event packet 15281 * @return pb_transport_cid 15282 * @note: btstack_type 2 15283 */ 15284 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 15285 return little_endian_read_16(event, 3); 15286 } 15287 15288 /** 15289 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 15290 * @param event packet 15291 * @return pb_transport_cid 15292 * @note: btstack_type 2 15293 */ 15294 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 15295 return little_endian_read_16(event, 3); 15296 } 15297 15298 /** 15299 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 15300 * @param event packet 15301 * @return pb_transport_cid 15302 * @note: btstack_type 2 15303 */ 15304 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 15305 return little_endian_read_16(event, 3); 15306 } 15307 /** 15308 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 15309 * @param event packet 15310 * @return output_oob 15311 * @note: btstack_type 4 15312 */ 15313 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 15314 return little_endian_read_32(event, 5); 15315 } 15316 15317 /** 15318 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 15319 * @param event packet 15320 * @return pb_transport_cid 15321 * @note: btstack_type 2 15322 */ 15323 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 15324 return little_endian_read_16(event, 3); 15325 } 15326 15327 /** 15328 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15329 * @param event packet 15330 * @return pb_transport_cid 15331 * @note: btstack_type 2 15332 */ 15333 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 15334 return little_endian_read_16(event, 3); 15335 } 15336 /** 15337 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15338 * @param event packet 15339 * @return num_elements 15340 * @note: btstack_type 1 15341 */ 15342 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 15343 return event[5]; 15344 } 15345 /** 15346 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15347 * @param event packet 15348 * @return algorithms 15349 * @note: btstack_type 2 15350 */ 15351 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 15352 return little_endian_read_16(event, 6); 15353 } 15354 /** 15355 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15356 * @param event packet 15357 * @return public_key 15358 * @note: btstack_type 1 15359 */ 15360 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 15361 return event[8]; 15362 } 15363 /** 15364 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15365 * @param event packet 15366 * @return static_oob_type 15367 * @note: btstack_type 1 15368 */ 15369 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 15370 return event[9]; 15371 } 15372 /** 15373 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15374 * @param event packet 15375 * @return output_oob_size 15376 * @note: btstack_type 1 15377 */ 15378 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 15379 return event[10]; 15380 } 15381 /** 15382 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15383 * @param event packet 15384 * @return output_oob_action 15385 * @note: btstack_type 2 15386 */ 15387 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 15388 return little_endian_read_16(event, 11); 15389 } 15390 /** 15391 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15392 * @param event packet 15393 * @return input_oob_size 15394 * @note: btstack_type 1 15395 */ 15396 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 15397 return event[13]; 15398 } 15399 /** 15400 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 15401 * @param event packet 15402 * @return input_oob_action 15403 * @note: btstack_type 2 15404 */ 15405 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 15406 return little_endian_read_16(event, 14); 15407 } 15408 15409 /** 15410 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 15411 * @param event packet 15412 * @return pb_transport_cid 15413 * @note: btstack_type 2 15414 */ 15415 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 15416 return little_endian_read_16(event, 3); 15417 } 15418 15419 /** 15420 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 15421 * @param event packet 15422 * @return attention_time 15423 * @note: btstack_type 1 15424 */ 15425 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 15426 return event[3]; 15427 } 15428 15429 /** 15430 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 15431 * @param event packet 15432 * @return con_handle 15433 * @note: btstack_type H 15434 */ 15435 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 15436 return little_endian_read_16(event, 3); 15437 } 15438 15439 /** 15440 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 15441 * @param event packet 15442 * @return con_handle 15443 * @note: btstack_type H 15444 */ 15445 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 15446 return little_endian_read_16(event, 3); 15447 } 15448 15449 /** 15450 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 15451 * @param event packet 15452 * @return con_handle 15453 * @note: btstack_type H 15454 */ 15455 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 15456 return little_endian_read_16(event, 3); 15457 } 15458 15459 /** 15460 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 15461 * @param event packet 15462 * @return con_handle 15463 * @note: btstack_type H 15464 */ 15465 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 15466 return little_endian_read_16(event, 3); 15467 } 15468 15469 /** 15470 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15471 * @param event packet 15472 * @return element_index 15473 * @note: btstack_type 1 15474 */ 15475 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 15476 return event[3]; 15477 } 15478 /** 15479 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15480 * @param event packet 15481 * @return model_identifier 15482 * @note: btstack_type 4 15483 */ 15484 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 15485 return little_endian_read_32(event, 4); 15486 } 15487 /** 15488 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15489 * @param event packet 15490 * @return state_identifier 15491 * @note: btstack_type 4 15492 */ 15493 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 15494 return little_endian_read_32(event, 8); 15495 } 15496 /** 15497 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15498 * @param event packet 15499 * @return reason 15500 * @note: btstack_type 1 15501 */ 15502 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 15503 return event[12]; 15504 } 15505 /** 15506 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 15507 * @param event packet 15508 * @return value 15509 * @note: btstack_type 1 15510 */ 15511 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 15512 return event[13]; 15513 } 15514 15515 /** 15516 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 15517 * @param event packet 15518 * @return element_index 15519 * @note: btstack_type 1 15520 */ 15521 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 15522 return event[3]; 15523 } 15524 /** 15525 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15526 * @param event packet 15527 * @return model_identifier 15528 * @note: btstack_type 4 15529 */ 15530 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 15531 return little_endian_read_32(event, 4); 15532 } 15533 /** 15534 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 15535 * @param event packet 15536 * @return state_identifier 15537 * @note: btstack_type 4 15538 */ 15539 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 15540 return little_endian_read_32(event, 8); 15541 } 15542 /** 15543 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 15544 * @param event packet 15545 * @return reason 15546 * @note: btstack_type 1 15547 */ 15548 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 15549 return event[12]; 15550 } 15551 /** 15552 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 15553 * @param event packet 15554 * @return value 15555 * @note: btstack_type 2 15556 */ 15557 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 15558 return little_endian_read_16(event, 13); 15559 } 15560 15561 /** 15562 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15563 * @param event packet 15564 * @return element_index 15565 * @note: btstack_type 1 15566 */ 15567 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 15568 return event[3]; 15569 } 15570 /** 15571 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15572 * @param event packet 15573 * @return model_identifier 15574 * @note: btstack_type 4 15575 */ 15576 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 15577 return little_endian_read_32(event, 4); 15578 } 15579 /** 15580 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15581 * @param event packet 15582 * @return opcode 15583 * @note: btstack_type 4 15584 */ 15585 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 15586 return little_endian_read_32(event, 8); 15587 } 15588 /** 15589 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 15590 * @param event packet 15591 * @return dest 15592 * @note: btstack_type 2 15593 */ 15594 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 15595 return little_endian_read_16(event, 12); 15596 } 15597 15598 /** 15599 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 15600 * @param event packet 15601 * @return dest 15602 * @note: btstack_type 2 15603 */ 15604 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 15605 return little_endian_read_16(event, 3); 15606 } 15607 /** 15608 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 15609 * @param event packet 15610 * @return status 15611 * @note: btstack_type 1 15612 */ 15613 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 15614 return event[5]; 15615 } 15616 /** 15617 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15618 * @param event packet 15619 * @return present_value 15620 * @note: btstack_type 1 15621 */ 15622 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 15623 return event[6]; 15624 } 15625 /** 15626 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 15627 * @param event packet 15628 * @return target_value 15629 * @note: btstack_type 1 15630 */ 15631 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 15632 return event[7]; 15633 } 15634 /** 15635 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 15636 * @param event packet 15637 * @return remaining_time_ms 15638 * @note: btstack_type 4 15639 */ 15640 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 15641 return little_endian_read_32(event, 8); 15642 } 15643 15644 /** 15645 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 15646 * @param event packet 15647 * @return dest 15648 * @note: btstack_type 2 15649 */ 15650 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 15651 return little_endian_read_16(event, 3); 15652 } 15653 /** 15654 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 15655 * @param event packet 15656 * @return status 15657 * @note: btstack_type 1 15658 */ 15659 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 15660 return event[5]; 15661 } 15662 /** 15663 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 15664 * @param event packet 15665 * @return present_value 15666 * @note: btstack_type 2 15667 */ 15668 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 15669 return little_endian_read_16(event, 6); 15670 } 15671 /** 15672 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 15673 * @param event packet 15674 * @return target_value 15675 * @note: btstack_type 2 15676 */ 15677 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 15678 return little_endian_read_16(event, 8); 15679 } 15680 /** 15681 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 15682 * @param event packet 15683 * @return remaining_time_ms 15684 * @note: btstack_type 4 15685 */ 15686 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 15687 return little_endian_read_32(event, 10); 15688 } 15689 15690 /** 15691 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15692 * @param event packet 15693 * @return dest 15694 * @note: btstack_type 2 15695 */ 15696 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 15697 return little_endian_read_16(event, 3); 15698 } 15699 /** 15700 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15701 * @param event packet 15702 * @return netkey_index 15703 * @note: btstack_type 2 15704 */ 15705 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 15706 return little_endian_read_16(event, 5); 15707 } 15708 /** 15709 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15710 * @param event packet 15711 * @return appkey_index 15712 * @note: btstack_type 2 15713 */ 15714 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 15715 return little_endian_read_16(event, 7); 15716 } 15717 /** 15718 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15719 * @param event packet 15720 * @return company_id 15721 * @note: btstack_type 2 15722 */ 15723 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 15724 return little_endian_read_16(event, 9); 15725 } 15726 /** 15727 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15728 * @param event packet 15729 * @return test_id 15730 * @note: btstack_type 1 15731 */ 15732 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 15733 return event[11]; 15734 } 15735 /** 15736 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 15737 * @param event packet 15738 * @return acknowledged 15739 * @note: btstack_type 1 15740 */ 15741 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 15742 return event[12]; 15743 } 15744 15745 /** 15746 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 15747 * @param event packet 15748 * @return element_index 15749 * @note: btstack_type 1 15750 */ 15751 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 15752 return event[3]; 15753 } 15754 15755 /** 15756 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15757 * @param event packet 15758 * @return dest 15759 * @note: btstack_type 2 15760 */ 15761 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 15762 return little_endian_read_16(event, 3); 15763 } 15764 /** 15765 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15766 * @param event packet 15767 * @return status 15768 * @note: btstack_type 1 15769 */ 15770 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 15771 return event[5]; 15772 } 15773 /** 15774 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 15775 * @param event packet 15776 * @return transition_time_gdtt 15777 * @note: btstack_type 1 15778 */ 15779 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 15780 return event[6]; 15781 } 15782 15783 /** 15784 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 15785 * @param event packet 15786 * @return dest 15787 * @note: btstack_type 2 15788 */ 15789 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 15790 return little_endian_read_16(event, 3); 15791 } 15792 /** 15793 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 15794 * @param event packet 15795 * @return foundation_status 15796 * @note: btstack_type 1 15797 */ 15798 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 15799 return event[5]; 15800 } 15801 /** 15802 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 15803 * @param event packet 15804 * @return secure_network_beacon_state 15805 * @note: btstack_type 1 15806 */ 15807 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 15808 return event[6]; 15809 } 15810 15811 /** 15812 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15813 * @param event packet 15814 * @return dest 15815 * @note: btstack_type 2 15816 */ 15817 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 15818 return little_endian_read_16(event, 3); 15819 } 15820 /** 15821 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15822 * @param event packet 15823 * @return foundation_status 15824 * @note: btstack_type 1 15825 */ 15826 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 15827 return event[5]; 15828 } 15829 /** 15830 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 15831 * @param event packet 15832 * @return default_ttl 15833 * @note: btstack_type 1 15834 */ 15835 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 15836 return event[6]; 15837 } 15838 15839 /** 15840 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15841 * @param event packet 15842 * @return dest 15843 * @note: btstack_type 2 15844 */ 15845 static inline uint16_t mesh_subevent_configuration_gatt_proxy_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_GATT_PROXY 15850 * @param event packet 15851 * @return foundation_status 15852 * @note: btstack_type 1 15853 */ 15854 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 15855 return event[5]; 15856 } 15857 /** 15858 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 15859 * @param event packet 15860 * @return gatt_proxy_state 15861 * @note: btstack_type 1 15862 */ 15863 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 15864 return event[6]; 15865 } 15866 15867 /** 15868 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 15869 * @param event packet 15870 * @return dest 15871 * @note: btstack_type 2 15872 */ 15873 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 15874 return little_endian_read_16(event, 3); 15875 } 15876 /** 15877 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 15878 * @param event packet 15879 * @return foundation_status 15880 * @note: btstack_type 1 15881 */ 15882 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 15883 return event[5]; 15884 } 15885 /** 15886 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 15887 * @param event packet 15888 * @return relay 15889 * @note: btstack_type 1 15890 */ 15891 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 15892 return event[6]; 15893 } 15894 /** 15895 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 15896 * @param event packet 15897 * @return retransmit_count 15898 * @note: btstack_type 1 15899 */ 15900 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 15901 return event[7]; 15902 } 15903 /** 15904 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 15905 * @param event packet 15906 * @return retransmit_interval_ms 15907 * @note: btstack_type 1 15908 */ 15909 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 15910 return event[8]; 15911 } 15912 15913 /** 15914 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15915 * @param event packet 15916 * @return dest 15917 * @note: btstack_type 2 15918 */ 15919 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 15920 return little_endian_read_16(event, 3); 15921 } 15922 /** 15923 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15924 * @param event packet 15925 * @return foundation_status 15926 * @note: btstack_type 1 15927 */ 15928 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 15929 return event[5]; 15930 } 15931 /** 15932 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15933 * @param event packet 15934 * @return publish_address 15935 * @note: btstack_type 2 15936 */ 15937 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 15938 return little_endian_read_16(event, 6); 15939 } 15940 /** 15941 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15942 * @param event packet 15943 * @return appkey_index 15944 * @note: btstack_type 2 15945 */ 15946 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 15947 return little_endian_read_16(event, 8); 15948 } 15949 /** 15950 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15951 * @param event packet 15952 * @return credential_flag 15953 * @note: btstack_type 1 15954 */ 15955 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 15956 return event[10]; 15957 } 15958 /** 15959 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15960 * @param event packet 15961 * @return publish_ttl 15962 * @note: btstack_type 1 15963 */ 15964 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 15965 return event[11]; 15966 } 15967 /** 15968 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15969 * @param event packet 15970 * @return publish_period 15971 * @note: btstack_type 1 15972 */ 15973 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 15974 return event[12]; 15975 } 15976 /** 15977 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15978 * @param event packet 15979 * @return publish_retransmit_count 15980 * @note: btstack_type 1 15981 */ 15982 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 15983 return event[13]; 15984 } 15985 /** 15986 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15987 * @param event packet 15988 * @return publish_retransmit_interval_steps 15989 * @note: btstack_type 1 15990 */ 15991 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 15992 return event[14]; 15993 } 15994 /** 15995 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 15996 * @param event packet 15997 * @return model_identifier 15998 * @note: btstack_type 4 15999 */ 16000 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 16001 return little_endian_read_32(event, 15); 16002 } 16003 16004 /** 16005 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 16006 * @param event packet 16007 * @return dest 16008 * @note: btstack_type 2 16009 */ 16010 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 16011 return little_endian_read_16(event, 3); 16012 } 16013 /** 16014 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 16015 * @param event packet 16016 * @return foundation_status 16017 * @note: btstack_type 1 16018 */ 16019 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 16020 return event[5]; 16021 } 16022 /** 16023 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 16024 * @param event packet 16025 * @return address 16026 * @note: btstack_type 2 16027 */ 16028 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 16029 return little_endian_read_16(event, 6); 16030 } 16031 /** 16032 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 16033 * @param event packet 16034 * @return model_identifier 16035 * @note: btstack_type 4 16036 */ 16037 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 16038 return little_endian_read_32(event, 8); 16039 } 16040 16041 /** 16042 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 16043 * @param event packet 16044 * @return dest 16045 * @note: btstack_type 2 16046 */ 16047 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 16048 return little_endian_read_16(event, 3); 16049 } 16050 /** 16051 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 16052 * @param event packet 16053 * @return foundation_status 16054 * @note: btstack_type 1 16055 */ 16056 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 16057 return event[5]; 16058 } 16059 /** 16060 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 16061 * @param event packet 16062 * @return model_identifier 16063 * @note: btstack_type 4 16064 */ 16065 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 16066 return little_endian_read_32(event, 6); 16067 } 16068 /** 16069 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 16070 * @param event packet 16071 * @return num_subscription_addresses 16072 * @note: btstack_type 1 16073 */ 16074 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 16075 return event[10]; 16076 } 16077 /** 16078 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 16079 * @param event packet 16080 * @return subscription_address_pos 16081 * @note: btstack_type 1 16082 */ 16083 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 16084 return event[11]; 16085 } 16086 /** 16087 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 16088 * @param event packet 16089 * @return subscription_address_item 16090 * @note: btstack_type 2 16091 */ 16092 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 16093 return little_endian_read_16(event, 12); 16094 } 16095 16096 /** 16097 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 16098 * @param event packet 16099 * @return dest 16100 * @note: btstack_type 2 16101 */ 16102 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 16103 return little_endian_read_16(event, 3); 16104 } 16105 /** 16106 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 16107 * @param event packet 16108 * @return foundation_status 16109 * @note: btstack_type 1 16110 */ 16111 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 16112 return event[5]; 16113 } 16114 16115 /** 16116 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 16117 * @param event packet 16118 * @return dest 16119 * @note: btstack_type 2 16120 */ 16121 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 16122 return little_endian_read_16(event, 3); 16123 } 16124 /** 16125 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 16126 * @param event packet 16127 * @return foundation_status 16128 * @note: btstack_type 1 16129 */ 16130 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 16131 return event[5]; 16132 } 16133 /** 16134 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 16135 * @param event packet 16136 * @return num_netkey_indexes 16137 * @note: btstack_type 1 16138 */ 16139 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 16140 return event[6]; 16141 } 16142 /** 16143 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 16144 * @param event packet 16145 * @return netkey_index_pos 16146 * @note: btstack_type 1 16147 */ 16148 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 16149 return event[7]; 16150 } 16151 /** 16152 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 16153 * @param event packet 16154 * @return netkey_index_item 16155 * @note: btstack_type 2 16156 */ 16157 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 16158 return little_endian_read_16(event, 8); 16159 } 16160 16161 /** 16162 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 16163 * @param event packet 16164 * @return dest 16165 * @note: btstack_type 2 16166 */ 16167 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 16168 return little_endian_read_16(event, 3); 16169 } 16170 /** 16171 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 16172 * @param event packet 16173 * @return foundation_status 16174 * @note: btstack_type 1 16175 */ 16176 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 16177 return event[5]; 16178 } 16179 /** 16180 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 16181 * @param event packet 16182 * @return netkey_index_item 16183 * @note: btstack_type 2 16184 */ 16185 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 16186 return little_endian_read_16(event, 6); 16187 } 16188 /** 16189 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 16190 * @param event packet 16191 * @return appkey_index_item 16192 * @note: btstack_type 2 16193 */ 16194 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 16195 return little_endian_read_16(event, 8); 16196 } 16197 16198 /** 16199 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16200 * @param event packet 16201 * @return dest 16202 * @note: btstack_type 2 16203 */ 16204 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 16205 return little_endian_read_16(event, 3); 16206 } 16207 /** 16208 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16209 * @param event packet 16210 * @return foundation_status 16211 * @note: btstack_type 1 16212 */ 16213 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 16214 return event[5]; 16215 } 16216 /** 16217 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16218 * @param event packet 16219 * @return netkey_index 16220 * @note: btstack_type 2 16221 */ 16222 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 16223 return little_endian_read_16(event, 6); 16224 } 16225 /** 16226 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16227 * @param event packet 16228 * @return num_appkey_indexes 16229 * @note: btstack_type 1 16230 */ 16231 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 16232 return event[8]; 16233 } 16234 /** 16235 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16236 * @param event packet 16237 * @return appkey_index_pos 16238 * @note: btstack_type 1 16239 */ 16240 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 16241 return event[9]; 16242 } 16243 /** 16244 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16245 * @param event packet 16246 * @return netkey_index_item 16247 * @note: btstack_type 2 16248 */ 16249 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 16250 return little_endian_read_16(event, 10); 16251 } 16252 /** 16253 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 16254 * @param event packet 16255 * @return appkey_index_item 16256 * @note: btstack_type 2 16257 */ 16258 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 16259 return little_endian_read_16(event, 12); 16260 } 16261 16262 /** 16263 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 16264 * @param event packet 16265 * @return dest 16266 * @note: btstack_type 2 16267 */ 16268 static inline uint16_t mesh_subevent_configuration_node_identity_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_NODE_IDENTITY 16273 * @param event packet 16274 * @return foundation_status 16275 * @note: btstack_type 1 16276 */ 16277 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 16278 return event[5]; 16279 } 16280 /** 16281 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 16282 * @param event packet 16283 * @return netkey_index_item 16284 * @note: btstack_type 2 16285 */ 16286 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 16287 return little_endian_read_16(event, 6); 16288 } 16289 /** 16290 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 16291 * @param event packet 16292 * @return identity_status 16293 * @note: btstack_type 1 16294 */ 16295 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 16296 return event[8]; 16297 } 16298 16299 /** 16300 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16301 * @param event packet 16302 * @return dest 16303 * @note: btstack_type 2 16304 */ 16305 static inline uint16_t mesh_subevent_configuration_model_app_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_MODEL_APP 16310 * @param event packet 16311 * @return foundation_status 16312 * @note: btstack_type 1 16313 */ 16314 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 16315 return event[5]; 16316 } 16317 /** 16318 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16319 * @param event packet 16320 * @return appkey_index 16321 * @note: btstack_type 2 16322 */ 16323 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 16324 return little_endian_read_16(event, 6); 16325 } 16326 /** 16327 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 16328 * @param event packet 16329 * @return model_identifier 16330 * @note: btstack_type 4 16331 */ 16332 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 16333 return little_endian_read_32(event, 8); 16334 } 16335 16336 /** 16337 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16338 * @param event packet 16339 * @return dest 16340 * @note: btstack_type 2 16341 */ 16342 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 16343 return little_endian_read_16(event, 3); 16344 } 16345 /** 16346 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16347 * @param event packet 16348 * @return foundation_status 16349 * @note: btstack_type 1 16350 */ 16351 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 16352 return event[5]; 16353 } 16354 /** 16355 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16356 * @param event packet 16357 * @return model_id 16358 * @note: btstack_type 4 16359 */ 16360 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 16361 return little_endian_read_32(event, 6); 16362 } 16363 /** 16364 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16365 * @param event packet 16366 * @return num_appkey_indexes 16367 * @note: btstack_type 1 16368 */ 16369 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 16370 return event[10]; 16371 } 16372 /** 16373 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16374 * @param event packet 16375 * @return appkey_index_pos 16376 * @note: btstack_type 1 16377 */ 16378 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 16379 return event[11]; 16380 } 16381 /** 16382 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 16383 * @param event packet 16384 * @return appkey_index_item 16385 * @note: btstack_type 2 16386 */ 16387 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 16388 return little_endian_read_16(event, 12); 16389 } 16390 16391 /** 16392 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16393 * @param event packet 16394 * @return dest 16395 * @note: btstack_type 2 16396 */ 16397 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 16398 return little_endian_read_16(event, 3); 16399 } 16400 /** 16401 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 16402 * @param event packet 16403 * @return foundation_status 16404 * @note: btstack_type 1 16405 */ 16406 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 16407 return event[5]; 16408 } 16409 16410 /** 16411 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16412 * @param event packet 16413 * @return dest 16414 * @note: btstack_type 2 16415 */ 16416 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 16417 return little_endian_read_16(event, 3); 16418 } 16419 /** 16420 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16421 * @param event packet 16422 * @return foundation_status 16423 * @note: btstack_type 1 16424 */ 16425 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 16426 return event[5]; 16427 } 16428 /** 16429 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 16430 * @param event packet 16431 * @return friend_state 16432 * @note: btstack_type 1 16433 */ 16434 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 16435 return event[6]; 16436 } 16437 16438 /** 16439 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16440 * @param event packet 16441 * @return dest 16442 * @note: btstack_type 2 16443 */ 16444 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 16445 return little_endian_read_16(event, 3); 16446 } 16447 /** 16448 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16449 * @param event packet 16450 * @return foundation_status 16451 * @note: btstack_type 1 16452 */ 16453 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 16454 return event[5]; 16455 } 16456 /** 16457 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16458 * @param event packet 16459 * @return netkey_index 16460 * @note: btstack_type 2 16461 */ 16462 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 16463 return little_endian_read_16(event, 6); 16464 } 16465 /** 16466 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 16467 * @param event packet 16468 * @return phase 16469 * @note: btstack_type 1 16470 */ 16471 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 16472 return event[8]; 16473 } 16474 16475 /** 16476 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16477 * @param event packet 16478 * @return dest 16479 * @note: btstack_type 2 16480 */ 16481 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 16482 return little_endian_read_16(event, 3); 16483 } 16484 /** 16485 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16486 * @param event packet 16487 * @return foundation_status 16488 * @note: btstack_type 1 16489 */ 16490 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 16491 return event[5]; 16492 } 16493 /** 16494 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16495 * @param event packet 16496 * @return heartbeat_destination 16497 * @note: btstack_type 2 16498 */ 16499 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 16500 return little_endian_read_16(event, 6); 16501 } 16502 /** 16503 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16504 * @param event packet 16505 * @return count_S 16506 * @note: btstack_type 2 16507 */ 16508 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 16509 return little_endian_read_16(event, 8); 16510 } 16511 /** 16512 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16513 * @param event packet 16514 * @return period_S 16515 * @note: btstack_type 2 16516 */ 16517 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 16518 return little_endian_read_16(event, 10); 16519 } 16520 /** 16521 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16522 * @param event packet 16523 * @return ttl 16524 * @note: btstack_type 1 16525 */ 16526 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 16527 return event[12]; 16528 } 16529 /** 16530 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16531 * @param event packet 16532 * @return features 16533 * @note: btstack_type 2 16534 */ 16535 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 16536 return little_endian_read_16(event, 13); 16537 } 16538 /** 16539 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 16540 * @param event packet 16541 * @return netkey_index 16542 * @note: btstack_type 2 16543 */ 16544 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 16545 return little_endian_read_16(event, 15); 16546 } 16547 16548 /** 16549 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16550 * @param event packet 16551 * @return dest 16552 * @note: btstack_type 2 16553 */ 16554 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 16555 return little_endian_read_16(event, 3); 16556 } 16557 /** 16558 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16559 * @param event packet 16560 * @return foundation_status 16561 * @note: btstack_type 1 16562 */ 16563 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 16564 return event[5]; 16565 } 16566 /** 16567 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16568 * @param event packet 16569 * @return heartbeat_destination 16570 * @note: btstack_type 2 16571 */ 16572 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 16573 return little_endian_read_16(event, 6); 16574 } 16575 /** 16576 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16577 * @param event packet 16578 * @return heartbeat_source 16579 * @note: btstack_type 2 16580 */ 16581 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 16582 return little_endian_read_16(event, 8); 16583 } 16584 /** 16585 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16586 * @param event packet 16587 * @return count_S 16588 * @note: btstack_type 2 16589 */ 16590 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 16591 return little_endian_read_16(event, 10); 16592 } 16593 /** 16594 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16595 * @param event packet 16596 * @return period_S 16597 * @note: btstack_type 2 16598 */ 16599 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 16600 return little_endian_read_16(event, 12); 16601 } 16602 /** 16603 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16604 * @param event packet 16605 * @return min_hops 16606 * @note: btstack_type 1 16607 */ 16608 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 16609 return event[14]; 16610 } 16611 /** 16612 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 16613 * @param event packet 16614 * @return max_hops 16615 * @note: btstack_type 1 16616 */ 16617 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 16618 return event[15]; 16619 } 16620 16621 /** 16622 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16623 * @param event packet 16624 * @return dest 16625 * @note: btstack_type 2 16626 */ 16627 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 16628 return little_endian_read_16(event, 3); 16629 } 16630 /** 16631 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16632 * @param event packet 16633 * @return foundation_status 16634 * @note: btstack_type 1 16635 */ 16636 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 16637 return event[5]; 16638 } 16639 /** 16640 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16641 * @param event packet 16642 * @return lpn_address 16643 * @note: btstack_type 2 16644 */ 16645 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 16646 return little_endian_read_16(event, 6); 16647 } 16648 /** 16649 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 16650 * @param event packet 16651 * @return poll_timeout 16652 * @note: btstack_type 3 16653 */ 16654 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 16655 return little_endian_read_24(event, 8); 16656 } 16657 16658 /** 16659 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16660 * @param event packet 16661 * @return dest 16662 * @note: btstack_type 2 16663 */ 16664 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 16665 return little_endian_read_16(event, 3); 16666 } 16667 /** 16668 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16669 * @param event packet 16670 * @return foundation_status 16671 * @note: btstack_type 1 16672 */ 16673 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 16674 return event[5]; 16675 } 16676 /** 16677 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16678 * @param event packet 16679 * @return transmit_count 16680 * @note: btstack_type 1 16681 */ 16682 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 16683 return event[6]; 16684 } 16685 /** 16686 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 16687 * @param event packet 16688 * @return transmit_interval_steps_ms 16689 * @note: btstack_type 2 16690 */ 16691 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 16692 return little_endian_read_16(event, 7); 16693 } 16694 16695 16696 16697 /* API_END */ 16698 16699 #if defined __cplusplus 16700 } 16701 #endif 16702 16703 #endif // BTSTACK_EVENT_H 16704