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 #ifdef ENABLE_BLE 2901 /** 2902 * @brief Get field status from event GATT_EVENT_CONNECTED 2903 * @param event packet 2904 * @return status 2905 * @note: btstack_type 1 2906 */ 2907 static inline uint8_t gatt_event_connected_get_status(const uint8_t * event){ 2908 return event[2]; 2909 } 2910 /** 2911 * @brief Get field address from event GATT_EVENT_CONNECTED 2912 * @param event packet 2913 * @param Pointer to storage for address 2914 * @note: btstack_type B 2915 */ 2916 static inline void gatt_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 2917 reverse_bytes(&event[3], address, 6); 2918 } 2919 /** 2920 * @brief Get field handle from event GATT_EVENT_CONNECTED 2921 * @param event packet 2922 * @return handle 2923 * @note: btstack_type H 2924 */ 2925 static inline hci_con_handle_t gatt_event_connected_get_handle(const uint8_t * event){ 2926 return little_endian_read_16(event, 9); 2927 } 2928 #endif 2929 2930 #ifdef ENABLE_BLE 2931 /** 2932 * @brief Get field handle from event GATT_EVENT_DISCONNECTED 2933 * @param event packet 2934 * @return handle 2935 * @note: btstack_type H 2936 */ 2937 static inline hci_con_handle_t gatt_event_disconnected_get_handle(const uint8_t * event){ 2938 return little_endian_read_16(event, 2); 2939 } 2940 #endif 2941 2942 /** 2943 * @brief Get field address_type from event ATT_EVENT_CONNECTED 2944 * @param event packet 2945 * @return address_type 2946 * @note: btstack_type 1 2947 */ 2948 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){ 2949 return event[2]; 2950 } 2951 /** 2952 * @brief Get field address from event ATT_EVENT_CONNECTED 2953 * @param event packet 2954 * @param Pointer to storage for address 2955 * @note: btstack_type B 2956 */ 2957 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 2958 reverse_bytes(&event[3], address, 6); 2959 } 2960 /** 2961 * @brief Get field handle from event ATT_EVENT_CONNECTED 2962 * @param event packet 2963 * @return handle 2964 * @note: btstack_type H 2965 */ 2966 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){ 2967 return little_endian_read_16(event, 9); 2968 } 2969 2970 /** 2971 * @brief Get field handle from event ATT_EVENT_DISCONNECTED 2972 * @param event packet 2973 * @return handle 2974 * @note: btstack_type H 2975 */ 2976 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){ 2977 return little_endian_read_16(event, 2); 2978 } 2979 2980 /** 2981 * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 2982 * @param event packet 2983 * @return handle 2984 * @note: btstack_type H 2985 */ 2986 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){ 2987 return little_endian_read_16(event, 2); 2988 } 2989 /** 2990 * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 2991 * @param event packet 2992 * @return MTU 2993 * @note: btstack_type 2 2994 */ 2995 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){ 2996 return little_endian_read_16(event, 4); 2997 } 2998 2999 /** 3000 * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3001 * @param event packet 3002 * @return status 3003 * @note: btstack_type 1 3004 */ 3005 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){ 3006 return event[2]; 3007 } 3008 /** 3009 * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3010 * @param event packet 3011 * @return conn_handle 3012 * @note: btstack_type H 3013 */ 3014 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){ 3015 return little_endian_read_16(event, 3); 3016 } 3017 /** 3018 * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 3019 * @param event packet 3020 * @return attribute_handle 3021 * @note: btstack_type 2 3022 */ 3023 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){ 3024 return little_endian_read_16(event, 5); 3025 } 3026 3027 3028 /** 3029 * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED 3030 * @param event packet 3031 * @return status 3032 * @note: btstack_type 1 3033 */ 3034 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){ 3035 return event[2]; 3036 } 3037 /** 3038 * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED 3039 * @param event packet 3040 * @return service_uuid 3041 * @note: btstack_type 2 3042 */ 3043 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){ 3044 return little_endian_read_16(event, 3); 3045 } 3046 3047 /** 3048 * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED 3049 * @param event packet 3050 * @return status 3051 * @note: btstack_type 1 3052 */ 3053 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){ 3054 return event[2]; 3055 } 3056 /** 3057 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED 3058 * @param event packet 3059 * @return bnep_cid 3060 * @note: btstack_type 2 3061 */ 3062 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){ 3063 return little_endian_read_16(event, 3); 3064 } 3065 /** 3066 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED 3067 * @param event packet 3068 * @return source_uuid 3069 * @note: btstack_type 2 3070 */ 3071 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){ 3072 return little_endian_read_16(event, 5); 3073 } 3074 /** 3075 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED 3076 * @param event packet 3077 * @return destination_uuid 3078 * @note: btstack_type 2 3079 */ 3080 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){ 3081 return little_endian_read_16(event, 7); 3082 } 3083 /** 3084 * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED 3085 * @param event packet 3086 * @return mtu 3087 * @note: btstack_type 2 3088 */ 3089 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){ 3090 return little_endian_read_16(event, 9); 3091 } 3092 /** 3093 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED 3094 * @param event packet 3095 * @param Pointer to storage for remote_address 3096 * @note: btstack_type B 3097 */ 3098 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3099 reverse_bytes(&event[11], remote_address, 6); 3100 } 3101 /** 3102 * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED 3103 * @param event packet 3104 * @return con_handle 3105 * @note: btstack_type H 3106 */ 3107 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){ 3108 return little_endian_read_16(event, 17); 3109 } 3110 3111 /** 3112 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED 3113 * @param event packet 3114 * @return bnep_cid 3115 * @note: btstack_type 2 3116 */ 3117 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){ 3118 return little_endian_read_16(event, 2); 3119 } 3120 /** 3121 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3122 * @param event packet 3123 * @return source_uuid 3124 * @note: btstack_type 2 3125 */ 3126 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){ 3127 return little_endian_read_16(event, 4); 3128 } 3129 /** 3130 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED 3131 * @param event packet 3132 * @return destination_uuid 3133 * @note: btstack_type 2 3134 */ 3135 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){ 3136 return little_endian_read_16(event, 6); 3137 } 3138 /** 3139 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED 3140 * @param event packet 3141 * @param Pointer to storage for remote_address 3142 * @note: btstack_type B 3143 */ 3144 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3145 reverse_bytes(&event[8], remote_address, 6); 3146 } 3147 3148 /** 3149 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT 3150 * @param event packet 3151 * @return bnep_cid 3152 * @note: btstack_type 2 3153 */ 3154 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){ 3155 return little_endian_read_16(event, 2); 3156 } 3157 /** 3158 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3159 * @param event packet 3160 * @return source_uuid 3161 * @note: btstack_type 2 3162 */ 3163 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){ 3164 return little_endian_read_16(event, 4); 3165 } 3166 /** 3167 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 3168 * @param event packet 3169 * @return destination_uuid 3170 * @note: btstack_type 2 3171 */ 3172 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){ 3173 return little_endian_read_16(event, 6); 3174 } 3175 /** 3176 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT 3177 * @param event packet 3178 * @param Pointer to storage for remote_address 3179 * @note: btstack_type B 3180 */ 3181 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3182 reverse_bytes(&event[8], remote_address, 6); 3183 } 3184 /** 3185 * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT 3186 * @param event packet 3187 * @return channel_state 3188 * @note: btstack_type 1 3189 */ 3190 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){ 3191 return event[14]; 3192 } 3193 3194 /** 3195 * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW 3196 * @param event packet 3197 * @return bnep_cid 3198 * @note: btstack_type 2 3199 */ 3200 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){ 3201 return little_endian_read_16(event, 2); 3202 } 3203 /** 3204 * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW 3205 * @param event packet 3206 * @return source_uuid 3207 * @note: btstack_type 2 3208 */ 3209 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){ 3210 return little_endian_read_16(event, 4); 3211 } 3212 /** 3213 * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW 3214 * @param event packet 3215 * @return destination_uuid 3216 * @note: btstack_type 2 3217 */ 3218 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){ 3219 return little_endian_read_16(event, 6); 3220 } 3221 /** 3222 * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW 3223 * @param event packet 3224 * @param Pointer to storage for remote_address 3225 * @note: btstack_type B 3226 */ 3227 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 3228 reverse_bytes(&event[8], remote_address, 6); 3229 } 3230 3231 #ifdef ENABLE_BLE 3232 /** 3233 * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST 3234 * @param event packet 3235 * @return handle 3236 * @note: btstack_type H 3237 */ 3238 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ 3239 return little_endian_read_16(event, 2); 3240 } 3241 /** 3242 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST 3243 * @param event packet 3244 * @return addr_type 3245 * @note: btstack_type 1 3246 */ 3247 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ 3248 return event[4]; 3249 } 3250 /** 3251 * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST 3252 * @param event packet 3253 * @param Pointer to storage for address 3254 * @note: btstack_type B 3255 */ 3256 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ 3257 reverse_bytes(&event[5], address, 6); 3258 } 3259 /** 3260 * @brief Get field secure_connection from event SM_EVENT_JUST_WORKS_REQUEST 3261 * @param event packet 3262 * @return secure_connection 3263 * @note: btstack_type 1 3264 */ 3265 static inline uint8_t sm_event_just_works_request_get_secure_connection(const uint8_t * event){ 3266 return event[11]; 3267 } 3268 #endif 3269 3270 #ifdef ENABLE_BLE 3271 /** 3272 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3273 * @param event packet 3274 * @return handle 3275 * @note: btstack_type H 3276 */ 3277 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ 3278 return little_endian_read_16(event, 2); 3279 } 3280 /** 3281 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3282 * @param event packet 3283 * @return addr_type 3284 * @note: btstack_type 1 3285 */ 3286 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ 3287 return event[4]; 3288 } 3289 /** 3290 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3291 * @param event packet 3292 * @param Pointer to storage for address 3293 * @note: btstack_type B 3294 */ 3295 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ 3296 reverse_bytes(&event[5], address, 6); 3297 } 3298 /** 3299 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3300 * @param event packet 3301 * @return secure_connection 3302 * @note: btstack_type 1 3303 */ 3304 static inline uint8_t sm_event_passkey_display_number_get_secure_connection(const uint8_t * event){ 3305 return event[11]; 3306 } 3307 /** 3308 * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 3309 * @param event packet 3310 * @return passkey 3311 * @note: btstack_type 4 3312 */ 3313 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ 3314 return little_endian_read_32(event, 12); 3315 } 3316 #endif 3317 3318 #ifdef ENABLE_BLE 3319 /** 3320 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3321 * @param event packet 3322 * @return handle 3323 * @note: btstack_type H 3324 */ 3325 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ 3326 return little_endian_read_16(event, 2); 3327 } 3328 /** 3329 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3330 * @param event packet 3331 * @return addr_type 3332 * @note: btstack_type 1 3333 */ 3334 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ 3335 return event[4]; 3336 } 3337 /** 3338 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 3339 * @param event packet 3340 * @param Pointer to storage for address 3341 * @note: btstack_type B 3342 */ 3343 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ 3344 reverse_bytes(&event[5], address, 6); 3345 } 3346 #endif 3347 3348 #ifdef ENABLE_BLE 3349 /** 3350 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER 3351 * @param event packet 3352 * @return handle 3353 * @note: btstack_type H 3354 */ 3355 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ 3356 return little_endian_read_16(event, 2); 3357 } 3358 /** 3359 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER 3360 * @param event packet 3361 * @return addr_type 3362 * @note: btstack_type 1 3363 */ 3364 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ 3365 return event[4]; 3366 } 3367 /** 3368 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER 3369 * @param event packet 3370 * @param Pointer to storage for address 3371 * @note: btstack_type B 3372 */ 3373 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ 3374 reverse_bytes(&event[5], address, 6); 3375 } 3376 /** 3377 * @brief Get field secure_connection from event SM_EVENT_PASSKEY_INPUT_NUMBER 3378 * @param event packet 3379 * @return secure_connection 3380 * @note: btstack_type 1 3381 */ 3382 static inline uint8_t sm_event_passkey_input_number_get_secure_connection(const uint8_t * event){ 3383 return event[11]; 3384 } 3385 #endif 3386 3387 #ifdef ENABLE_BLE 3388 /** 3389 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3390 * @param event packet 3391 * @return handle 3392 * @note: btstack_type H 3393 */ 3394 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){ 3395 return little_endian_read_16(event, 2); 3396 } 3397 /** 3398 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3399 * @param event packet 3400 * @return addr_type 3401 * @note: btstack_type 1 3402 */ 3403 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){ 3404 return event[4]; 3405 } 3406 /** 3407 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3408 * @param event packet 3409 * @param Pointer to storage for address 3410 * @note: btstack_type B 3411 */ 3412 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){ 3413 reverse_bytes(&event[5], address, 6); 3414 } 3415 /** 3416 * @brief Get field secure_connection from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3417 * @param event packet 3418 * @return secure_connection 3419 * @note: btstack_type 1 3420 */ 3421 static inline uint8_t sm_event_numeric_comparison_request_get_secure_connection(const uint8_t * event){ 3422 return event[11]; 3423 } 3424 /** 3425 * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 3426 * @param event packet 3427 * @return passkey 3428 * @note: btstack_type 4 3429 */ 3430 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){ 3431 return little_endian_read_32(event, 12); 3432 } 3433 #endif 3434 3435 #ifdef ENABLE_BLE 3436 /** 3437 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3438 * @param event packet 3439 * @return handle 3440 * @note: btstack_type H 3441 */ 3442 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ 3443 return little_endian_read_16(event, 2); 3444 } 3445 /** 3446 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3447 * @param event packet 3448 * @return addr_type 3449 * @note: btstack_type 1 3450 */ 3451 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ 3452 return event[4]; 3453 } 3454 /** 3455 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED 3456 * @param event packet 3457 * @param Pointer to storage for address 3458 * @note: btstack_type B 3459 */ 3460 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ 3461 reverse_bytes(&event[5], address, 6); 3462 } 3463 #endif 3464 3465 #ifdef ENABLE_BLE 3466 /** 3467 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3468 * @param event packet 3469 * @return handle 3470 * @note: btstack_type H 3471 */ 3472 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ 3473 return little_endian_read_16(event, 2); 3474 } 3475 /** 3476 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3477 * @param event packet 3478 * @return addr_type 3479 * @note: btstack_type 1 3480 */ 3481 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ 3482 return event[4]; 3483 } 3484 /** 3485 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED 3486 * @param event packet 3487 * @param Pointer to storage for address 3488 * @note: btstack_type B 3489 */ 3490 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ 3491 reverse_bytes(&event[5], address, 6); 3492 } 3493 #endif 3494 3495 #ifdef ENABLE_BLE 3496 /** 3497 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3498 * @param event packet 3499 * @return handle 3500 * @note: btstack_type H 3501 */ 3502 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ 3503 return little_endian_read_16(event, 2); 3504 } 3505 /** 3506 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3507 * @param event packet 3508 * @return addr_type 3509 * @note: btstack_type 1 3510 */ 3511 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ 3512 return event[4]; 3513 } 3514 /** 3515 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3516 * @param event packet 3517 * @param Pointer to storage for address 3518 * @note: btstack_type B 3519 */ 3520 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ 3521 reverse_bytes(&event[5], address, 6); 3522 } 3523 /** 3524 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3525 * @param event packet 3526 * @return identity_addr_type 3527 * @note: btstack_type 1 3528 */ 3529 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){ 3530 return event[11]; 3531 } 3532 /** 3533 * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3534 * @param event packet 3535 * @param Pointer to storage for identity_address 3536 * @note: btstack_type B 3537 */ 3538 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3539 reverse_bytes(&event[12], identity_address, 6); 3540 } 3541 /** 3542 * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 3543 * @param event packet 3544 * @return index 3545 * @note: btstack_type 2 3546 */ 3547 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){ 3548 return little_endian_read_16(event, 18); 3549 } 3550 #endif 3551 3552 #ifdef ENABLE_BLE 3553 /** 3554 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST 3555 * @param event packet 3556 * @return handle 3557 * @note: btstack_type H 3558 */ 3559 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){ 3560 return little_endian_read_16(event, 2); 3561 } 3562 /** 3563 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST 3564 * @param event packet 3565 * @return addr_type 3566 * @note: btstack_type 1 3567 */ 3568 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ 3569 return event[4]; 3570 } 3571 /** 3572 * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST 3573 * @param event packet 3574 * @param Pointer to storage for address 3575 * @note: btstack_type B 3576 */ 3577 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ 3578 reverse_bytes(&event[5], address, 6); 3579 } 3580 #endif 3581 3582 #ifdef ENABLE_BLE 3583 /** 3584 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT 3585 * @param event packet 3586 * @return handle 3587 * @note: btstack_type H 3588 */ 3589 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ 3590 return little_endian_read_16(event, 2); 3591 } 3592 /** 3593 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT 3594 * @param event packet 3595 * @return addr_type 3596 * @note: btstack_type 1 3597 */ 3598 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ 3599 return event[4]; 3600 } 3601 /** 3602 * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT 3603 * @param event packet 3604 * @param Pointer to storage for address 3605 * @note: btstack_type B 3606 */ 3607 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ 3608 reverse_bytes(&event[5], address, 6); 3609 } 3610 /** 3611 * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT 3612 * @param event packet 3613 * @return authorization_result 3614 * @note: btstack_type 1 3615 */ 3616 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ 3617 return event[11]; 3618 } 3619 #endif 3620 3621 #ifdef ENABLE_BLE 3622 /** 3623 * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION 3624 * @param event packet 3625 * @return handle 3626 * @note: btstack_type H 3627 */ 3628 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){ 3629 return little_endian_read_16(event, 2); 3630 } 3631 /** 3632 * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION 3633 * @param event packet 3634 * @return action 3635 * @note: btstack_type 1 3636 */ 3637 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){ 3638 return event[4]; 3639 } 3640 #endif 3641 3642 #ifdef ENABLE_BLE 3643 /** 3644 * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED 3645 * @param event packet 3646 * @return handle 3647 * @note: btstack_type H 3648 */ 3649 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){ 3650 return little_endian_read_16(event, 2); 3651 } 3652 /** 3653 * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED 3654 * @param event packet 3655 * @return addr_type 3656 * @note: btstack_type 1 3657 */ 3658 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){ 3659 return event[4]; 3660 } 3661 /** 3662 * @brief Get field address from event SM_EVENT_IDENTITY_CREATED 3663 * @param event packet 3664 * @param Pointer to storage for address 3665 * @note: btstack_type B 3666 */ 3667 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){ 3668 reverse_bytes(&event[5], address, 6); 3669 } 3670 /** 3671 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED 3672 * @param event packet 3673 * @return identity_addr_type 3674 * @note: btstack_type 1 3675 */ 3676 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){ 3677 return event[11]; 3678 } 3679 /** 3680 * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED 3681 * @param event packet 3682 * @param Pointer to storage for identity_address 3683 * @note: btstack_type B 3684 */ 3685 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3686 reverse_bytes(&event[12], identity_address, 6); 3687 } 3688 /** 3689 * @brief Get field index from event SM_EVENT_IDENTITY_CREATED 3690 * @param event packet 3691 * @return index 3692 * @note: btstack_type 2 3693 */ 3694 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){ 3695 return little_endian_read_16(event, 18); 3696 } 3697 #endif 3698 3699 #ifdef ENABLE_BLE 3700 /** 3701 * @brief Get field handle from event SM_EVENT_PAIRING_STARTED 3702 * @param event packet 3703 * @return handle 3704 * @note: btstack_type H 3705 */ 3706 static inline hci_con_handle_t sm_event_pairing_started_get_handle(const uint8_t * event){ 3707 return little_endian_read_16(event, 2); 3708 } 3709 /** 3710 * @brief Get field addr_type from event SM_EVENT_PAIRING_STARTED 3711 * @param event packet 3712 * @return addr_type 3713 * @note: btstack_type 1 3714 */ 3715 static inline uint8_t sm_event_pairing_started_get_addr_type(const uint8_t * event){ 3716 return event[4]; 3717 } 3718 /** 3719 * @brief Get field address from event SM_EVENT_PAIRING_STARTED 3720 * @param event packet 3721 * @param Pointer to storage for address 3722 * @note: btstack_type B 3723 */ 3724 static inline void sm_event_pairing_started_get_address(const uint8_t * event, bd_addr_t address){ 3725 reverse_bytes(&event[5], address, 6); 3726 } 3727 #endif 3728 3729 #ifdef ENABLE_BLE 3730 /** 3731 * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE 3732 * @param event packet 3733 * @return handle 3734 * @note: btstack_type H 3735 */ 3736 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){ 3737 return little_endian_read_16(event, 2); 3738 } 3739 /** 3740 * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE 3741 * @param event packet 3742 * @return addr_type 3743 * @note: btstack_type 1 3744 */ 3745 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){ 3746 return event[4]; 3747 } 3748 /** 3749 * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE 3750 * @param event packet 3751 * @param Pointer to storage for address 3752 * @note: btstack_type B 3753 */ 3754 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){ 3755 reverse_bytes(&event[5], address, 6); 3756 } 3757 /** 3758 * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE 3759 * @param event packet 3760 * @return status 3761 * @note: btstack_type 1 3762 */ 3763 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){ 3764 return event[11]; 3765 } 3766 /** 3767 * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE 3768 * @param event packet 3769 * @return reason 3770 * @note: btstack_type 1 3771 */ 3772 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){ 3773 return event[12]; 3774 } 3775 #endif 3776 3777 #ifdef ENABLE_BLE 3778 /** 3779 * @brief Get field handle from event SM_EVENT_REENCRYPTION_STARTED 3780 * @param event packet 3781 * @return handle 3782 * @note: btstack_type H 3783 */ 3784 static inline hci_con_handle_t sm_event_reencryption_started_get_handle(const uint8_t * event){ 3785 return little_endian_read_16(event, 2); 3786 } 3787 /** 3788 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_STARTED 3789 * @param event packet 3790 * @return addr_type 3791 * @note: btstack_type 1 3792 */ 3793 static inline uint8_t sm_event_reencryption_started_get_addr_type(const uint8_t * event){ 3794 return event[4]; 3795 } 3796 /** 3797 * @brief Get field address from event SM_EVENT_REENCRYPTION_STARTED 3798 * @param event packet 3799 * @param Pointer to storage for address 3800 * @note: btstack_type B 3801 */ 3802 static inline void sm_event_reencryption_started_get_address(const uint8_t * event, bd_addr_t address){ 3803 reverse_bytes(&event[5], address, 6); 3804 } 3805 #endif 3806 3807 #ifdef ENABLE_BLE 3808 /** 3809 * @brief Get field handle from event SM_EVENT_REENCRYPTION_COMPLETE 3810 * @param event packet 3811 * @return handle 3812 * @note: btstack_type H 3813 */ 3814 static inline hci_con_handle_t sm_event_reencryption_complete_get_handle(const uint8_t * event){ 3815 return little_endian_read_16(event, 2); 3816 } 3817 /** 3818 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_COMPLETE 3819 * @param event packet 3820 * @return addr_type 3821 * @note: btstack_type 1 3822 */ 3823 static inline uint8_t sm_event_reencryption_complete_get_addr_type(const uint8_t * event){ 3824 return event[4]; 3825 } 3826 /** 3827 * @brief Get field address from event SM_EVENT_REENCRYPTION_COMPLETE 3828 * @param event packet 3829 * @param Pointer to storage for address 3830 * @note: btstack_type B 3831 */ 3832 static inline void sm_event_reencryption_complete_get_address(const uint8_t * event, bd_addr_t address){ 3833 reverse_bytes(&event[5], address, 6); 3834 } 3835 /** 3836 * @brief Get field status from event SM_EVENT_REENCRYPTION_COMPLETE 3837 * @param event packet 3838 * @return status 3839 * @note: btstack_type 1 3840 */ 3841 static inline uint8_t sm_event_reencryption_complete_get_status(const uint8_t * event){ 3842 return event[11]; 3843 } 3844 #endif 3845 3846 /** 3847 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 3848 * @param event packet 3849 * @return handle 3850 * @note: btstack_type H 3851 */ 3852 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 3853 return little_endian_read_16(event, 2); 3854 } 3855 /** 3856 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 3857 * @param event packet 3858 * @return security_level 3859 * @note: btstack_type 1 3860 */ 3861 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 3862 return event[4]; 3863 } 3864 3865 /** 3866 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3867 * @param event packet 3868 * @return status 3869 * @note: btstack_type 1 3870 */ 3871 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 3872 return event[2]; 3873 } 3874 /** 3875 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3876 * @param event packet 3877 * @param Pointer to storage for address 3878 * @note: btstack_type B 3879 */ 3880 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 3881 reverse_bytes(&event[3], address, 6); 3882 } 3883 3884 /** 3885 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 3886 * @param event packet 3887 * @return advertising_event_type 3888 * @note: btstack_type 1 3889 */ 3890 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 3891 return event[2]; 3892 } 3893 /** 3894 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 3895 * @param event packet 3896 * @return address_type 3897 * @note: btstack_type 1 3898 */ 3899 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 3900 return event[3]; 3901 } 3902 /** 3903 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 3904 * @param event packet 3905 * @param Pointer to storage for address 3906 * @note: btstack_type B 3907 */ 3908 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 3909 reverse_bytes(&event[4], address, 6); 3910 } 3911 /** 3912 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 3913 * @param event packet 3914 * @return rssi 3915 * @note: btstack_type 1 3916 */ 3917 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 3918 return event[10]; 3919 } 3920 /** 3921 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 3922 * @param event packet 3923 * @return data_length 3924 * @note: btstack_type J 3925 */ 3926 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 3927 return event[11]; 3928 } 3929 /** 3930 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 3931 * @param event packet 3932 * @return data 3933 * @note: btstack_type V 3934 */ 3935 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 3936 return &event[12]; 3937 } 3938 3939 /** 3940 * @brief Get field advertising_event_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3941 * @param event packet 3942 * @return advertising_event_type 3943 * @note: btstack_type 2 3944 */ 3945 static inline uint16_t gap_event_extended_advertising_report_get_advertising_event_type(const uint8_t * event){ 3946 return little_endian_read_16(event, 2); 3947 } 3948 /** 3949 * @brief Get field address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3950 * @param event packet 3951 * @return address_type 3952 * @note: btstack_type 1 3953 */ 3954 static inline uint8_t gap_event_extended_advertising_report_get_address_type(const uint8_t * event){ 3955 return event[4]; 3956 } 3957 /** 3958 * @brief Get field address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3959 * @param event packet 3960 * @param Pointer to storage for address 3961 * @note: btstack_type B 3962 */ 3963 static inline void gap_event_extended_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 3964 reverse_bytes(&event[5], address, 6); 3965 } 3966 /** 3967 * @brief Get field primary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3968 * @param event packet 3969 * @return primary_phy 3970 * @note: btstack_type 1 3971 */ 3972 static inline uint8_t gap_event_extended_advertising_report_get_primary_phy(const uint8_t * event){ 3973 return event[11]; 3974 } 3975 /** 3976 * @brief Get field secondary_phy from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3977 * @param event packet 3978 * @return secondary_phy 3979 * @note: btstack_type 1 3980 */ 3981 static inline uint8_t gap_event_extended_advertising_report_get_secondary_phy(const uint8_t * event){ 3982 return event[12]; 3983 } 3984 /** 3985 * @brief Get field advertising_sid from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3986 * @param event packet 3987 * @return advertising_sid 3988 * @note: btstack_type 1 3989 */ 3990 static inline uint8_t gap_event_extended_advertising_report_get_advertising_sid(const uint8_t * event){ 3991 return event[13]; 3992 } 3993 /** 3994 * @brief Get field tx_power from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 3995 * @param event packet 3996 * @return tx_power 3997 * @note: btstack_type 1 3998 */ 3999 static inline uint8_t gap_event_extended_advertising_report_get_tx_power(const uint8_t * event){ 4000 return event[14]; 4001 } 4002 /** 4003 * @brief Get field rssi from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4004 * @param event packet 4005 * @return rssi 4006 * @note: btstack_type 1 4007 */ 4008 static inline uint8_t gap_event_extended_advertising_report_get_rssi(const uint8_t * event){ 4009 return event[15]; 4010 } 4011 /** 4012 * @brief Get field periodic_advertising_interval from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4013 * @param event packet 4014 * @return periodic_advertising_interval 4015 * @note: btstack_type 2 4016 */ 4017 static inline uint16_t gap_event_extended_advertising_report_get_periodic_advertising_interval(const uint8_t * event){ 4018 return little_endian_read_16(event, 16); 4019 } 4020 /** 4021 * @brief Get field direct_address_type from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4022 * @param event packet 4023 * @return direct_address_type 4024 * @note: btstack_type 1 4025 */ 4026 static inline uint8_t gap_event_extended_advertising_report_get_direct_address_type(const uint8_t * event){ 4027 return event[18]; 4028 } 4029 /** 4030 * @brief Get field direct_address from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4031 * @param event packet 4032 * @param Pointer to storage for direct_address 4033 * @note: btstack_type B 4034 */ 4035 static inline void gap_event_extended_advertising_report_get_direct_address(const uint8_t * event, bd_addr_t direct_address){ 4036 reverse_bytes(&event[19], direct_address, 6); 4037 } 4038 /** 4039 * @brief Get field data_length from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4040 * @param event packet 4041 * @return data_length 4042 * @note: btstack_type J 4043 */ 4044 static inline uint8_t gap_event_extended_advertising_report_get_data_length(const uint8_t * event){ 4045 return event[25]; 4046 } 4047 /** 4048 * @brief Get field data from event GAP_EVENT_EXTENDED_ADVERTISING_REPORT 4049 * @param event packet 4050 * @return data 4051 * @note: btstack_type V 4052 */ 4053 static inline const uint8_t * gap_event_extended_advertising_report_get_data(const uint8_t * event){ 4054 return &event[26]; 4055 } 4056 4057 /** 4058 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 4059 * @param event packet 4060 * @param Pointer to storage for bd_addr 4061 * @note: btstack_type B 4062 */ 4063 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4064 reverse_bytes(&event[2], bd_addr, 6); 4065 } 4066 /** 4067 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 4068 * @param event packet 4069 * @return page_scan_repetition_mode 4070 * @note: btstack_type 1 4071 */ 4072 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 4073 return event[8]; 4074 } 4075 /** 4076 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 4077 * @param event packet 4078 * @return class_of_device 4079 * @note: btstack_type 3 4080 */ 4081 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 4082 return little_endian_read_24(event, 9); 4083 } 4084 /** 4085 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 4086 * @param event packet 4087 * @return clock_offset 4088 * @note: btstack_type 2 4089 */ 4090 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 4091 return little_endian_read_16(event, 12); 4092 } 4093 /** 4094 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 4095 * @param event packet 4096 * @return rssi_available 4097 * @note: btstack_type 1 4098 */ 4099 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 4100 return event[14]; 4101 } 4102 /** 4103 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 4104 * @param event packet 4105 * @return rssi 4106 * @note: btstack_type 1 4107 */ 4108 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 4109 return event[15]; 4110 } 4111 /** 4112 * @brief Get field device_id_available from event GAP_EVENT_INQUIRY_RESULT 4113 * @param event packet 4114 * @return device_id_available 4115 * @note: btstack_type 1 4116 */ 4117 static inline uint8_t gap_event_inquiry_result_get_device_id_available(const uint8_t * event){ 4118 return event[16]; 4119 } 4120 /** 4121 * @brief Get field device_id_vendor_id_source from event GAP_EVENT_INQUIRY_RESULT 4122 * @param event packet 4123 * @return device_id_vendor_id_source 4124 * @note: btstack_type 2 4125 */ 4126 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id_source(const uint8_t * event){ 4127 return little_endian_read_16(event, 17); 4128 } 4129 /** 4130 * @brief Get field device_id_vendor_id from event GAP_EVENT_INQUIRY_RESULT 4131 * @param event packet 4132 * @return device_id_vendor_id 4133 * @note: btstack_type 2 4134 */ 4135 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id(const uint8_t * event){ 4136 return little_endian_read_16(event, 19); 4137 } 4138 /** 4139 * @brief Get field device_id_product_id from event GAP_EVENT_INQUIRY_RESULT 4140 * @param event packet 4141 * @return device_id_product_id 4142 * @note: btstack_type 2 4143 */ 4144 static inline uint16_t gap_event_inquiry_result_get_device_id_product_id(const uint8_t * event){ 4145 return little_endian_read_16(event, 21); 4146 } 4147 /** 4148 * @brief Get field device_id_version from event GAP_EVENT_INQUIRY_RESULT 4149 * @param event packet 4150 * @return device_id_version 4151 * @note: btstack_type 2 4152 */ 4153 static inline uint16_t gap_event_inquiry_result_get_device_id_version(const uint8_t * event){ 4154 return little_endian_read_16(event, 23); 4155 } 4156 /** 4157 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 4158 * @param event packet 4159 * @return name_available 4160 * @note: btstack_type 1 4161 */ 4162 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 4163 return event[25]; 4164 } 4165 /** 4166 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 4167 * @param event packet 4168 * @return name_len 4169 * @note: btstack_type J 4170 */ 4171 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 4172 return event[26]; 4173 } 4174 /** 4175 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 4176 * @param event packet 4177 * @return name 4178 * @note: btstack_type V 4179 */ 4180 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 4181 return &event[27]; 4182 } 4183 4184 /** 4185 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 4186 * @param event packet 4187 * @return status 4188 * @note: btstack_type 1 4189 */ 4190 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 4191 return event[2]; 4192 } 4193 4194 /** 4195 * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT 4196 * @param event packet 4197 * @return con_handle 4198 * @note: btstack_type H 4199 */ 4200 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){ 4201 return little_endian_read_16(event, 2); 4202 } 4203 /** 4204 * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT 4205 * @param event packet 4206 * @return rssi 4207 * @note: btstack_type 1 4208 */ 4209 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){ 4210 return event[4]; 4211 } 4212 4213 /** 4214 * @brief Get field oob_data_present from event GAP_EVENT_LOCAL_OOB_DATA 4215 * @param event packet 4216 * @return oob_data_present 4217 * @note: btstack_type 1 4218 */ 4219 static inline uint8_t gap_event_local_oob_data_get_oob_data_present(const uint8_t * event){ 4220 return event[2]; 4221 } 4222 /** 4223 * @brief Get field c_192 from event GAP_EVENT_LOCAL_OOB_DATA 4224 * @param event packet 4225 * @param Pointer to storage for c_192 4226 * @note: btstack_type K 4227 */ 4228 static inline void gap_event_local_oob_data_get_c_192(const uint8_t * event, uint8_t * c_192){ 4229 reverse_bytes(&event[3], c_192, 16); 4230 } 4231 /** 4232 * @brief Get field r_192 from event GAP_EVENT_LOCAL_OOB_DATA 4233 * @param event packet 4234 * @param Pointer to storage for r_192 4235 * @note: btstack_type K 4236 */ 4237 static inline void gap_event_local_oob_data_get_r_192(const uint8_t * event, uint8_t * r_192){ 4238 reverse_bytes(&event[19], r_192, 16); 4239 } 4240 /** 4241 * @brief Get field c_256 from event GAP_EVENT_LOCAL_OOB_DATA 4242 * @param event packet 4243 * @param Pointer to storage for c_256 4244 * @note: btstack_type K 4245 */ 4246 static inline void gap_event_local_oob_data_get_c_256(const uint8_t * event, uint8_t * c_256){ 4247 reverse_bytes(&event[35], c_256, 16); 4248 } 4249 /** 4250 * @brief Get field r_256 from event GAP_EVENT_LOCAL_OOB_DATA 4251 * @param event packet 4252 * @param Pointer to storage for r_256 4253 * @note: btstack_type K 4254 */ 4255 static inline void gap_event_local_oob_data_get_r_256(const uint8_t * event, uint8_t * r_256){ 4256 reverse_bytes(&event[51], r_256, 16); 4257 } 4258 4259 /** 4260 * @brief Get field con_handle from event GAP_EVENT_PAIRING_STARTED 4261 * @param event packet 4262 * @return con_handle 4263 * @note: btstack_type H 4264 */ 4265 static inline hci_con_handle_t gap_event_pairing_started_get_con_handle(const uint8_t * event){ 4266 return little_endian_read_16(event, 2); 4267 } 4268 /** 4269 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_STARTED 4270 * @param event packet 4271 * @param Pointer to storage for bd_addr 4272 * @note: btstack_type B 4273 */ 4274 static inline void gap_event_pairing_started_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4275 reverse_bytes(&event[4], bd_addr, 6); 4276 } 4277 /** 4278 * @brief Get field ssp from event GAP_EVENT_PAIRING_STARTED 4279 * @param event packet 4280 * @return ssp 4281 * @note: btstack_type 1 4282 */ 4283 static inline uint8_t gap_event_pairing_started_get_ssp(const uint8_t * event){ 4284 return event[10]; 4285 } 4286 /** 4287 * @brief Get field initiator from event GAP_EVENT_PAIRING_STARTED 4288 * @param event packet 4289 * @return initiator 4290 * @note: btstack_type 1 4291 */ 4292 static inline uint8_t gap_event_pairing_started_get_initiator(const uint8_t * event){ 4293 return event[11]; 4294 } 4295 4296 /** 4297 * @brief Get field con_handle from event GAP_EVENT_PAIRING_COMPLETE 4298 * @param event packet 4299 * @return con_handle 4300 * @note: btstack_type H 4301 */ 4302 static inline hci_con_handle_t gap_event_pairing_complete_get_con_handle(const uint8_t * event){ 4303 return little_endian_read_16(event, 2); 4304 } 4305 /** 4306 * @brief Get field bd_addr from event GAP_EVENT_PAIRING_COMPLETE 4307 * @param event packet 4308 * @param Pointer to storage for bd_addr 4309 * @note: btstack_type B 4310 */ 4311 static inline void gap_event_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4312 reverse_bytes(&event[4], bd_addr, 6); 4313 } 4314 /** 4315 * @brief Get field status from event GAP_EVENT_PAIRING_COMPLETE 4316 * @param event packet 4317 * @return status 4318 * @note: btstack_type 1 4319 */ 4320 static inline uint8_t gap_event_pairing_complete_get_status(const uint8_t * event){ 4321 return event[10]; 4322 } 4323 4324 /** 4325 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4326 * @param event packet 4327 * @return status 4328 * @note: btstack_type 1 4329 */ 4330 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 4331 return event[3]; 4332 } 4333 /** 4334 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4335 * @param event packet 4336 * @return connection_handle 4337 * @note: btstack_type H 4338 */ 4339 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 4340 return little_endian_read_16(event, 4); 4341 } 4342 /** 4343 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4344 * @param event packet 4345 * @return role 4346 * @note: btstack_type 1 4347 */ 4348 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 4349 return event[6]; 4350 } 4351 /** 4352 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4353 * @param event packet 4354 * @return peer_address_type 4355 * @note: btstack_type 1 4356 */ 4357 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 4358 return event[7]; 4359 } 4360 /** 4361 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4362 * @param event packet 4363 * @param Pointer to storage for peer_address 4364 * @note: btstack_type B 4365 */ 4366 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 4367 reverse_bytes(&event[8], peer_address, 6); 4368 } 4369 /** 4370 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4371 * @param event packet 4372 * @return conn_interval 4373 * @note: btstack_type 2 4374 */ 4375 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 4376 return little_endian_read_16(event, 14); 4377 } 4378 /** 4379 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4380 * @param event packet 4381 * @return conn_latency 4382 * @note: btstack_type 2 4383 */ 4384 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 4385 return little_endian_read_16(event, 16); 4386 } 4387 /** 4388 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4389 * @param event packet 4390 * @return supervision_timeout 4391 * @note: btstack_type 2 4392 */ 4393 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 4394 return little_endian_read_16(event, 18); 4395 } 4396 /** 4397 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 4398 * @param event packet 4399 * @return master_clock_accuracy 4400 * @note: btstack_type 1 4401 */ 4402 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 4403 return event[20]; 4404 } 4405 4406 /** 4407 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4408 * @param event packet 4409 * @return status 4410 * @note: btstack_type 1 4411 */ 4412 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 4413 return event[3]; 4414 } 4415 /** 4416 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4417 * @param event packet 4418 * @return connection_handle 4419 * @note: btstack_type H 4420 */ 4421 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 4422 return little_endian_read_16(event, 4); 4423 } 4424 /** 4425 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4426 * @param event packet 4427 * @return conn_interval 4428 * @note: btstack_type 2 4429 */ 4430 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 4431 return little_endian_read_16(event, 6); 4432 } 4433 /** 4434 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4435 * @param event packet 4436 * @return conn_latency 4437 * @note: btstack_type 2 4438 */ 4439 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 4440 return little_endian_read_16(event, 8); 4441 } 4442 /** 4443 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 4444 * @param event packet 4445 * @return supervision_timeout 4446 * @note: btstack_type 2 4447 */ 4448 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 4449 return little_endian_read_16(event, 10); 4450 } 4451 4452 /** 4453 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4454 * @param event packet 4455 * @return connection_handle 4456 * @note: btstack_type H 4457 */ 4458 static inline hci_con_handle_t hci_subevent_le_read_remote_features_complete_get_connection_handle(const uint8_t * event){ 4459 return little_endian_read_16(event, 3); 4460 } 4461 /** 4462 * @brief Get field le_features from event HCI_SUBEVENT_LE_READ_REMOTE_FEATURES_COMPLETE 4463 * @param event packet 4464 * @return le_features 4465 * @note: btstack_type D 4466 */ 4467 static inline const uint8_t * hci_subevent_le_read_remote_features_complete_get_le_features(const uint8_t * event){ 4468 return (const uint8_t *) &event[5]; 4469 } 4470 4471 /** 4472 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4473 * @param event packet 4474 * @return connection_handle 4475 * @note: btstack_type H 4476 */ 4477 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 4478 return little_endian_read_16(event, 3); 4479 } 4480 /** 4481 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4482 * @param event packet 4483 * @return random_number 4484 * @note: btstack_type D 4485 */ 4486 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 4487 return (const uint8_t *) &event[5]; 4488 } 4489 /** 4490 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 4491 * @param event packet 4492 * @return encryption_diversifier 4493 * @note: btstack_type 2 4494 */ 4495 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 4496 return little_endian_read_16(event, 13); 4497 } 4498 4499 /** 4500 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4501 * @param event packet 4502 * @return connection_handle 4503 * @note: btstack_type H 4504 */ 4505 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 4506 return little_endian_read_16(event, 3); 4507 } 4508 /** 4509 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4510 * @param event packet 4511 * @return interval_min 4512 * @note: btstack_type 2 4513 */ 4514 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 4515 return little_endian_read_16(event, 5); 4516 } 4517 /** 4518 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4519 * @param event packet 4520 * @return interval_max 4521 * @note: btstack_type 2 4522 */ 4523 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 4524 return little_endian_read_16(event, 7); 4525 } 4526 /** 4527 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4528 * @param event packet 4529 * @return latency 4530 * @note: btstack_type 2 4531 */ 4532 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 4533 return little_endian_read_16(event, 9); 4534 } 4535 /** 4536 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 4537 * @param event packet 4538 * @return timeout 4539 * @note: btstack_type 2 4540 */ 4541 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 4542 return little_endian_read_16(event, 11); 4543 } 4544 4545 /** 4546 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4547 * @param event packet 4548 * @return connection_handle 4549 * @note: btstack_type H 4550 */ 4551 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 4552 return little_endian_read_16(event, 3); 4553 } 4554 /** 4555 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4556 * @param event packet 4557 * @return max_tx_octets 4558 * @note: btstack_type 2 4559 */ 4560 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 4561 return little_endian_read_16(event, 5); 4562 } 4563 /** 4564 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4565 * @param event packet 4566 * @return max_tx_time 4567 * @note: btstack_type 2 4568 */ 4569 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 4570 return little_endian_read_16(event, 7); 4571 } 4572 /** 4573 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4574 * @param event packet 4575 * @return max_rx_octets 4576 * @note: btstack_type 2 4577 */ 4578 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 4579 return little_endian_read_16(event, 9); 4580 } 4581 /** 4582 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 4583 * @param event packet 4584 * @return max_rx_time 4585 * @note: btstack_type 2 4586 */ 4587 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 4588 return little_endian_read_16(event, 11); 4589 } 4590 4591 /** 4592 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4593 * @param event packet 4594 * @return status 4595 * @note: btstack_type 1 4596 */ 4597 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 4598 return event[3]; 4599 } 4600 /** 4601 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4602 * @param event packet 4603 * @param Pointer to storage for dhkey_x 4604 * @note: btstack_type Q 4605 */ 4606 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 4607 reverse_bytes(&event[4], dhkey_x, 32); 4608 } 4609 /** 4610 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 4611 * @param event packet 4612 * @param Pointer to storage for dhkey_y 4613 * @note: btstack_type Q 4614 */ 4615 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 4616 reverse_bytes(&event[36], dhkey_y, 32); 4617 } 4618 4619 /** 4620 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4621 * @param event packet 4622 * @return status 4623 * @note: btstack_type 1 4624 */ 4625 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 4626 return event[3]; 4627 } 4628 /** 4629 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 4630 * @param event packet 4631 * @param Pointer to storage for dhkey 4632 * @note: btstack_type Q 4633 */ 4634 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 4635 reverse_bytes(&event[4], dhkey, 32); 4636 } 4637 4638 /** 4639 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4640 * @param event packet 4641 * @return status 4642 * @note: btstack_type 1 4643 */ 4644 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_status(const uint8_t * event){ 4645 return event[3]; 4646 } 4647 /** 4648 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4649 * @param event packet 4650 * @return connection_handle 4651 * @note: btstack_type H 4652 */ 4653 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_get_connection_handle(const uint8_t * event){ 4654 return little_endian_read_16(event, 4); 4655 } 4656 /** 4657 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4658 * @param event packet 4659 * @return role 4660 * @note: btstack_type 1 4661 */ 4662 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_role(const uint8_t * event){ 4663 return event[6]; 4664 } 4665 /** 4666 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4667 * @param event packet 4668 * @return peer_address_type 4669 * @note: btstack_type 1 4670 */ 4671 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_peer_address_type(const uint8_t * event){ 4672 return event[7]; 4673 } 4674 /** 4675 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4676 * @param event packet 4677 * @param Pointer to storage for peer_addresss 4678 * @note: btstack_type B 4679 */ 4680 static inline void hci_subevent_le_enhanced_connection_complete_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){ 4681 reverse_bytes(&event[8], peer_addresss, 6); 4682 } 4683 /** 4684 * @brief Get field local_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4685 * @param event packet 4686 * @param Pointer to storage for local_resolvable_private_addres 4687 * @note: btstack_type B 4688 */ 4689 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){ 4690 reverse_bytes(&event[14], local_resolvable_private_addres, 6); 4691 } 4692 /** 4693 * @brief Get field peer_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4694 * @param event packet 4695 * @param Pointer to storage for peer_resolvable_private_addres 4696 * @note: btstack_type B 4697 */ 4698 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){ 4699 reverse_bytes(&event[20], peer_resolvable_private_addres, 6); 4700 } 4701 /** 4702 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4703 * @param event packet 4704 * @return conn_interval 4705 * @note: btstack_type 2 4706 */ 4707 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_interval(const uint8_t * event){ 4708 return little_endian_read_16(event, 26); 4709 } 4710 /** 4711 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4712 * @param event packet 4713 * @return conn_latency 4714 * @note: btstack_type 2 4715 */ 4716 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_latency(const uint8_t * event){ 4717 return little_endian_read_16(event, 28); 4718 } 4719 /** 4720 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4721 * @param event packet 4722 * @return supervision_timeout 4723 * @note: btstack_type 2 4724 */ 4725 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_supervision_timeout(const uint8_t * event){ 4726 return little_endian_read_16(event, 30); 4727 } 4728 /** 4729 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 4730 * @param event packet 4731 * @return master_clock_accuracy 4732 * @note: btstack_type 1 4733 */ 4734 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 4735 return event[32]; 4736 } 4737 4738 /** 4739 * @brief Get field status from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4740 * @param event packet 4741 * @return status 4742 * @note: btstack_type 1 4743 */ 4744 static inline uint8_t hci_subevent_le_phy_update_complete_get_status(const uint8_t * event){ 4745 return event[3]; 4746 } 4747 /** 4748 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4749 * @param event packet 4750 * @return connection_handle 4751 * @note: btstack_type H 4752 */ 4753 static inline hci_con_handle_t hci_subevent_le_phy_update_complete_get_connection_handle(const uint8_t * event){ 4754 return little_endian_read_16(event, 4); 4755 } 4756 /** 4757 * @brief Get field tx_phy from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE 4758 * @param event packet 4759 * @return tx_phy 4760 * @note: btstack_type 1 4761 */ 4762 static inline uint8_t hci_subevent_le_phy_update_complete_get_tx_phy(const uint8_t * event){ 4763 return event[6]; 4764 } 4765 4766 /** 4767 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4768 * @param event packet 4769 * @return status 4770 * @note: btstack_type 1 4771 */ 4772 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_status(const uint8_t * event){ 4773 return event[3]; 4774 } 4775 /** 4776 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4777 * @param event packet 4778 * @return sync_handle 4779 * @note: btstack_type H 4780 */ 4781 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_establishment_get_sync_handle(const uint8_t * event){ 4782 return little_endian_read_16(event, 4); 4783 } 4784 /** 4785 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4786 * @param event packet 4787 * @return advertising_sid 4788 * @note: btstack_type 1 4789 */ 4790 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertising_sid(const uint8_t * event){ 4791 return event[6]; 4792 } 4793 /** 4794 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4795 * @param event packet 4796 * @return advertiser_address_type 4797 * @note: btstack_type 1 4798 */ 4799 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address_type(const uint8_t * event){ 4800 return event[7]; 4801 } 4802 /** 4803 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4804 * @param event packet 4805 * @param Pointer to storage for advertiser_address 4806 * @note: btstack_type B 4807 */ 4808 static inline void hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 4809 reverse_bytes(&event[8], advertiser_address, 6); 4810 } 4811 /** 4812 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4813 * @param event packet 4814 * @return advertiser_phy 4815 * @note: btstack_type 1 4816 */ 4817 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_phy(const uint8_t * event){ 4818 return event[14]; 4819 } 4820 /** 4821 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4822 * @param event packet 4823 * @return periodic_advertising_interval 4824 * @note: btstack_type 2 4825 */ 4826 static inline uint16_t hci_subevent_le_periodic_advertising_sync_establishment_get_periodic_advertising_interval(const uint8_t * event){ 4827 return little_endian_read_16(event, 15); 4828 } 4829 /** 4830 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT 4831 * @param event packet 4832 * @return advertiser_clock_accuracy 4833 * @note: btstack_type 1 4834 */ 4835 static inline uint8_t hci_subevent_le_periodic_advertising_sync_establishment_get_advertiser_clock_accuracy(const uint8_t * event){ 4836 return event[17]; 4837 } 4838 4839 /** 4840 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4841 * @param event packet 4842 * @return sync_handle 4843 * @note: btstack_type H 4844 */ 4845 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_report_get_sync_handle(const uint8_t * event){ 4846 return little_endian_read_16(event, 3); 4847 } 4848 /** 4849 * @brief Get field tx_power from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4850 * @param event packet 4851 * @return tx_power 4852 * @note: btstack_type 1 4853 */ 4854 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_tx_power(const uint8_t * event){ 4855 return event[5]; 4856 } 4857 /** 4858 * @brief Get field rssi from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4859 * @param event packet 4860 * @return rssi 4861 * @note: btstack_type 1 4862 */ 4863 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_rssi(const uint8_t * event){ 4864 return event[6]; 4865 } 4866 /** 4867 * @brief Get field cte_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4868 * @param event packet 4869 * @return cte_type 4870 * @note: btstack_type 1 4871 */ 4872 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_cte_type(const uint8_t * event){ 4873 return event[7]; 4874 } 4875 /** 4876 * @brief Get field data_status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4877 * @param event packet 4878 * @return data_status 4879 * @note: btstack_type 1 4880 */ 4881 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_status(const uint8_t * event){ 4882 return event[8]; 4883 } 4884 /** 4885 * @brief Get field data_length from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4886 * @param event packet 4887 * @return data_length 4888 * @note: btstack_type J 4889 */ 4890 static inline uint8_t hci_subevent_le_periodic_advertising_report_get_data_length(const uint8_t * event){ 4891 return event[9]; 4892 } 4893 /** 4894 * @brief Get field data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT 4895 * @param event packet 4896 * @return data 4897 * @note: btstack_type V 4898 */ 4899 static inline const uint8_t * hci_subevent_le_periodic_advertising_report_get_data(const uint8_t * event){ 4900 return &event[10]; 4901 } 4902 4903 /** 4904 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_LOST 4905 * @param event packet 4906 * @return sync_handle 4907 * @note: btstack_type H 4908 */ 4909 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_lost_get_sync_handle(const uint8_t * event){ 4910 return little_endian_read_16(event, 3); 4911 } 4912 4913 4914 /** 4915 * @brief Get field status from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 4916 * @param event packet 4917 * @return status 4918 * @note: btstack_type 1 4919 */ 4920 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_status(const uint8_t * event){ 4921 return event[3]; 4922 } 4923 /** 4924 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 4925 * @param event packet 4926 * @return advertising_handle 4927 * @note: btstack_type 1 4928 */ 4929 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_advertising_handle(const uint8_t * event){ 4930 return event[4]; 4931 } 4932 /** 4933 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 4934 * @param event packet 4935 * @return connection_handle 4936 * @note: btstack_type H 4937 */ 4938 static inline hci_con_handle_t hci_subevent_le_advertising_set_terminated_get_connection_handle(const uint8_t * event){ 4939 return little_endian_read_16(event, 5); 4940 } 4941 /** 4942 * @brief Get field num_completed_exteneded_advertising_events from event HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED 4943 * @param event packet 4944 * @return num_completed_exteneded_advertising_events 4945 * @note: btstack_type 1 4946 */ 4947 static inline uint8_t hci_subevent_le_advertising_set_terminated_get_num_completed_exteneded_advertising_events(const uint8_t * event){ 4948 return event[7]; 4949 } 4950 4951 /** 4952 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 4953 * @param event packet 4954 * @return advertising_handle 4955 * @note: btstack_type 1 4956 */ 4957 static inline uint8_t hci_subevent_le_scan_request_received_get_advertising_handle(const uint8_t * event){ 4958 return event[3]; 4959 } 4960 /** 4961 * @brief Get field scanner_address_type from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 4962 * @param event packet 4963 * @return scanner_address_type 4964 * @note: btstack_type 1 4965 */ 4966 static inline uint8_t hci_subevent_le_scan_request_received_get_scanner_address_type(const uint8_t * event){ 4967 return event[4]; 4968 } 4969 /** 4970 * @brief Get field scanner_address from event HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED 4971 * @param event packet 4972 * @param Pointer to storage for scanner_address 4973 * @note: btstack_type B 4974 */ 4975 static inline void hci_subevent_le_scan_request_received_get_scanner_address(const uint8_t * event, bd_addr_t scanner_address){ 4976 reverse_bytes(&event[5], scanner_address, 6); 4977 } 4978 4979 /** 4980 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 4981 * @param event packet 4982 * @return connection_handle 4983 * @note: btstack_type H 4984 */ 4985 static inline hci_con_handle_t hci_subevent_le_channel_selection_algorithm_get_connection_handle(const uint8_t * event){ 4986 return little_endian_read_16(event, 3); 4987 } 4988 /** 4989 * @brief Get field channel_selection_algorithm from event HCI_SUBEVENT_LE_CHANNEL_SELECTION_ALGORITHM 4990 * @param event packet 4991 * @return channel_selection_algorithm 4992 * @note: btstack_type 1 4993 */ 4994 static inline uint8_t hci_subevent_le_channel_selection_algorithm_get_channel_selection_algorithm(const uint8_t * event){ 4995 return event[5]; 4996 } 4997 4998 /** 4999 * @brief Get field status from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5000 * @param event packet 5001 * @return status 5002 * @note: btstack_type 1 5003 */ 5004 static inline uint8_t hci_subevent_le_le_cte_request_failed_get_status(const uint8_t * event){ 5005 return event[3]; 5006 } 5007 /** 5008 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LE_CTE_REQUEST_FAILED 5009 * @param event packet 5010 * @return connection_handle 5011 * @note: btstack_type H 5012 */ 5013 static inline hci_con_handle_t hci_subevent_le_le_cte_request_failed_get_connection_handle(const uint8_t * event){ 5014 return little_endian_read_16(event, 4); 5015 } 5016 5017 /** 5018 * @brief Get field status from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5019 * @param event packet 5020 * @return status 5021 * @note: btstack_type 1 5022 */ 5023 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_status(const uint8_t * event){ 5024 return event[3]; 5025 } 5026 /** 5027 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5028 * @param event packet 5029 * @return connection_handle 5030 * @note: btstack_type H 5031 */ 5032 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_connection_handle(const uint8_t * event){ 5033 return little_endian_read_16(event, 4); 5034 } 5035 /** 5036 * @brief Get field service_data from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5037 * @param event packet 5038 * @return service_data 5039 * @note: btstack_type 2 5040 */ 5041 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_service_data(const uint8_t * event){ 5042 return little_endian_read_16(event, 6); 5043 } 5044 /** 5045 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5046 * @param event packet 5047 * @return sync_handle 5048 * @note: btstack_type H 5049 */ 5050 static inline hci_con_handle_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_sync_handle(const uint8_t * event){ 5051 return little_endian_read_16(event, 8); 5052 } 5053 /** 5054 * @brief Get field advertising_sid from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5055 * @param event packet 5056 * @return advertising_sid 5057 * @note: btstack_type 1 5058 */ 5059 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertising_sid(const uint8_t * event){ 5060 return event[10]; 5061 } 5062 /** 5063 * @brief Get field advertiser_address_type from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5064 * @param event packet 5065 * @return advertiser_address_type 5066 * @note: btstack_type 1 5067 */ 5068 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address_type(const uint8_t * event){ 5069 return event[11]; 5070 } 5071 /** 5072 * @brief Get field advertiser_address from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5073 * @param event packet 5074 * @param Pointer to storage for advertiser_address 5075 * @note: btstack_type B 5076 */ 5077 static inline void hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_address(const uint8_t * event, bd_addr_t advertiser_address){ 5078 reverse_bytes(&event[12], advertiser_address, 6); 5079 } 5080 /** 5081 * @brief Get field advertiser_phy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5082 * @param event packet 5083 * @return advertiser_phy 5084 * @note: btstack_type 1 5085 */ 5086 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_phy(const uint8_t * event){ 5087 return event[18]; 5088 } 5089 /** 5090 * @brief Get field periodic_advertising_interval from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5091 * @param event packet 5092 * @return periodic_advertising_interval 5093 * @note: btstack_type 2 5094 */ 5095 static inline uint16_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_periodic_advertising_interval(const uint8_t * event){ 5096 return little_endian_read_16(event, 19); 5097 } 5098 /** 5099 * @brief Get field advertiser_clock_accuracy from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED 5100 * @param event packet 5101 * @return advertiser_clock_accuracy 5102 * @note: btstack_type 1 5103 */ 5104 static inline uint8_t hci_subevent_le_periodic_advertising_sync_transfer_received_get_advertiser_clock_accuracy(const uint8_t * event){ 5105 return event[21]; 5106 } 5107 5108 /** 5109 * @brief Get field status from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5110 * @param event packet 5111 * @return status 5112 * @note: btstack_type 1 5113 */ 5114 static inline uint8_t hci_subevent_le_cis_established_get_status(const uint8_t * event){ 5115 return event[3]; 5116 } 5117 /** 5118 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5119 * @param event packet 5120 * @return connection_handle 5121 * @note: btstack_type H 5122 */ 5123 static inline hci_con_handle_t hci_subevent_le_cis_established_get_connection_handle(const uint8_t * event){ 5124 return little_endian_read_16(event, 4); 5125 } 5126 /** 5127 * @brief Get field cig_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5128 * @param event packet 5129 * @return cig_sync_delay 5130 * @note: btstack_type 3 5131 */ 5132 static inline uint32_t hci_subevent_le_cis_established_get_cig_sync_delay(const uint8_t * event){ 5133 return little_endian_read_24(event, 6); 5134 } 5135 /** 5136 * @brief Get field cis_sync_delay from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5137 * @param event packet 5138 * @return cis_sync_delay 5139 * @note: btstack_type 3 5140 */ 5141 static inline uint32_t hci_subevent_le_cis_established_get_cis_sync_delay(const uint8_t * event){ 5142 return little_endian_read_24(event, 9); 5143 } 5144 /** 5145 * @brief Get field transport_latency_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5146 * @param event packet 5147 * @return transport_latency_c_to_p 5148 * @note: btstack_type 3 5149 */ 5150 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_c_to_p(const uint8_t * event){ 5151 return little_endian_read_24(event, 12); 5152 } 5153 /** 5154 * @brief Get field transport_latency_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5155 * @param event packet 5156 * @return transport_latency_p_to_c 5157 * @note: btstack_type 3 5158 */ 5159 static inline uint32_t hci_subevent_le_cis_established_get_transport_latency_p_to_c(const uint8_t * event){ 5160 return little_endian_read_24(event, 15); 5161 } 5162 /** 5163 * @brief Get field phy_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5164 * @param event packet 5165 * @return phy_c_to_p 5166 * @note: btstack_type 1 5167 */ 5168 static inline uint8_t hci_subevent_le_cis_established_get_phy_c_to_p(const uint8_t * event){ 5169 return event[18]; 5170 } 5171 /** 5172 * @brief Get field phy_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5173 * @param event packet 5174 * @return phy_p_to_c 5175 * @note: btstack_type 1 5176 */ 5177 static inline uint8_t hci_subevent_le_cis_established_get_phy_p_to_c(const uint8_t * event){ 5178 return event[19]; 5179 } 5180 /** 5181 * @brief Get field nse from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5182 * @param event packet 5183 * @return nse 5184 * @note: btstack_type 1 5185 */ 5186 static inline uint8_t hci_subevent_le_cis_established_get_nse(const uint8_t * event){ 5187 return event[20]; 5188 } 5189 /** 5190 * @brief Get field bn_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5191 * @param event packet 5192 * @return bn_c_to_p 5193 * @note: btstack_type 1 5194 */ 5195 static inline uint8_t hci_subevent_le_cis_established_get_bn_c_to_p(const uint8_t * event){ 5196 return event[21]; 5197 } 5198 /** 5199 * @brief Get field bn_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5200 * @param event packet 5201 * @return bn_p_to_c 5202 * @note: btstack_type 1 5203 */ 5204 static inline uint8_t hci_subevent_le_cis_established_get_bn_p_to_c(const uint8_t * event){ 5205 return event[22]; 5206 } 5207 /** 5208 * @brief Get field ft_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5209 * @param event packet 5210 * @return ft_c_to_p 5211 * @note: btstack_type 1 5212 */ 5213 static inline uint8_t hci_subevent_le_cis_established_get_ft_c_to_p(const uint8_t * event){ 5214 return event[23]; 5215 } 5216 /** 5217 * @brief Get field ft_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5218 * @param event packet 5219 * @return ft_p_to_c 5220 * @note: btstack_type 1 5221 */ 5222 static inline uint8_t hci_subevent_le_cis_established_get_ft_p_to_c(const uint8_t * event){ 5223 return event[24]; 5224 } 5225 /** 5226 * @brief Get field max_pdu_c_to_p from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5227 * @param event packet 5228 * @return max_pdu_c_to_p 5229 * @note: btstack_type 2 5230 */ 5231 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_c_to_p(const uint8_t * event){ 5232 return little_endian_read_16(event, 25); 5233 } 5234 /** 5235 * @brief Get field max_pdu_p_to_c from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5236 * @param event packet 5237 * @return max_pdu_p_to_c 5238 * @note: btstack_type 2 5239 */ 5240 static inline uint16_t hci_subevent_le_cis_established_get_max_pdu_p_to_c(const uint8_t * event){ 5241 return little_endian_read_16(event, 27); 5242 } 5243 /** 5244 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_CIS_ESTABLISHED 5245 * @param event packet 5246 * @return iso_interval 5247 * @note: btstack_type 2 5248 */ 5249 static inline uint16_t hci_subevent_le_cis_established_get_iso_interval(const uint8_t * event){ 5250 return little_endian_read_16(event, 29); 5251 } 5252 5253 /** 5254 * @brief Get field acl_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5255 * @param event packet 5256 * @return acl_connection_handle 5257 * @note: btstack_type H 5258 */ 5259 static inline hci_con_handle_t hci_subevent_le_cis_request_get_acl_connection_handle(const uint8_t * event){ 5260 return little_endian_read_16(event, 3); 5261 } 5262 /** 5263 * @brief Get field cis_connection_handle from event HCI_SUBEVENT_LE_CIS_REQUEST 5264 * @param event packet 5265 * @return cis_connection_handle 5266 * @note: btstack_type H 5267 */ 5268 static inline hci_con_handle_t hci_subevent_le_cis_request_get_cis_connection_handle(const uint8_t * event){ 5269 return little_endian_read_16(event, 5); 5270 } 5271 /** 5272 * @brief Get field cig_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5273 * @param event packet 5274 * @return cig_id 5275 * @note: btstack_type 1 5276 */ 5277 static inline uint8_t hci_subevent_le_cis_request_get_cig_id(const uint8_t * event){ 5278 return event[7]; 5279 } 5280 /** 5281 * @brief Get field cis_id from event HCI_SUBEVENT_LE_CIS_REQUEST 5282 * @param event packet 5283 * @return cis_id 5284 * @note: btstack_type 1 5285 */ 5286 static inline uint8_t hci_subevent_le_cis_request_get_cis_id(const uint8_t * event){ 5287 return event[8]; 5288 } 5289 5290 /** 5291 * @brief Get field big_handle from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5292 * @param event packet 5293 * @return big_handle 5294 * @note: btstack_type 1 5295 */ 5296 static inline uint8_t hci_subevent_le_terminate_big_complete_get_big_handle(const uint8_t * event){ 5297 return event[3]; 5298 } 5299 /** 5300 * @brief Get field reason from event HCI_SUBEVENT_LE_TERMINATE_BIG_COMPLETE 5301 * @param event packet 5302 * @return reason 5303 * @note: btstack_type 1 5304 */ 5305 static inline uint8_t hci_subevent_le_terminate_big_complete_get_reason(const uint8_t * event){ 5306 return event[4]; 5307 } 5308 5309 /** 5310 * @brief Get field big_handle from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5311 * @param event packet 5312 * @return big_handle 5313 * @note: btstack_type 1 5314 */ 5315 static inline uint8_t hci_subevent_le_big_sync_lost_get_big_handle(const uint8_t * event){ 5316 return event[3]; 5317 } 5318 /** 5319 * @brief Get field reason from event HCI_SUBEVENT_LE_BIG_SYNC_LOST 5320 * @param event packet 5321 * @return reason 5322 * @note: btstack_type 1 5323 */ 5324 static inline uint8_t hci_subevent_le_big_sync_lost_get_reason(const uint8_t * event){ 5325 return event[4]; 5326 } 5327 5328 /** 5329 * @brief Get field status from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5330 * @param event packet 5331 * @return status 5332 * @note: btstack_type 1 5333 */ 5334 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_status(const uint8_t * event){ 5335 return event[3]; 5336 } 5337 /** 5338 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5339 * @param event packet 5340 * @return connection_handle 5341 * @note: btstack_type H 5342 */ 5343 static inline hci_con_handle_t hci_subevent_le_request_peer_sca_complete_get_connection_handle(const uint8_t * event){ 5344 return little_endian_read_16(event, 4); 5345 } 5346 /** 5347 * @brief Get field peer_clock_accuracy from event HCI_SUBEVENT_LE_REQUEST_PEER_SCA_COMPLETE 5348 * @param event packet 5349 * @return peer_clock_accuracy 5350 * @note: btstack_type 1 5351 */ 5352 static inline uint8_t hci_subevent_le_request_peer_sca_complete_get_peer_clock_accuracy(const uint8_t * event){ 5353 return event[6]; 5354 } 5355 5356 /** 5357 * @brief Get field status from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5358 * @param event packet 5359 * @return status 5360 * @note: btstack_type 1 5361 */ 5362 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_status(const uint8_t * event){ 5363 return event[3]; 5364 } 5365 /** 5366 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5367 * @param event packet 5368 * @return connection_handle 5369 * @note: btstack_type H 5370 */ 5371 static inline hci_con_handle_t hci_subevent_le_transmit_power_reporting_get_connection_handle(const uint8_t * event){ 5372 return little_endian_read_16(event, 4); 5373 } 5374 /** 5375 * @brief Get field reason from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5376 * @param event packet 5377 * @return reason 5378 * @note: btstack_type 1 5379 */ 5380 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_reason(const uint8_t * event){ 5381 return event[6]; 5382 } 5383 /** 5384 * @brief Get field phy from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5385 * @param event packet 5386 * @return phy 5387 * @note: btstack_type 1 5388 */ 5389 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_phy(const uint8_t * event){ 5390 return event[7]; 5391 } 5392 /** 5393 * @brief Get field tx_power_level from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5394 * @param event packet 5395 * @return tx_power_level 5396 * @note: btstack_type 1 5397 */ 5398 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level(const uint8_t * event){ 5399 return event[8]; 5400 } 5401 /** 5402 * @brief Get field tx_power_level_flag from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5403 * @param event packet 5404 * @return tx_power_level_flag 5405 * @note: btstack_type 1 5406 */ 5407 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_tx_power_level_flag(const uint8_t * event){ 5408 return event[9]; 5409 } 5410 /** 5411 * @brief Get field delta from event HCI_SUBEVENT_LE_TRANSMIT_POWER_REPORTING 5412 * @param event packet 5413 * @return delta 5414 * @note: btstack_type 1 5415 */ 5416 static inline uint8_t hci_subevent_le_transmit_power_reporting_get_delta(const uint8_t * event){ 5417 return event[10]; 5418 } 5419 5420 /** 5421 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5422 * @param event packet 5423 * @return sync_handle 5424 * @note: btstack_type H 5425 */ 5426 static inline hci_con_handle_t hci_subevent_le_biginfo_advertising_report_get_sync_handle(const uint8_t * event){ 5427 return little_endian_read_16(event, 3); 5428 } 5429 /** 5430 * @brief Get field num_bis from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5431 * @param event packet 5432 * @return num_bis 5433 * @note: btstack_type 1 5434 */ 5435 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_num_bis(const uint8_t * event){ 5436 return event[5]; 5437 } 5438 /** 5439 * @brief Get field nse from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5440 * @param event packet 5441 * @return nse 5442 * @note: btstack_type 1 5443 */ 5444 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_nse(const uint8_t * event){ 5445 return event[6]; 5446 } 5447 /** 5448 * @brief Get field iso_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5449 * @param event packet 5450 * @return iso_interval 5451 * @note: btstack_type 2 5452 */ 5453 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_iso_interval(const uint8_t * event){ 5454 return little_endian_read_16(event, 7); 5455 } 5456 /** 5457 * @brief Get field bn from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5458 * @param event packet 5459 * @return bn 5460 * @note: btstack_type 1 5461 */ 5462 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_bn(const uint8_t * event){ 5463 return event[9]; 5464 } 5465 /** 5466 * @brief Get field pto from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5467 * @param event packet 5468 * @return pto 5469 * @note: btstack_type 1 5470 */ 5471 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_pto(const uint8_t * event){ 5472 return event[10]; 5473 } 5474 /** 5475 * @brief Get field irc from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5476 * @param event packet 5477 * @return irc 5478 * @note: btstack_type 1 5479 */ 5480 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_irc(const uint8_t * event){ 5481 return event[11]; 5482 } 5483 /** 5484 * @brief Get field max_pdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5485 * @param event packet 5486 * @return max_pdu 5487 * @note: btstack_type 2 5488 */ 5489 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_pdu(const uint8_t * event){ 5490 return little_endian_read_16(event, 12); 5491 } 5492 /** 5493 * @brief Get field sdu_interval from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5494 * @param event packet 5495 * @return sdu_interval 5496 * @note: btstack_type 3 5497 */ 5498 static inline uint32_t hci_subevent_le_biginfo_advertising_report_get_sdu_interval(const uint8_t * event){ 5499 return little_endian_read_24(event, 14); 5500 } 5501 /** 5502 * @brief Get field max_sdu from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5503 * @param event packet 5504 * @return max_sdu 5505 * @note: btstack_type 2 5506 */ 5507 static inline uint16_t hci_subevent_le_biginfo_advertising_report_get_max_sdu(const uint8_t * event){ 5508 return little_endian_read_16(event, 17); 5509 } 5510 /** 5511 * @brief Get field phy from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5512 * @param event packet 5513 * @return phy 5514 * @note: btstack_type 1 5515 */ 5516 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_phy(const uint8_t * event){ 5517 return event[19]; 5518 } 5519 /** 5520 * @brief Get field framing from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5521 * @param event packet 5522 * @return framing 5523 * @note: btstack_type 1 5524 */ 5525 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_framing(const uint8_t * event){ 5526 return event[20]; 5527 } 5528 /** 5529 * @brief Get field encryption from event HCI_SUBEVENT_LE_BIGINFO_ADVERTISING_REPORT 5530 * @param event packet 5531 * @return encryption 5532 * @note: btstack_type 1 5533 */ 5534 static inline uint8_t hci_subevent_le_biginfo_advertising_report_get_encryption(const uint8_t * event){ 5535 return event[21]; 5536 } 5537 5538 /** 5539 * @brief Get field status from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5540 * @param event packet 5541 * @return status 5542 * @note: btstack_type 1 5543 */ 5544 static inline uint8_t hci_subevent_le_subrate_change_get_status(const uint8_t * event){ 5545 return event[3]; 5546 } 5547 /** 5548 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5549 * @param event packet 5550 * @return connection_handle 5551 * @note: btstack_type H 5552 */ 5553 static inline hci_con_handle_t hci_subevent_le_subrate_change_get_connection_handle(const uint8_t * event){ 5554 return little_endian_read_16(event, 4); 5555 } 5556 /** 5557 * @brief Get field subrate_factor from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5558 * @param event packet 5559 * @return subrate_factor 5560 * @note: btstack_type 2 5561 */ 5562 static inline uint16_t hci_subevent_le_subrate_change_get_subrate_factor(const uint8_t * event){ 5563 return little_endian_read_16(event, 6); 5564 } 5565 /** 5566 * @brief Get field peripheral_latency from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5567 * @param event packet 5568 * @return peripheral_latency 5569 * @note: btstack_type 2 5570 */ 5571 static inline uint16_t hci_subevent_le_subrate_change_get_peripheral_latency(const uint8_t * event){ 5572 return little_endian_read_16(event, 8); 5573 } 5574 /** 5575 * @brief Get field continuation_number from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5576 * @param event packet 5577 * @return continuation_number 5578 * @note: btstack_type 2 5579 */ 5580 static inline uint16_t hci_subevent_le_subrate_change_get_continuation_number(const uint8_t * event){ 5581 return little_endian_read_16(event, 10); 5582 } 5583 /** 5584 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_SUBRATE_CHANGE 5585 * @param event packet 5586 * @return supervision_timeout 5587 * @note: btstack_type 2 5588 */ 5589 static inline uint16_t hci_subevent_le_subrate_change_get_supervision_timeout(const uint8_t * event){ 5590 return little_endian_read_16(event, 12); 5591 } 5592 5593 /** 5594 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5595 * @param event packet 5596 * @return advertisement_handle 5597 * @note: btstack_type 1 5598 */ 5599 static inline uint8_t gap_subevent_advertising_set_installed_get_advertisement_handle(const uint8_t * event){ 5600 return event[3]; 5601 } 5602 /** 5603 * @brief Get field status from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5604 * @param event packet 5605 * @return status 5606 * @note: btstack_type 1 5607 */ 5608 static inline uint8_t gap_subevent_advertising_set_installed_get_status(const uint8_t * event){ 5609 return event[4]; 5610 } 5611 /** 5612 * @brief Get field selected_tx_power from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED 5613 * @param event packet 5614 * @return selected_tx_power 5615 * @note: btstack_type 1 5616 */ 5617 static inline uint8_t gap_subevent_advertising_set_installed_get_selected_tx_power(const uint8_t * event){ 5618 return event[5]; 5619 } 5620 5621 /** 5622 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_REMOVED 5623 * @param event packet 5624 * @return advertisement_handle 5625 * @note: btstack_type 1 5626 */ 5627 static inline uint8_t gap_subevent_advertising_set_removed_get_advertisement_handle(const uint8_t * event){ 5628 return event[3]; 5629 } 5630 5631 /** 5632 * @brief Get field status from event GAP_SUBEVENT_BIG_CREATED 5633 * @param event packet 5634 * @return status 5635 * @note: btstack_type 1 5636 */ 5637 static inline uint8_t gap_subevent_big_created_get_status(const uint8_t * event){ 5638 return event[3]; 5639 } 5640 /** 5641 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_CREATED 5642 * @param event packet 5643 * @return big_handle 5644 * @note: btstack_type 1 5645 */ 5646 static inline uint8_t gap_subevent_big_created_get_big_handle(const uint8_t * event){ 5647 return event[4]; 5648 } 5649 /** 5650 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_CREATED 5651 * @param event packet 5652 * @return num_bis 5653 * @note: btstack_type 1 5654 */ 5655 static inline uint8_t gap_subevent_big_created_get_num_bis(const uint8_t * event){ 5656 return event[5]; 5657 } 5658 /** 5659 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_CREATED 5660 * @param event packet 5661 * @param index 5662 * @return bis_con_handles 5663 * @note: btstack_type C 5664 */ 5665 static inline uint16_t gap_subevent_big_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 5666 return little_endian_read_16(event, 6 + (2 * index)); 5667 } 5668 5669 /** 5670 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_TERMINATED 5671 * @param event packet 5672 * @return big_handle 5673 * @note: btstack_type 1 5674 */ 5675 static inline uint8_t gap_subevent_big_terminated_get_big_handle(const uint8_t * event){ 5676 return event[3]; 5677 } 5678 5679 /** 5680 * @brief Get field status from event GAP_SUBEVENT_BIG_SYNC_CREATED 5681 * @param event packet 5682 * @return status 5683 * @note: btstack_type 1 5684 */ 5685 static inline uint8_t gap_subevent_big_sync_created_get_status(const uint8_t * event){ 5686 return event[3]; 5687 } 5688 /** 5689 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_CREATED 5690 * @param event packet 5691 * @return big_handle 5692 * @note: btstack_type 1 5693 */ 5694 static inline uint8_t gap_subevent_big_sync_created_get_big_handle(const uint8_t * event){ 5695 return event[4]; 5696 } 5697 /** 5698 * @brief Get field num_bis from event GAP_SUBEVENT_BIG_SYNC_CREATED 5699 * @param event packet 5700 * @return num_bis 5701 * @note: btstack_type 1 5702 */ 5703 static inline uint8_t gap_subevent_big_sync_created_get_num_bis(const uint8_t * event){ 5704 return event[5]; 5705 } 5706 /** 5707 * @brief Get element of array field bis_con_handles from event GAP_SUBEVENT_BIG_SYNC_CREATED 5708 * @param event packet 5709 * @param index 5710 * @return bis_con_handles 5711 * @note: btstack_type C 5712 */ 5713 static inline uint16_t gap_subevent_big_sync_created_get_bis_con_handles(const uint8_t * event, uint8_t index){ 5714 return little_endian_read_16(event, 6 + (2 * index)); 5715 } 5716 5717 /** 5718 * @brief Get field big_handle from event GAP_SUBEVENT_BIG_SYNC_STOPPED 5719 * @param event packet 5720 * @return big_handle 5721 * @note: btstack_type 1 5722 */ 5723 static inline uint8_t gap_subevent_big_sync_stopped_get_big_handle(const uint8_t * event){ 5724 return event[3]; 5725 } 5726 5727 /** 5728 * @brief Get field status from event GAP_SUBEVENT_CIG_CREATED 5729 * @param event packet 5730 * @return status 5731 * @note: btstack_type 1 5732 */ 5733 static inline uint8_t gap_subevent_cig_created_get_status(const uint8_t * event){ 5734 return event[3]; 5735 } 5736 /** 5737 * @brief Get field cig_id from event GAP_SUBEVENT_CIG_CREATED 5738 * @param event packet 5739 * @return cig_id 5740 * @note: btstack_type 1 5741 */ 5742 static inline uint8_t gap_subevent_cig_created_get_cig_id(const uint8_t * event){ 5743 return event[4]; 5744 } 5745 /** 5746 * @brief Get field num_cis from event GAP_SUBEVENT_CIG_CREATED 5747 * @param event packet 5748 * @return num_cis 5749 * @note: btstack_type 1 5750 */ 5751 static inline uint8_t gap_subevent_cig_created_get_num_cis(const uint8_t * event){ 5752 return event[5]; 5753 } 5754 /** 5755 * @brief Get element of array field cis_con_handles from event GAP_SUBEVENT_CIG_CREATED 5756 * @param event packet 5757 * @param index 5758 * @return cis_con_handles 5759 * @note: btstack_type C 5760 */ 5761 static inline uint16_t gap_subevent_cig_created_get_cis_con_handles(const uint8_t * event, uint8_t index){ 5762 return little_endian_read_16(event, 6 + (2 * index)); 5763 } 5764 5765 /** 5766 * @brief Get field status from event GAP_SUBEVENT_CIS_CREATED 5767 * @param event packet 5768 * @return status 5769 * @note: btstack_type 1 5770 */ 5771 static inline uint8_t gap_subevent_cis_created_get_status(const uint8_t * event){ 5772 return event[3]; 5773 } 5774 /** 5775 * @brief Get field cig_id from event GAP_SUBEVENT_CIS_CREATED 5776 * @param event packet 5777 * @return cig_id 5778 * @note: btstack_type 1 5779 */ 5780 static inline uint8_t gap_subevent_cis_created_get_cig_id(const uint8_t * event){ 5781 return event[4]; 5782 } 5783 /** 5784 * @brief Get field cis_id from event GAP_SUBEVENT_CIS_CREATED 5785 * @param event packet 5786 * @return cis_id 5787 * @note: btstack_type 1 5788 */ 5789 static inline uint8_t gap_subevent_cis_created_get_cis_id(const uint8_t * event){ 5790 return event[5]; 5791 } 5792 /** 5793 * @brief Get field cis_con_handle from event GAP_SUBEVENT_CIS_CREATED 5794 * @param event packet 5795 * @return cis_con_handle 5796 * @note: btstack_type H 5797 */ 5798 static inline hci_con_handle_t gap_subevent_cis_created_get_cis_con_handle(const uint8_t * event){ 5799 return little_endian_read_16(event, 6); 5800 } 5801 /** 5802 * @brief Get field acl_con_handle from event GAP_SUBEVENT_CIS_CREATED 5803 * @param event packet 5804 * @return acl_con_handle 5805 * @note: btstack_type H 5806 */ 5807 static inline hci_con_handle_t gap_subevent_cis_created_get_acl_con_handle(const uint8_t * event){ 5808 return little_endian_read_16(event, 8); 5809 } 5810 5811 /** 5812 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 5813 * @param event packet 5814 * @return acl_handle 5815 * @note: btstack_type H 5816 */ 5817 static inline hci_con_handle_t hsp_subevent_rfcomm_connection_complete_get_acl_handle(const uint8_t * event){ 5818 return little_endian_read_16(event, 3); 5819 } 5820 /** 5821 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 5822 * @param event packet 5823 * @return status 5824 * @note: btstack_type 1 5825 */ 5826 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 5827 return event[5]; 5828 } 5829 /** 5830 * @brief Get field bd_addr from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 5831 * @param event packet 5832 * @param Pointer to storage for bd_addr 5833 * @note: btstack_type B 5834 */ 5835 static inline void hsp_subevent_rfcomm_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5836 reverse_bytes(&event[6], bd_addr, 6); 5837 } 5838 5839 /** 5840 * @brief Get field acl_handle from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 5841 * @param event packet 5842 * @return acl_handle 5843 * @note: btstack_type H 5844 */ 5845 static inline hci_con_handle_t hsp_subevent_rfcomm_disconnection_complete_get_acl_handle(const uint8_t * event){ 5846 return little_endian_read_16(event, 3); 5847 } 5848 5849 /** 5850 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 5851 * @param event packet 5852 * @return acl_handle 5853 * @note: btstack_type H 5854 */ 5855 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_acl_handle(const uint8_t * event){ 5856 return little_endian_read_16(event, 3); 5857 } 5858 /** 5859 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 5860 * @param event packet 5861 * @return status 5862 * @note: btstack_type 1 5863 */ 5864 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 5865 return event[5]; 5866 } 5867 /** 5868 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 5869 * @param event packet 5870 * @return sco_handle 5871 * @note: btstack_type H 5872 */ 5873 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_sco_handle(const uint8_t * event){ 5874 return little_endian_read_16(event, 6); 5875 } 5876 5877 /** 5878 * @brief Get field acl_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 5879 * @param event packet 5880 * @return acl_handle 5881 * @note: btstack_type H 5882 */ 5883 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_acl_handle(const uint8_t * event){ 5884 return little_endian_read_16(event, 3); 5885 } 5886 /** 5887 * @brief Get field sco_handle from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 5888 * @param event packet 5889 * @return sco_handle 5890 * @note: btstack_type H 5891 */ 5892 static inline hci_con_handle_t hsp_subevent_audio_disconnection_complete_get_sco_handle(const uint8_t * event){ 5893 return little_endian_read_16(event, 5); 5894 } 5895 5896 /** 5897 * @brief Get field acl_handle from event HSP_SUBEVENT_RING 5898 * @param event packet 5899 * @return acl_handle 5900 * @note: btstack_type H 5901 */ 5902 static inline hci_con_handle_t hsp_subevent_ring_get_acl_handle(const uint8_t * event){ 5903 return little_endian_read_16(event, 3); 5904 } 5905 5906 /** 5907 * @brief Get field acl_handle from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 5908 * @param event packet 5909 * @return acl_handle 5910 * @note: btstack_type H 5911 */ 5912 static inline hci_con_handle_t hsp_subevent_microphone_gain_changed_get_acl_handle(const uint8_t * event){ 5913 return little_endian_read_16(event, 3); 5914 } 5915 /** 5916 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 5917 * @param event packet 5918 * @return gain 5919 * @note: btstack_type 1 5920 */ 5921 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 5922 return event[5]; 5923 } 5924 5925 /** 5926 * @brief Get field acl_handle from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 5927 * @param event packet 5928 * @return acl_handle 5929 * @note: btstack_type H 5930 */ 5931 static inline hci_con_handle_t hsp_subevent_speaker_gain_changed_get_acl_handle(const uint8_t * event){ 5932 return little_endian_read_16(event, 3); 5933 } 5934 /** 5935 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 5936 * @param event packet 5937 * @return gain 5938 * @note: btstack_type 1 5939 */ 5940 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 5941 return event[5]; 5942 } 5943 5944 /** 5945 * @brief Get field acl_handle from event HSP_SUBEVENT_HS_COMMAND 5946 * @param event packet 5947 * @return acl_handle 5948 * @note: btstack_type H 5949 */ 5950 static inline hci_con_handle_t hsp_subevent_hs_command_get_acl_handle(const uint8_t * event){ 5951 return little_endian_read_16(event, 3); 5952 } 5953 /** 5954 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 5955 * @param event packet 5956 * @return value_length 5957 * @note: btstack_type J 5958 */ 5959 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 5960 return event[5]; 5961 } 5962 /** 5963 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 5964 * @param event packet 5965 * @return value 5966 * @note: btstack_type V 5967 */ 5968 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 5969 return &event[6]; 5970 } 5971 5972 /** 5973 * @brief Get field acl_handle from event HSP_SUBEVENT_AG_INDICATION 5974 * @param event packet 5975 * @return acl_handle 5976 * @note: btstack_type H 5977 */ 5978 static inline hci_con_handle_t hsp_subevent_ag_indication_get_acl_handle(const uint8_t * event){ 5979 return little_endian_read_16(event, 3); 5980 } 5981 /** 5982 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 5983 * @param event packet 5984 * @return value_length 5985 * @note: btstack_type J 5986 */ 5987 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 5988 return event[5]; 5989 } 5990 /** 5991 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 5992 * @param event packet 5993 * @return value 5994 * @note: btstack_type V 5995 */ 5996 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 5997 return &event[6]; 5998 } 5999 6000 /** 6001 * @brief Get field acl_handle from event HSP_SUBEVENT_BUTTON_PRESSED 6002 * @param event packet 6003 * @return acl_handle 6004 * @note: btstack_type H 6005 */ 6006 static inline hci_con_handle_t hsp_subevent_button_pressed_get_acl_handle(const uint8_t * event){ 6007 return little_endian_read_16(event, 3); 6008 } 6009 6010 /** 6011 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6012 * @param event packet 6013 * @return acl_handle 6014 * @note: btstack_type H 6015 */ 6016 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_acl_handle(const uint8_t * event){ 6017 return little_endian_read_16(event, 3); 6018 } 6019 /** 6020 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6021 * @param event packet 6022 * @return status 6023 * @note: btstack_type 1 6024 */ 6025 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 6026 return event[5]; 6027 } 6028 /** 6029 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 6030 * @param event packet 6031 * @param Pointer to storage for bd_addr 6032 * @note: btstack_type B 6033 */ 6034 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6035 reverse_bytes(&event[6], bd_addr, 6); 6036 } 6037 6038 /** 6039 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 6040 * @param event packet 6041 * @return acl_handle 6042 * @note: btstack_type H 6043 */ 6044 static inline hci_con_handle_t hfp_subevent_service_level_connection_released_get_acl_handle(const uint8_t * event){ 6045 return little_endian_read_16(event, 3); 6046 } 6047 6048 /** 6049 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6050 * @param event packet 6051 * @return acl_handle 6052 * @note: btstack_type H 6053 */ 6054 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_acl_handle(const uint8_t * event){ 6055 return little_endian_read_16(event, 3); 6056 } 6057 /** 6058 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6059 * @param event packet 6060 * @return status 6061 * @note: btstack_type 1 6062 */ 6063 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 6064 return event[5]; 6065 } 6066 /** 6067 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6068 * @param event packet 6069 * @return sco_handle 6070 * @note: btstack_type H 6071 */ 6072 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_sco_handle(const uint8_t * event){ 6073 return little_endian_read_16(event, 6); 6074 } 6075 /** 6076 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6077 * @param event packet 6078 * @param Pointer to storage for bd_addr 6079 * @note: btstack_type B 6080 */ 6081 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6082 reverse_bytes(&event[8], bd_addr, 6); 6083 } 6084 /** 6085 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6086 * @param event packet 6087 * @return negotiated_codec 6088 * @note: btstack_type 1 6089 */ 6090 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 6091 return event[14]; 6092 } 6093 /** 6094 * @brief Get field sco_packet_types from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6095 * @param event packet 6096 * @return sco_packet_types 6097 * @note: btstack_type 2 6098 */ 6099 static inline uint16_t hfp_subevent_audio_connection_established_get_sco_packet_types(const uint8_t * event){ 6100 return little_endian_read_16(event, 15); 6101 } 6102 /** 6103 * @brief Get field rx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6104 * @param event packet 6105 * @return rx_packet_length 6106 * @note: btstack_type 2 6107 */ 6108 static inline uint16_t hfp_subevent_audio_connection_established_get_rx_packet_length(const uint8_t * event){ 6109 return little_endian_read_16(event, 17); 6110 } 6111 /** 6112 * @brief Get field tx_packet_length from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 6113 * @param event packet 6114 * @return tx_packet_length 6115 * @note: btstack_type 2 6116 */ 6117 static inline uint16_t hfp_subevent_audio_connection_established_get_tx_packet_length(const uint8_t * event){ 6118 return little_endian_read_16(event, 19); 6119 } 6120 6121 /** 6122 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6123 * @param event packet 6124 * @return acl_handle 6125 * @note: btstack_type H 6126 */ 6127 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_acl_handle(const uint8_t * event){ 6128 return little_endian_read_16(event, 3); 6129 } 6130 /** 6131 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 6132 * @param event packet 6133 * @return sco_handle 6134 * @note: btstack_type H 6135 */ 6136 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_sco_handle(const uint8_t * event){ 6137 return little_endian_read_16(event, 5); 6138 } 6139 6140 /** 6141 * @brief Get field acl_handle from event HFP_SUBEVENT_COMPLETE 6142 * @param event packet 6143 * @return acl_handle 6144 * @note: btstack_type H 6145 */ 6146 static inline hci_con_handle_t hfp_subevent_complete_get_acl_handle(const uint8_t * event){ 6147 return little_endian_read_16(event, 3); 6148 } 6149 /** 6150 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 6151 * @param event packet 6152 * @return status 6153 * @note: btstack_type 1 6154 */ 6155 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 6156 return event[5]; 6157 } 6158 6159 /** 6160 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6161 * @param event packet 6162 * @return acl_handle 6163 * @note: btstack_type H 6164 */ 6165 static inline hci_con_handle_t hfp_subevent_ag_indicator_mapping_get_acl_handle(const uint8_t * event){ 6166 return little_endian_read_16(event, 3); 6167 } 6168 /** 6169 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6170 * @param event packet 6171 * @return indicator_index 6172 * @note: btstack_type 1 6173 */ 6174 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_index(const uint8_t * event){ 6175 return event[5]; 6176 } 6177 /** 6178 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6179 * @param event packet 6180 * @return indicator_min_range 6181 * @note: btstack_type 1 6182 */ 6183 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_min_range(const uint8_t * event){ 6184 return event[6]; 6185 } 6186 /** 6187 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6188 * @param event packet 6189 * @return indicator_max_range 6190 * @note: btstack_type 1 6191 */ 6192 static inline uint8_t hfp_subevent_ag_indicator_mapping_get_indicator_max_range(const uint8_t * event){ 6193 return event[7]; 6194 } 6195 /** 6196 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_MAPPING 6197 * @param event packet 6198 * @return indicator_name 6199 * @note: btstack_type T 6200 */ 6201 static inline const char * hfp_subevent_ag_indicator_mapping_get_indicator_name(const uint8_t * event){ 6202 return (const char *) &event[8]; 6203 } 6204 6205 /** 6206 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6207 * @param event packet 6208 * @return acl_handle 6209 * @note: btstack_type H 6210 */ 6211 static inline hci_con_handle_t hfp_subevent_ag_indicator_status_changed_get_acl_handle(const uint8_t * event){ 6212 return little_endian_read_16(event, 3); 6213 } 6214 /** 6215 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6216 * @param event packet 6217 * @return indicator_index 6218 * @note: btstack_type 1 6219 */ 6220 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 6221 return event[5]; 6222 } 6223 /** 6224 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6225 * @param event packet 6226 * @return indicator_status 6227 * @note: btstack_type 1 6228 */ 6229 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 6230 return event[6]; 6231 } 6232 /** 6233 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6234 * @param event packet 6235 * @return indicator_min_range 6236 * @note: btstack_type 1 6237 */ 6238 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 6239 return event[7]; 6240 } 6241 /** 6242 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6243 * @param event packet 6244 * @return indicator_max_range 6245 * @note: btstack_type 1 6246 */ 6247 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 6248 return event[8]; 6249 } 6250 /** 6251 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6252 * @param event packet 6253 * @return indicator_mandatory 6254 * @note: btstack_type 1 6255 */ 6256 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 6257 return event[9]; 6258 } 6259 /** 6260 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6261 * @param event packet 6262 * @return indicator_enabled 6263 * @note: btstack_type 1 6264 */ 6265 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 6266 return event[10]; 6267 } 6268 /** 6269 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6270 * @param event packet 6271 * @return indicator_status_changed 6272 * @note: btstack_type 1 6273 */ 6274 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 6275 return event[11]; 6276 } 6277 /** 6278 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 6279 * @param event packet 6280 * @return indicator_name 6281 * @note: btstack_type T 6282 */ 6283 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 6284 return (const char *) &event[12]; 6285 } 6286 6287 /** 6288 * @brief Get field acl_handle from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6289 * @param event packet 6290 * @return acl_handle 6291 * @note: btstack_type H 6292 */ 6293 static inline hci_con_handle_t hfp_subevent_network_operator_changed_get_acl_handle(const uint8_t * event){ 6294 return little_endian_read_16(event, 3); 6295 } 6296 /** 6297 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6298 * @param event packet 6299 * @return network_operator_mode 6300 * @note: btstack_type 1 6301 */ 6302 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 6303 return event[5]; 6304 } 6305 /** 6306 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6307 * @param event packet 6308 * @return network_operator_format 6309 * @note: btstack_type 1 6310 */ 6311 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 6312 return event[6]; 6313 } 6314 /** 6315 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 6316 * @param event packet 6317 * @return network_operator_name 6318 * @note: btstack_type T 6319 */ 6320 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 6321 return (const char *) &event[7]; 6322 } 6323 6324 /** 6325 * @brief Get field acl_handle from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6326 * @param event packet 6327 * @return acl_handle 6328 * @note: btstack_type H 6329 */ 6330 static inline hci_con_handle_t hfp_subevent_extended_audio_gateway_error_get_acl_handle(const uint8_t * event){ 6331 return little_endian_read_16(event, 3); 6332 } 6333 /** 6334 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 6335 * @param event packet 6336 * @return error 6337 * @note: btstack_type 1 6338 */ 6339 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 6340 return event[5]; 6341 } 6342 6343 /** 6344 * @brief Get field acl_handle from event HFP_SUBEVENT_START_RINGING 6345 * @param event packet 6346 * @return acl_handle 6347 * @note: btstack_type H 6348 */ 6349 static inline hci_con_handle_t hfp_subevent_start_ringing_get_acl_handle(const uint8_t * event){ 6350 return little_endian_read_16(event, 3); 6351 } 6352 6353 /** 6354 * @brief Get field acl_handle from event HFP_SUBEVENT_RING 6355 * @param event packet 6356 * @return acl_handle 6357 * @note: btstack_type H 6358 */ 6359 static inline hci_con_handle_t hfp_subevent_ring_get_acl_handle(const uint8_t * event){ 6360 return little_endian_read_16(event, 3); 6361 } 6362 6363 /** 6364 * @brief Get field acl_handle from event HFP_SUBEVENT_STOP_RINGING 6365 * @param event packet 6366 * @return acl_handle 6367 * @note: btstack_type H 6368 */ 6369 static inline hci_con_handle_t hfp_subevent_stop_ringing_get_acl_handle(const uint8_t * event){ 6370 return little_endian_read_16(event, 3); 6371 } 6372 6373 /** 6374 * @brief Get field acl_handle from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6375 * @param event packet 6376 * @return acl_handle 6377 * @note: btstack_type H 6378 */ 6379 static inline hci_con_handle_t hfp_subevent_place_call_with_number_get_acl_handle(const uint8_t * event){ 6380 return little_endian_read_16(event, 3); 6381 } 6382 /** 6383 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 6384 * @param event packet 6385 * @return number 6386 * @note: btstack_type T 6387 */ 6388 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 6389 return (const char *) &event[5]; 6390 } 6391 6392 /** 6393 * @brief Get field acl_handle from event HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 6394 * @param event packet 6395 * @return acl_handle 6396 * @note: btstack_type H 6397 */ 6398 static inline hci_con_handle_t hfp_subevent_attach_number_to_voice_tag_get_acl_handle(const uint8_t * event){ 6399 return little_endian_read_16(event, 3); 6400 } 6401 6402 /** 6403 * @brief Get field acl_handle from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6404 * @param event packet 6405 * @return acl_handle 6406 * @note: btstack_type H 6407 */ 6408 static inline hci_con_handle_t hfp_subevent_number_for_voice_tag_get_acl_handle(const uint8_t * event){ 6409 return little_endian_read_16(event, 3); 6410 } 6411 /** 6412 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 6413 * @param event packet 6414 * @return number 6415 * @note: btstack_type T 6416 */ 6417 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 6418 return (const char *) &event[5]; 6419 } 6420 6421 /** 6422 * @brief Get field acl_handle from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 6423 * @param event packet 6424 * @return acl_handle 6425 * @note: btstack_type H 6426 */ 6427 static inline hci_con_handle_t hfp_subevent_transmit_dtmf_codes_get_acl_handle(const uint8_t * event){ 6428 return little_endian_read_16(event, 3); 6429 } 6430 /** 6431 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 6432 * @param event packet 6433 * @return dtmf 6434 * @note: btstack_type T 6435 */ 6436 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 6437 return (const char *) &event[5]; 6438 } 6439 6440 /** 6441 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_ANSWERED 6442 * @param event packet 6443 * @return acl_handle 6444 * @note: btstack_type H 6445 */ 6446 static inline hci_con_handle_t hfp_subevent_call_answered_get_acl_handle(const uint8_t * event){ 6447 return little_endian_read_16(event, 3); 6448 } 6449 6450 /** 6451 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_TERMINATED 6452 * @param event packet 6453 * @return acl_handle 6454 * @note: btstack_type H 6455 */ 6456 static inline hci_con_handle_t hfp_subevent_call_terminated_get_acl_handle(const uint8_t * event){ 6457 return little_endian_read_16(event, 3); 6458 } 6459 6460 /** 6461 * @brief Get field acl_handle from event HFP_SUBEVENT_CONFERENCE_CALL 6462 * @param event packet 6463 * @return acl_handle 6464 * @note: btstack_type H 6465 */ 6466 static inline hci_con_handle_t hfp_subevent_conference_call_get_acl_handle(const uint8_t * event){ 6467 return little_endian_read_16(event, 3); 6468 } 6469 6470 /** 6471 * @brief Get field acl_handle from event HFP_SUBEVENT_SPEAKER_VOLUME 6472 * @param event packet 6473 * @return acl_handle 6474 * @note: btstack_type H 6475 */ 6476 static inline hci_con_handle_t hfp_subevent_speaker_volume_get_acl_handle(const uint8_t * event){ 6477 return little_endian_read_16(event, 3); 6478 } 6479 /** 6480 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 6481 * @param event packet 6482 * @return gain 6483 * @note: btstack_type 1 6484 */ 6485 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 6486 return event[5]; 6487 } 6488 6489 /** 6490 * @brief Get field acl_handle from event HFP_SUBEVENT_MICROPHONE_VOLUME 6491 * @param event packet 6492 * @return acl_handle 6493 * @note: btstack_type H 6494 */ 6495 static inline hci_con_handle_t hfp_subevent_microphone_volume_get_acl_handle(const uint8_t * event){ 6496 return little_endian_read_16(event, 3); 6497 } 6498 /** 6499 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 6500 * @param event packet 6501 * @return gain 6502 * @note: btstack_type 1 6503 */ 6504 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 6505 return event[5]; 6506 } 6507 6508 /** 6509 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6510 * @param event packet 6511 * @return acl_handle 6512 * @note: btstack_type H 6513 */ 6514 static inline hci_con_handle_t hfp_subevent_call_waiting_notification_get_acl_handle(const uint8_t * event){ 6515 return little_endian_read_16(event, 3); 6516 } 6517 /** 6518 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6519 * @param event packet 6520 * @return type 6521 * @note: btstack_type 1 6522 */ 6523 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 6524 return event[5]; 6525 } 6526 /** 6527 * @brief Get field number_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6528 * @param event packet 6529 * @return number_length 6530 * @note: btstack_type J 6531 */ 6532 static inline uint8_t hfp_subevent_call_waiting_notification_get_number_length(const uint8_t * event){ 6533 return event[6]; 6534 } 6535 /** 6536 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6537 * @param event packet 6538 * @return number 6539 * @note: btstack_type V 6540 */ 6541 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 6542 return &event[7]; 6543 } 6544 /** 6545 * @brief Get field alpha_length from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6546 * @param event packet 6547 * @return alpha_length 6548 * @note: btstack_type J 6549 */ 6550 static inline uint8_t hfp_subevent_call_waiting_notification_get_alpha_length(const uint8_t * event){ 6551 return event[7u + event[6]]; 6552 } 6553 /** 6554 * @brief Get field alpha from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 6555 * @param event packet 6556 * @return alpha 6557 * @note: btstack_type V 6558 */ 6559 static inline const uint8_t * hfp_subevent_call_waiting_notification_get_alpha(const uint8_t * event){ 6560 return &event[7u + event[6] + 1u]; 6561 } 6562 6563 /** 6564 * @brief Get field acl_handle from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6565 * @param event packet 6566 * @return acl_handle 6567 * @note: btstack_type H 6568 */ 6569 static inline hci_con_handle_t hfp_subevent_calling_line_identification_notification_get_acl_handle(const uint8_t * event){ 6570 return little_endian_read_16(event, 3); 6571 } 6572 /** 6573 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6574 * @param event packet 6575 * @return type 6576 * @note: btstack_type 1 6577 */ 6578 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 6579 return event[5]; 6580 } 6581 /** 6582 * @brief Get field number_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6583 * @param event packet 6584 * @return number_length 6585 * @note: btstack_type J 6586 */ 6587 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_number_length(const uint8_t * event){ 6588 return event[6]; 6589 } 6590 /** 6591 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6592 * @param event packet 6593 * @return number 6594 * @note: btstack_type V 6595 */ 6596 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 6597 return &event[7]; 6598 } 6599 /** 6600 * @brief Get field alpha_length from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6601 * @param event packet 6602 * @return alpha_length 6603 * @note: btstack_type J 6604 */ 6605 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_alpha_length(const uint8_t * event){ 6606 return event[7u + event[6]]; 6607 } 6608 /** 6609 * @brief Get field alpha from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 6610 * @param event packet 6611 * @return alpha 6612 * @note: btstack_type V 6613 */ 6614 static inline const uint8_t * hfp_subevent_calling_line_identification_notification_get_alpha(const uint8_t * event){ 6615 return &event[7u + event[6] + 1u]; 6616 } 6617 6618 /** 6619 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6620 * @param event packet 6621 * @return acl_handle 6622 * @note: btstack_type H 6623 */ 6624 static inline hci_con_handle_t hfp_subevent_enhanced_call_status_get_acl_handle(const uint8_t * event){ 6625 return little_endian_read_16(event, 3); 6626 } 6627 /** 6628 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6629 * @param event packet 6630 * @return clcc_idx 6631 * @note: btstack_type 1 6632 */ 6633 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 6634 return event[5]; 6635 } 6636 /** 6637 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6638 * @param event packet 6639 * @return clcc_dir 6640 * @note: btstack_type 1 6641 */ 6642 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 6643 return event[6]; 6644 } 6645 /** 6646 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6647 * @param event packet 6648 * @return clcc_status 6649 * @note: btstack_type 1 6650 */ 6651 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 6652 return event[7]; 6653 } 6654 /** 6655 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6656 * @param event packet 6657 * @return clcc_mode 6658 * @note: btstack_type 1 6659 */ 6660 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 6661 return event[8]; 6662 } 6663 /** 6664 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6665 * @param event packet 6666 * @return clcc_mpty 6667 * @note: btstack_type 1 6668 */ 6669 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 6670 return event[9]; 6671 } 6672 /** 6673 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6674 * @param event packet 6675 * @return bnip_type 6676 * @note: btstack_type 1 6677 */ 6678 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 6679 return event[10]; 6680 } 6681 /** 6682 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 6683 * @param event packet 6684 * @return bnip_number 6685 * @note: btstack_type T 6686 */ 6687 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 6688 return (const char *) &event[11]; 6689 } 6690 6691 /** 6692 * @brief Get field acl_handle from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 6693 * @param event packet 6694 * @return acl_handle 6695 * @note: btstack_type H 6696 */ 6697 static inline hci_con_handle_t hfp_subevent_subscriber_number_information_get_acl_handle(const uint8_t * event){ 6698 return little_endian_read_16(event, 3); 6699 } 6700 /** 6701 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 6702 * @param event packet 6703 * @return status 6704 * @note: btstack_type 1 6705 */ 6706 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 6707 return event[5]; 6708 } 6709 /** 6710 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 6711 * @param event packet 6712 * @return bnip_type 6713 * @note: btstack_type 1 6714 */ 6715 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 6716 return event[6]; 6717 } 6718 /** 6719 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 6720 * @param event packet 6721 * @return bnip_number 6722 * @note: btstack_type T 6723 */ 6724 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 6725 return (const char *) &event[7]; 6726 } 6727 6728 /** 6729 * @brief Get field acl_handle from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 6730 * @param event packet 6731 * @return acl_handle 6732 * @note: btstack_type H 6733 */ 6734 static inline hci_con_handle_t hfp_subevent_response_and_hold_status_get_acl_handle(const uint8_t * event){ 6735 return little_endian_read_16(event, 3); 6736 } 6737 /** 6738 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 6739 * @param event packet 6740 * @return value 6741 * @note: btstack_type T 6742 */ 6743 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 6744 return (const char *) &event[5]; 6745 } 6746 6747 /** 6748 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_SENT 6749 * @param event packet 6750 * @return acl_handle 6751 * @note: btstack_type H 6752 */ 6753 static inline hci_con_handle_t hfp_subevent_at_message_sent_get_acl_handle(const uint8_t * event){ 6754 return little_endian_read_16(event, 3); 6755 } 6756 /** 6757 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_SENT 6758 * @param event packet 6759 * @return command 6760 * @note: btstack_type T 6761 */ 6762 static inline const char * hfp_subevent_at_message_sent_get_command(const uint8_t * event){ 6763 return (const char *) &event[5]; 6764 } 6765 6766 /** 6767 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 6768 * @param event packet 6769 * @return acl_handle 6770 * @note: btstack_type H 6771 */ 6772 static inline hci_con_handle_t hfp_subevent_at_message_received_get_acl_handle(const uint8_t * event){ 6773 return little_endian_read_16(event, 3); 6774 } 6775 /** 6776 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 6777 * @param event packet 6778 * @return command 6779 * @note: btstack_type T 6780 */ 6781 static inline const char * hfp_subevent_at_message_received_get_command(const uint8_t * event){ 6782 return (const char *) &event[5]; 6783 } 6784 6785 /** 6786 * @brief Get field acl_handle from event HFP_SUBEVENT_IN_BAND_RING_TONE 6787 * @param event packet 6788 * @return acl_handle 6789 * @note: btstack_type H 6790 */ 6791 static inline hci_con_handle_t hfp_subevent_in_band_ring_tone_get_acl_handle(const uint8_t * event){ 6792 return little_endian_read_16(event, 3); 6793 } 6794 /** 6795 * @brief Get field status from event HFP_SUBEVENT_IN_BAND_RING_TONE 6796 * @param event packet 6797 * @return status 6798 * @note: btstack_type 1 6799 */ 6800 static inline uint8_t hfp_subevent_in_band_ring_tone_get_status(const uint8_t * event){ 6801 return event[5]; 6802 } 6803 6804 /** 6805 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 6806 * @param event packet 6807 * @return acl_handle 6808 * @note: btstack_type H 6809 */ 6810 static inline hci_con_handle_t hfp_subevent_voice_recognition_activated_get_acl_handle(const uint8_t * event){ 6811 return little_endian_read_16(event, 3); 6812 } 6813 /** 6814 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 6815 * @param event packet 6816 * @return status 6817 * @note: btstack_type 1 6818 */ 6819 static inline uint8_t hfp_subevent_voice_recognition_activated_get_status(const uint8_t * event){ 6820 return event[5]; 6821 } 6822 /** 6823 * @brief Get field enhanced from event HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED 6824 * @param event packet 6825 * @return enhanced 6826 * @note: btstack_type 1 6827 */ 6828 static inline uint8_t hfp_subevent_voice_recognition_activated_get_enhanced(const uint8_t * event){ 6829 return event[6]; 6830 } 6831 6832 /** 6833 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 6834 * @param event packet 6835 * @return acl_handle 6836 * @note: btstack_type H 6837 */ 6838 static inline hci_con_handle_t hfp_subevent_voice_recognition_deactivated_get_acl_handle(const uint8_t * event){ 6839 return little_endian_read_16(event, 3); 6840 } 6841 /** 6842 * @brief Get field status from event HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED 6843 * @param event packet 6844 * @return status 6845 * @note: btstack_type 1 6846 */ 6847 static inline uint8_t hfp_subevent_voice_recognition_deactivated_get_status(const uint8_t * event){ 6848 return event[5]; 6849 } 6850 6851 /** 6852 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 6853 * @param event packet 6854 * @return acl_handle 6855 * @note: btstack_type H 6856 */ 6857 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_acl_handle(const uint8_t * event){ 6858 return little_endian_read_16(event, 3); 6859 } 6860 /** 6861 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_HF_READY_FOR_AUDIO 6862 * @param event packet 6863 * @return status 6864 * @note: btstack_type 1 6865 */ 6866 static inline uint8_t hfp_subevent_enhanced_voice_recognition_hf_ready_for_audio_get_status(const uint8_t * event){ 6867 return event[5]; 6868 } 6869 6870 /** 6871 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 6872 * @param event packet 6873 * @return acl_handle 6874 * @note: btstack_type H 6875 */ 6876 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_acl_handle(const uint8_t * event){ 6877 return little_endian_read_16(event, 3); 6878 } 6879 /** 6880 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_READY_TO_ACCEPT_AUDIO_INPUT 6881 * @param event packet 6882 * @return status 6883 * @note: btstack_type 1 6884 */ 6885 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_ready_to_accept_audio_input_get_status(const uint8_t * event){ 6886 return event[5]; 6887 } 6888 6889 /** 6890 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 6891 * @param event packet 6892 * @return acl_handle 6893 * @note: btstack_type H 6894 */ 6895 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_acl_handle(const uint8_t * event){ 6896 return little_endian_read_16(event, 3); 6897 } 6898 /** 6899 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_STARTING_SOUND 6900 * @param event packet 6901 * @return status 6902 * @note: btstack_type 1 6903 */ 6904 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_starting_sound_get_status(const uint8_t * event){ 6905 return event[5]; 6906 } 6907 6908 /** 6909 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 6910 * @param event packet 6911 * @return acl_handle 6912 * @note: btstack_type H 6913 */ 6914 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_acl_handle(const uint8_t * event){ 6915 return little_endian_read_16(event, 3); 6916 } 6917 /** 6918 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_IS_PROCESSING_AUDIO_INPUT 6919 * @param event packet 6920 * @return status 6921 * @note: btstack_type 1 6922 */ 6923 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_is_processing_audio_input_get_status(const uint8_t * event){ 6924 return event[5]; 6925 } 6926 6927 /** 6928 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 6929 * @param event packet 6930 * @return acl_handle 6931 * @note: btstack_type H 6932 */ 6933 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_acl_handle(const uint8_t * event){ 6934 return little_endian_read_16(event, 3); 6935 } 6936 /** 6937 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE_SENT 6938 * @param event packet 6939 * @return status 6940 * @note: btstack_type 1 6941 */ 6942 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_sent_get_status(const uint8_t * event){ 6943 return event[5]; 6944 } 6945 6946 /** 6947 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 6948 * @param event packet 6949 * @return acl_handle 6950 * @note: btstack_type H 6951 */ 6952 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_ag_message_get_acl_handle(const uint8_t * event){ 6953 return little_endian_read_16(event, 3); 6954 } 6955 /** 6956 * @brief Get field text_id from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 6957 * @param event packet 6958 * @return text_id 6959 * @note: btstack_type 2 6960 */ 6961 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_id(const uint8_t * event){ 6962 return little_endian_read_16(event, 5); 6963 } 6964 /** 6965 * @brief Get field text_type from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 6966 * @param event packet 6967 * @return text_type 6968 * @note: btstack_type 1 6969 */ 6970 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_type(const uint8_t * event){ 6971 return event[7]; 6972 } 6973 /** 6974 * @brief Get field text_operation from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 6975 * @param event packet 6976 * @return text_operation 6977 * @note: btstack_type 1 6978 */ 6979 static inline uint8_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_operation(const uint8_t * event){ 6980 return event[8]; 6981 } 6982 /** 6983 * @brief Get field text_length from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 6984 * @param event packet 6985 * @return text_length 6986 * @note: btstack_type L 6987 */ 6988 static inline uint16_t hfp_subevent_enhanced_voice_recognition_ag_message_get_text_length(const uint8_t * event){ 6989 return little_endian_read_16(event, 9); 6990 } 6991 /** 6992 * @brief Get field text from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_AG_MESSAGE 6993 * @param event packet 6994 * @return text 6995 * @note: btstack_type V 6996 */ 6997 static inline const uint8_t * hfp_subevent_enhanced_voice_recognition_ag_message_get_text(const uint8_t * event){ 6998 return &event[11]; 6999 } 7000 7001 /** 7002 * @brief Get field acl_handle from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7003 * @param event packet 7004 * @return acl_handle 7005 * @note: btstack_type H 7006 */ 7007 static inline hci_con_handle_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_acl_handle(const uint8_t * event){ 7008 return little_endian_read_16(event, 3); 7009 } 7010 /** 7011 * @brief Get field status from event HFP_SUBEVENT_ECHO_CANCELING_AND_NOISE_REDUCTION_DEACTIVATE 7012 * @param event packet 7013 * @return status 7014 * @note: btstack_type 1 7015 */ 7016 static inline uint8_t hfp_subevent_echo_canceling_and_noise_reduction_deactivate_get_status(const uint8_t * event){ 7017 return event[5]; 7018 } 7019 7020 /** 7021 * @brief Get field acl_handle from event HFP_SUBEVENT_HF_INDICATOR 7022 * @param event packet 7023 * @return acl_handle 7024 * @note: btstack_type H 7025 */ 7026 static inline hci_con_handle_t hfp_subevent_hf_indicator_get_acl_handle(const uint8_t * event){ 7027 return little_endian_read_16(event, 3); 7028 } 7029 /** 7030 * @brief Get field uuid from event HFP_SUBEVENT_HF_INDICATOR 7031 * @param event packet 7032 * @return uuid 7033 * @note: btstack_type 2 7034 */ 7035 static inline uint16_t hfp_subevent_hf_indicator_get_uuid(const uint8_t * event){ 7036 return little_endian_read_16(event, 5); 7037 } 7038 /** 7039 * @brief Get field value from event HFP_SUBEVENT_HF_INDICATOR 7040 * @param event packet 7041 * @return value 7042 * @note: btstack_type 1 7043 */ 7044 static inline uint8_t hfp_subevent_hf_indicator_get_value(const uint8_t * event){ 7045 return event[7]; 7046 } 7047 7048 /** 7049 * @brief Get field acl_handle from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7050 * @param event packet 7051 * @return acl_handle 7052 * @note: btstack_type H 7053 */ 7054 static inline hci_con_handle_t hfp_subevent_custom_at_command_get_acl_handle(const uint8_t * event){ 7055 return little_endian_read_16(event, 3); 7056 } 7057 /** 7058 * @brief Get field command_id from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7059 * @param event packet 7060 * @return command_id 7061 * @note: btstack_type 2 7062 */ 7063 static inline uint16_t hfp_subevent_custom_at_command_get_command_id(const uint8_t * event){ 7064 return little_endian_read_16(event, 5); 7065 } 7066 /** 7067 * @brief Get field command_string from event HFP_SUBEVENT_CUSTOM_AT_COMMAND 7068 * @param event packet 7069 * @return command_string 7070 * @note: btstack_type T 7071 */ 7072 static inline const char * hfp_subevent_custom_at_command_get_command_string(const uint8_t * event){ 7073 return (const char *) &event[7]; 7074 } 7075 7076 #ifdef ENABLE_BLE 7077 /** 7078 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 7079 * @param event packet 7080 * @return handle 7081 * @note: btstack_type H 7082 */ 7083 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 7084 return little_endian_read_16(event, 3); 7085 } 7086 #endif 7087 7088 #ifdef ENABLE_BLE 7089 /** 7090 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7091 * @param event packet 7092 * @return handle 7093 * @note: btstack_type H 7094 */ 7095 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 7096 return little_endian_read_16(event, 3); 7097 } 7098 /** 7099 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7100 * @param event packet 7101 * @return attribute_id 7102 * @note: btstack_type 2 7103 */ 7104 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 7105 return little_endian_read_16(event, 5); 7106 } 7107 /** 7108 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 7109 * @param event packet 7110 * @return text 7111 * @note: btstack_type T 7112 */ 7113 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 7114 return (const char *) &event[7]; 7115 } 7116 #endif 7117 7118 #ifdef ENABLE_BLE 7119 /** 7120 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 7121 * @param event packet 7122 * @return handle 7123 * @note: btstack_type H 7124 */ 7125 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 7126 return little_endian_read_16(event, 3); 7127 } 7128 #endif 7129 7130 /** 7131 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7132 * @param event packet 7133 * @return avdtp_cid 7134 * @note: btstack_type 2 7135 */ 7136 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 7137 return little_endian_read_16(event, 3); 7138 } 7139 /** 7140 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7141 * @param event packet 7142 * @return local_seid 7143 * @note: btstack_type 1 7144 */ 7145 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 7146 return event[5]; 7147 } 7148 /** 7149 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7150 * @param event packet 7151 * @return is_initiator 7152 * @note: btstack_type 1 7153 */ 7154 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 7155 return event[6]; 7156 } 7157 /** 7158 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 7159 * @param event packet 7160 * @return signal_identifier 7161 * @note: btstack_type 1 7162 */ 7163 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 7164 return event[7]; 7165 } 7166 7167 /** 7168 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7169 * @param event packet 7170 * @return avdtp_cid 7171 * @note: btstack_type 2 7172 */ 7173 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 7174 return little_endian_read_16(event, 3); 7175 } 7176 /** 7177 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 7178 * @param event packet 7179 * @return local_seid 7180 * @note: btstack_type 1 7181 */ 7182 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 7183 return event[5]; 7184 } 7185 /** 7186 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 7187 * @param event packet 7188 * @return is_initiator 7189 * @note: btstack_type 1 7190 */ 7191 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 7192 return event[6]; 7193 } 7194 /** 7195 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 7196 * @param event packet 7197 * @return signal_identifier 7198 * @note: btstack_type 1 7199 */ 7200 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 7201 return event[7]; 7202 } 7203 7204 /** 7205 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7206 * @param event packet 7207 * @return avdtp_cid 7208 * @note: btstack_type 2 7209 */ 7210 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 7211 return little_endian_read_16(event, 3); 7212 } 7213 /** 7214 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7215 * @param event packet 7216 * @return local_seid 7217 * @note: btstack_type 1 7218 */ 7219 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 7220 return event[5]; 7221 } 7222 /** 7223 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7224 * @param event packet 7225 * @return is_initiator 7226 * @note: btstack_type 1 7227 */ 7228 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 7229 return event[6]; 7230 } 7231 /** 7232 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 7233 * @param event packet 7234 * @return signal_identifier 7235 * @note: btstack_type 1 7236 */ 7237 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 7238 return event[7]; 7239 } 7240 7241 /** 7242 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7243 * @param event packet 7244 * @return avdtp_cid 7245 * @note: btstack_type 2 7246 */ 7247 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 7248 return little_endian_read_16(event, 3); 7249 } 7250 /** 7251 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7252 * @param event packet 7253 * @param Pointer to storage for bd_addr 7254 * @note: btstack_type B 7255 */ 7256 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7257 reverse_bytes(&event[5], bd_addr, 6); 7258 } 7259 /** 7260 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7261 * @param event packet 7262 * @return con_handle 7263 * @note: btstack_type 2 7264 */ 7265 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 7266 return little_endian_read_16(event, 11); 7267 } 7268 /** 7269 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7270 * @param event packet 7271 * @return status 7272 * @note: btstack_type 1 7273 */ 7274 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 7275 return event[13]; 7276 } 7277 7278 /** 7279 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 7280 * @param event packet 7281 * @return avdtp_cid 7282 * @note: btstack_type 2 7283 */ 7284 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 7285 return little_endian_read_16(event, 3); 7286 } 7287 7288 /** 7289 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7290 * @param event packet 7291 * @return avdtp_cid 7292 * @note: btstack_type 2 7293 */ 7294 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 7295 return little_endian_read_16(event, 3); 7296 } 7297 /** 7298 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7299 * @param event packet 7300 * @return remote_seid 7301 * @note: btstack_type 1 7302 */ 7303 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 7304 return event[5]; 7305 } 7306 /** 7307 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7308 * @param event packet 7309 * @return in_use 7310 * @note: btstack_type 1 7311 */ 7312 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 7313 return event[6]; 7314 } 7315 /** 7316 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7317 * @param event packet 7318 * @return media_type 7319 * @note: btstack_type 1 7320 */ 7321 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 7322 return event[7]; 7323 } 7324 /** 7325 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 7326 * @param event packet 7327 * @return sep_type 7328 * @note: btstack_type 1 7329 */ 7330 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 7331 return event[8]; 7332 } 7333 7334 /** 7335 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7336 * @param event packet 7337 * @return avdtp_cid 7338 * @note: btstack_type 2 7339 */ 7340 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 7341 return little_endian_read_16(event, 3); 7342 } 7343 /** 7344 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7345 * @param event packet 7346 * @return remote_seid 7347 * @note: btstack_type 1 7348 */ 7349 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 7350 return event[5]; 7351 } 7352 /** 7353 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7354 * @param event packet 7355 * @return media_type 7356 * @note: btstack_type 1 7357 */ 7358 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 7359 return event[6]; 7360 } 7361 /** 7362 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7363 * @param event packet 7364 * @return sampling_frequency_bitmap 7365 * @note: btstack_type 1 7366 */ 7367 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7368 return event[7]; 7369 } 7370 /** 7371 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7372 * @param event packet 7373 * @return channel_mode_bitmap 7374 * @note: btstack_type 1 7375 */ 7376 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 7377 return event[8]; 7378 } 7379 /** 7380 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7381 * @param event packet 7382 * @return block_length_bitmap 7383 * @note: btstack_type 1 7384 */ 7385 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 7386 return event[9]; 7387 } 7388 /** 7389 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7390 * @param event packet 7391 * @return subbands_bitmap 7392 * @note: btstack_type 1 7393 */ 7394 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 7395 return event[10]; 7396 } 7397 /** 7398 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7399 * @param event packet 7400 * @return allocation_method_bitmap 7401 * @note: btstack_type 1 7402 */ 7403 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 7404 return event[11]; 7405 } 7406 /** 7407 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7408 * @param event packet 7409 * @return min_bitpool_value 7410 * @note: btstack_type 1 7411 */ 7412 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 7413 return event[12]; 7414 } 7415 /** 7416 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7417 * @param event packet 7418 * @return max_bitpool_value 7419 * @note: btstack_type 1 7420 */ 7421 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 7422 return event[13]; 7423 } 7424 7425 /** 7426 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7427 * @param event packet 7428 * @return avdtp_cid 7429 * @note: btstack_type 2 7430 */ 7431 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ 7432 return little_endian_read_16(event, 3); 7433 } 7434 /** 7435 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7436 * @param event packet 7437 * @return remote_seid 7438 * @note: btstack_type 1 7439 */ 7440 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 7441 return event[5]; 7442 } 7443 /** 7444 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7445 * @param event packet 7446 * @return media_type 7447 * @note: btstack_type 1 7448 */ 7449 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 7450 return event[6]; 7451 } 7452 /** 7453 * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7454 * @param event packet 7455 * @return layer_bitmap 7456 * @note: btstack_type 1 7457 */ 7458 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 7459 return event[7]; 7460 } 7461 /** 7462 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7463 * @param event packet 7464 * @return crc 7465 * @note: btstack_type 1 7466 */ 7467 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 7468 return event[8]; 7469 } 7470 /** 7471 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7472 * @param event packet 7473 * @return channel_mode_bitmap 7474 * @note: btstack_type 1 7475 */ 7476 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 7477 return event[9]; 7478 } 7479 /** 7480 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7481 * @param event packet 7482 * @return media_payload_format 7483 * @note: btstack_type 1 7484 */ 7485 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 7486 return event[10]; 7487 } 7488 /** 7489 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7490 * @param event packet 7491 * @return sampling_frequency_bitmap 7492 * @note: btstack_type 1 7493 */ 7494 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7495 return event[11]; 7496 } 7497 /** 7498 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7499 * @param event packet 7500 * @return vbr 7501 * @note: btstack_type 1 7502 */ 7503 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 7504 return event[12]; 7505 } 7506 /** 7507 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7508 * @param event packet 7509 * @return bit_rate_index_bitmap 7510 * @note: btstack_type 2 7511 */ 7512 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 7513 return little_endian_read_16(event, 13); 7514 } 7515 7516 /** 7517 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7518 * @param event packet 7519 * @return avdtp_cid 7520 * @note: btstack_type 2 7521 */ 7522 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ 7523 return little_endian_read_16(event, 3); 7524 } 7525 /** 7526 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7527 * @param event packet 7528 * @return remote_seid 7529 * @note: btstack_type 1 7530 */ 7531 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 7532 return event[5]; 7533 } 7534 /** 7535 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7536 * @param event packet 7537 * @return media_type 7538 * @note: btstack_type 1 7539 */ 7540 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 7541 return event[6]; 7542 } 7543 /** 7544 * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7545 * @param event packet 7546 * @return object_type_bitmap 7547 * @note: btstack_type 1 7548 */ 7549 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 7550 return event[7]; 7551 } 7552 /** 7553 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7554 * @param event packet 7555 * @return sampling_frequency_bitmap 7556 * @note: btstack_type 2 7557 */ 7558 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7559 return little_endian_read_16(event, 8); 7560 } 7561 /** 7562 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7563 * @param event packet 7564 * @return channels_bitmap 7565 * @note: btstack_type 1 7566 */ 7567 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 7568 return event[10]; 7569 } 7570 /** 7571 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7572 * @param event packet 7573 * @return bit_rate 7574 * @note: btstack_type 3 7575 */ 7576 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 7577 return little_endian_read_24(event, 11); 7578 } 7579 /** 7580 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7581 * @param event packet 7582 * @return vbr 7583 * @note: btstack_type 1 7584 */ 7585 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 7586 return event[14]; 7587 } 7588 7589 /** 7590 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7591 * @param event packet 7592 * @return avdtp_cid 7593 * @note: btstack_type 2 7594 */ 7595 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ 7596 return little_endian_read_16(event, 3); 7597 } 7598 /** 7599 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7600 * @param event packet 7601 * @return remote_seid 7602 * @note: btstack_type 1 7603 */ 7604 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 7605 return event[5]; 7606 } 7607 /** 7608 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7609 * @param event packet 7610 * @return media_type 7611 * @note: btstack_type 1 7612 */ 7613 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 7614 return event[6]; 7615 } 7616 /** 7617 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7618 * @param event packet 7619 * @return version 7620 * @note: btstack_type 1 7621 */ 7622 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 7623 return event[7]; 7624 } 7625 /** 7626 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7627 * @param event packet 7628 * @return channel_mode_bitmap 7629 * @note: btstack_type 1 7630 */ 7631 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 7632 return event[8]; 7633 } 7634 /** 7635 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7636 * @param event packet 7637 * @return sampling_frequency_bitmap 7638 * @note: btstack_type 1 7639 */ 7640 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7641 return event[9]; 7642 } 7643 /** 7644 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7645 * @param event packet 7646 * @return vbr 7647 * @note: btstack_type 1 7648 */ 7649 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 7650 return event[10]; 7651 } 7652 /** 7653 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7654 * @param event packet 7655 * @return bit_rate_index_bitmap 7656 * @note: btstack_type 3 7657 */ 7658 static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 7659 return little_endian_read_24(event, 11); 7660 } 7661 /** 7662 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7663 * @param event packet 7664 * @return maximum_sul 7665 * @note: btstack_type 2 7666 */ 7667 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 7668 return little_endian_read_16(event, 14); 7669 } 7670 7671 /** 7672 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7673 * @param event packet 7674 * @return avdtp_cid 7675 * @note: btstack_type 2 7676 */ 7677 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 7678 return little_endian_read_16(event, 3); 7679 } 7680 /** 7681 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7682 * @param event packet 7683 * @return remote_seid 7684 * @note: btstack_type 1 7685 */ 7686 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 7687 return event[5]; 7688 } 7689 /** 7690 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7691 * @param event packet 7692 * @return media_type 7693 * @note: btstack_type 1 7694 */ 7695 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 7696 return event[6]; 7697 } 7698 /** 7699 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7700 * @param event packet 7701 * @return media_codec_type 7702 * @note: btstack_type 2 7703 */ 7704 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 7705 return little_endian_read_16(event, 7); 7706 } 7707 /** 7708 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7709 * @param event packet 7710 * @return media_codec_information_len 7711 * @note: btstack_type L 7712 */ 7713 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 7714 return little_endian_read_16(event, 9); 7715 } 7716 /** 7717 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7718 * @param event packet 7719 * @return media_codec_information 7720 * @note: btstack_type V 7721 */ 7722 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 7723 return &event[11]; 7724 } 7725 7726 /** 7727 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 7728 * @param event packet 7729 * @return avdtp_cid 7730 * @note: btstack_type 2 7731 */ 7732 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 7733 return little_endian_read_16(event, 3); 7734 } 7735 /** 7736 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 7737 * @param event packet 7738 * @return remote_seid 7739 * @note: btstack_type 1 7740 */ 7741 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 7742 return event[5]; 7743 } 7744 7745 /** 7746 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 7747 * @param event packet 7748 * @return avdtp_cid 7749 * @note: btstack_type 2 7750 */ 7751 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 7752 return little_endian_read_16(event, 3); 7753 } 7754 /** 7755 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 7756 * @param event packet 7757 * @return remote_seid 7758 * @note: btstack_type 1 7759 */ 7760 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 7761 return event[5]; 7762 } 7763 7764 /** 7765 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 7766 * @param event packet 7767 * @return avdtp_cid 7768 * @note: btstack_type 2 7769 */ 7770 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 7771 return little_endian_read_16(event, 3); 7772 } 7773 /** 7774 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 7775 * @param event packet 7776 * @return remote_seid 7777 * @note: btstack_type 1 7778 */ 7779 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 7780 return event[5]; 7781 } 7782 /** 7783 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 7784 * @param event packet 7785 * @return recovery_type 7786 * @note: btstack_type 1 7787 */ 7788 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 7789 return event[6]; 7790 } 7791 /** 7792 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 7793 * @param event packet 7794 * @return maximum_recovery_window_size 7795 * @note: btstack_type 1 7796 */ 7797 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 7798 return event[7]; 7799 } 7800 /** 7801 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 7802 * @param event packet 7803 * @return maximum_number_media_packets 7804 * @note: btstack_type 1 7805 */ 7806 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 7807 return event[8]; 7808 } 7809 7810 /** 7811 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 7812 * @param event packet 7813 * @return avdtp_cid 7814 * @note: btstack_type 2 7815 */ 7816 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 7817 return little_endian_read_16(event, 3); 7818 } 7819 /** 7820 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 7821 * @param event packet 7822 * @return remote_seid 7823 * @note: btstack_type 1 7824 */ 7825 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 7826 return event[5]; 7827 } 7828 /** 7829 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 7830 * @param event packet 7831 * @return cp_type 7832 * @note: btstack_type 2 7833 */ 7834 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 7835 return little_endian_read_16(event, 6); 7836 } 7837 /** 7838 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 7839 * @param event packet 7840 * @return cp_type_value_len 7841 * @note: btstack_type L 7842 */ 7843 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 7844 return little_endian_read_16(event, 8); 7845 } 7846 /** 7847 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 7848 * @param event packet 7849 * @return cp_type_value 7850 * @note: btstack_type V 7851 */ 7852 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 7853 return &event[10]; 7854 } 7855 7856 /** 7857 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7858 * @param event packet 7859 * @return avdtp_cid 7860 * @note: btstack_type 2 7861 */ 7862 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 7863 return little_endian_read_16(event, 3); 7864 } 7865 /** 7866 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7867 * @param event packet 7868 * @return remote_seid 7869 * @note: btstack_type 1 7870 */ 7871 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 7872 return event[5]; 7873 } 7874 /** 7875 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7876 * @param event packet 7877 * @return fragmentation 7878 * @note: btstack_type 1 7879 */ 7880 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 7881 return event[6]; 7882 } 7883 /** 7884 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7885 * @param event packet 7886 * @return transport_identifiers_num 7887 * @note: btstack_type 1 7888 */ 7889 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 7890 return event[7]; 7891 } 7892 /** 7893 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7894 * @param event packet 7895 * @return transport_session_identifier_1 7896 * @note: btstack_type 1 7897 */ 7898 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 7899 return event[8]; 7900 } 7901 /** 7902 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7903 * @param event packet 7904 * @return transport_session_identifier_2 7905 * @note: btstack_type 1 7906 */ 7907 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 7908 return event[9]; 7909 } 7910 /** 7911 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7912 * @param event packet 7913 * @return transport_session_identifier_3 7914 * @note: btstack_type 1 7915 */ 7916 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 7917 return event[10]; 7918 } 7919 /** 7920 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7921 * @param event packet 7922 * @return tcid_1 7923 * @note: btstack_type 1 7924 */ 7925 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 7926 return event[11]; 7927 } 7928 /** 7929 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7930 * @param event packet 7931 * @return tcid_2 7932 * @note: btstack_type 1 7933 */ 7934 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 7935 return event[12]; 7936 } 7937 /** 7938 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 7939 * @param event packet 7940 * @return tcid_3 7941 * @note: btstack_type 1 7942 */ 7943 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 7944 return event[13]; 7945 } 7946 7947 /** 7948 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 7949 * @param event packet 7950 * @return avdtp_cid 7951 * @note: btstack_type 2 7952 */ 7953 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 7954 return little_endian_read_16(event, 3); 7955 } 7956 /** 7957 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 7958 * @param event packet 7959 * @return remote_seid 7960 * @note: btstack_type 1 7961 */ 7962 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 7963 return event[5]; 7964 } 7965 7966 /** 7967 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 7968 * @param event packet 7969 * @return avdtp_cid 7970 * @note: btstack_type 2 7971 */ 7972 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 7973 return little_endian_read_16(event, 3); 7974 } 7975 /** 7976 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 7977 * @param event packet 7978 * @return remote_seid 7979 * @note: btstack_type 1 7980 */ 7981 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 7982 return event[5]; 7983 } 7984 /** 7985 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 7986 * @param event packet 7987 * @return back_ch 7988 * @note: btstack_type 1 7989 */ 7990 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 7991 return event[6]; 7992 } 7993 /** 7994 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 7995 * @param event packet 7996 * @return media 7997 * @note: btstack_type 1 7998 */ 7999 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 8000 return event[7]; 8001 } 8002 /** 8003 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 8004 * @param event packet 8005 * @return recovery 8006 * @note: btstack_type 1 8007 */ 8008 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 8009 return event[8]; 8010 } 8011 8012 /** 8013 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8014 * @param event packet 8015 * @return avdtp_cid 8016 * @note: btstack_type 2 8017 */ 8018 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 8019 return little_endian_read_16(event, 3); 8020 } 8021 /** 8022 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 8023 * @param event packet 8024 * @return remote_seid 8025 * @note: btstack_type 1 8026 */ 8027 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 8028 return event[5]; 8029 } 8030 8031 /** 8032 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8033 * @param event packet 8034 * @return avdtp_cid 8035 * @note: btstack_type 2 8036 */ 8037 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 8038 return little_endian_read_16(event, 3); 8039 } 8040 /** 8041 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8042 * @param event packet 8043 * @return local_seid 8044 * @note: btstack_type 1 8045 */ 8046 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 8047 return event[5]; 8048 } 8049 /** 8050 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8051 * @param event packet 8052 * @return remote_seid 8053 * @note: btstack_type 1 8054 */ 8055 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 8056 return event[6]; 8057 } 8058 /** 8059 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8060 * @param event packet 8061 * @return reconfigure 8062 * @note: btstack_type 1 8063 */ 8064 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 8065 return event[7]; 8066 } 8067 /** 8068 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8069 * @param event packet 8070 * @return media_type 8071 * @note: btstack_type 1 8072 */ 8073 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 8074 return event[8]; 8075 } 8076 /** 8077 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8078 * @param event packet 8079 * @return sampling_frequency 8080 * @note: btstack_type 2 8081 */ 8082 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 8083 return little_endian_read_16(event, 9); 8084 } 8085 /** 8086 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8087 * @param event packet 8088 * @return channel_mode 8089 * @note: btstack_type 1 8090 */ 8091 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 8092 return event[11]; 8093 } 8094 /** 8095 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8096 * @param event packet 8097 * @return num_channels 8098 * @note: btstack_type 1 8099 */ 8100 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 8101 return event[12]; 8102 } 8103 /** 8104 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8105 * @param event packet 8106 * @return block_length 8107 * @note: btstack_type 1 8108 */ 8109 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 8110 return event[13]; 8111 } 8112 /** 8113 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8114 * @param event packet 8115 * @return subbands 8116 * @note: btstack_type 1 8117 */ 8118 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 8119 return event[14]; 8120 } 8121 /** 8122 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8123 * @param event packet 8124 * @return allocation_method 8125 * @note: btstack_type 1 8126 */ 8127 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 8128 return event[15]; 8129 } 8130 /** 8131 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8132 * @param event packet 8133 * @return min_bitpool_value 8134 * @note: btstack_type 1 8135 */ 8136 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 8137 return event[16]; 8138 } 8139 /** 8140 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8141 * @param event packet 8142 * @return max_bitpool_value 8143 * @note: btstack_type 1 8144 */ 8145 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 8146 return event[17]; 8147 } 8148 8149 /** 8150 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8151 * @param event packet 8152 * @return avdtp_cid 8153 * @note: btstack_type 2 8154 */ 8155 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ 8156 return little_endian_read_16(event, 3); 8157 } 8158 /** 8159 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8160 * @param event packet 8161 * @return local_seid 8162 * @note: btstack_type 1 8163 */ 8164 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 8165 return event[5]; 8166 } 8167 /** 8168 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8169 * @param event packet 8170 * @return remote_seid 8171 * @note: btstack_type 1 8172 */ 8173 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 8174 return event[6]; 8175 } 8176 /** 8177 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8178 * @param event packet 8179 * @return reconfigure 8180 * @note: btstack_type 1 8181 */ 8182 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 8183 return event[7]; 8184 } 8185 /** 8186 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8187 * @param event packet 8188 * @return media_type 8189 * @note: btstack_type 1 8190 */ 8191 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 8192 return event[8]; 8193 } 8194 /** 8195 * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8196 * @param event packet 8197 * @return layer 8198 * @note: btstack_type 1 8199 */ 8200 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 8201 return event[9]; 8202 } 8203 /** 8204 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8205 * @param event packet 8206 * @return crc 8207 * @note: btstack_type 1 8208 */ 8209 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 8210 return event[10]; 8211 } 8212 /** 8213 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8214 * @param event packet 8215 * @return channel_mode 8216 * @note: btstack_type 1 8217 */ 8218 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 8219 return event[11]; 8220 } 8221 /** 8222 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8223 * @param event packet 8224 * @return num_channels 8225 * @note: btstack_type 1 8226 */ 8227 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 8228 return event[12]; 8229 } 8230 /** 8231 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8232 * @param event packet 8233 * @return media_payload_format 8234 * @note: btstack_type 1 8235 */ 8236 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 8237 return event[13]; 8238 } 8239 /** 8240 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8241 * @param event packet 8242 * @return sampling_frequency 8243 * @note: btstack_type 2 8244 */ 8245 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 8246 return little_endian_read_16(event, 14); 8247 } 8248 /** 8249 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8250 * @param event packet 8251 * @return vbr 8252 * @note: btstack_type 1 8253 */ 8254 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 8255 return event[16]; 8256 } 8257 /** 8258 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8259 * @param event packet 8260 * @return bit_rate_index 8261 * @note: btstack_type 1 8262 */ 8263 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 8264 return event[17]; 8265 } 8266 8267 /** 8268 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8269 * @param event packet 8270 * @return avdtp_cid 8271 * @note: btstack_type 2 8272 */ 8273 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ 8274 return little_endian_read_16(event, 3); 8275 } 8276 /** 8277 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8278 * @param event packet 8279 * @return local_seid 8280 * @note: btstack_type 1 8281 */ 8282 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 8283 return event[5]; 8284 } 8285 /** 8286 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8287 * @param event packet 8288 * @return remote_seid 8289 * @note: btstack_type 1 8290 */ 8291 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 8292 return event[6]; 8293 } 8294 /** 8295 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8296 * @param event packet 8297 * @return reconfigure 8298 * @note: btstack_type 1 8299 */ 8300 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 8301 return event[7]; 8302 } 8303 /** 8304 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8305 * @param event packet 8306 * @return media_type 8307 * @note: btstack_type 1 8308 */ 8309 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 8310 return event[8]; 8311 } 8312 /** 8313 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8314 * @param event packet 8315 * @return object_type 8316 * @note: btstack_type 1 8317 */ 8318 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 8319 return event[9]; 8320 } 8321 /** 8322 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8323 * @param event packet 8324 * @return sampling_frequency 8325 * @note: btstack_type 3 8326 */ 8327 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 8328 return little_endian_read_24(event, 10); 8329 } 8330 /** 8331 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8332 * @param event packet 8333 * @return num_channels 8334 * @note: btstack_type 1 8335 */ 8336 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 8337 return event[13]; 8338 } 8339 /** 8340 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8341 * @param event packet 8342 * @return bit_rate 8343 * @note: btstack_type 3 8344 */ 8345 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 8346 return little_endian_read_24(event, 14); 8347 } 8348 /** 8349 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8350 * @param event packet 8351 * @return vbr 8352 * @note: btstack_type 1 8353 */ 8354 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 8355 return event[17]; 8356 } 8357 8358 /** 8359 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8360 * @param event packet 8361 * @return avdtp_cid 8362 * @note: btstack_type 2 8363 */ 8364 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ 8365 return little_endian_read_16(event, 3); 8366 } 8367 /** 8368 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8369 * @param event packet 8370 * @return local_seid 8371 * @note: btstack_type 1 8372 */ 8373 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 8374 return event[5]; 8375 } 8376 /** 8377 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8378 * @param event packet 8379 * @return remote_seid 8380 * @note: btstack_type 1 8381 */ 8382 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 8383 return event[6]; 8384 } 8385 /** 8386 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8387 * @param event packet 8388 * @return reconfigure 8389 * @note: btstack_type 1 8390 */ 8391 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 8392 return event[7]; 8393 } 8394 /** 8395 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8396 * @param event packet 8397 * @return media_type 8398 * @note: btstack_type 1 8399 */ 8400 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 8401 return event[8]; 8402 } 8403 /** 8404 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8405 * @param event packet 8406 * @return version 8407 * @note: btstack_type 1 8408 */ 8409 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 8410 return event[9]; 8411 } 8412 /** 8413 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8414 * @param event packet 8415 * @return channel_mode 8416 * @note: btstack_type 1 8417 */ 8418 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 8419 return event[10]; 8420 } 8421 /** 8422 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8423 * @param event packet 8424 * @return num_channels 8425 * @note: btstack_type 1 8426 */ 8427 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 8428 return event[11]; 8429 } 8430 /** 8431 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8432 * @param event packet 8433 * @return sampling_frequency 8434 * @note: btstack_type 2 8435 */ 8436 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 8437 return little_endian_read_16(event, 12); 8438 } 8439 /** 8440 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8441 * @param event packet 8442 * @return vbr 8443 * @note: btstack_type 1 8444 */ 8445 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 8446 return event[14]; 8447 } 8448 /** 8449 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8450 * @param event packet 8451 * @return bit_rate_index 8452 * @note: btstack_type 1 8453 */ 8454 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 8455 return event[15]; 8456 } 8457 /** 8458 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 8459 * @param event packet 8460 * @return maximum_sul 8461 * @note: btstack_type 2 8462 */ 8463 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 8464 return little_endian_read_16(event, 16); 8465 } 8466 8467 /** 8468 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8469 * @param event packet 8470 * @return avdtp_cid 8471 * @note: btstack_type 2 8472 */ 8473 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 8474 return little_endian_read_16(event, 3); 8475 } 8476 /** 8477 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8478 * @param event packet 8479 * @return local_seid 8480 * @note: btstack_type 1 8481 */ 8482 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 8483 return event[5]; 8484 } 8485 /** 8486 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8487 * @param event packet 8488 * @return remote_seid 8489 * @note: btstack_type 1 8490 */ 8491 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 8492 return event[6]; 8493 } 8494 /** 8495 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8496 * @param event packet 8497 * @return reconfigure 8498 * @note: btstack_type 1 8499 */ 8500 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 8501 return event[7]; 8502 } 8503 /** 8504 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8505 * @param event packet 8506 * @return media_type 8507 * @note: btstack_type 1 8508 */ 8509 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 8510 return event[8]; 8511 } 8512 /** 8513 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8514 * @param event packet 8515 * @return media_codec_type 8516 * @note: btstack_type 2 8517 */ 8518 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 8519 return little_endian_read_16(event, 9); 8520 } 8521 /** 8522 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8523 * @param event packet 8524 * @return media_codec_information_len 8525 * @note: btstack_type L 8526 */ 8527 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 8528 return little_endian_read_16(event, 11); 8529 } 8530 /** 8531 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 8532 * @param event packet 8533 * @return media_codec_information 8534 * @note: btstack_type V 8535 */ 8536 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 8537 return &event[13]; 8538 } 8539 8540 /** 8541 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8542 * @param event packet 8543 * @return avdtp_cid 8544 * @note: btstack_type 2 8545 */ 8546 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 8547 return little_endian_read_16(event, 3); 8548 } 8549 /** 8550 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8551 * @param event packet 8552 * @param Pointer to storage for bd_addr 8553 * @note: btstack_type B 8554 */ 8555 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8556 reverse_bytes(&event[5], bd_addr, 6); 8557 } 8558 /** 8559 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8560 * @param event packet 8561 * @return local_seid 8562 * @note: btstack_type 1 8563 */ 8564 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 8565 return event[11]; 8566 } 8567 /** 8568 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8569 * @param event packet 8570 * @return remote_seid 8571 * @note: btstack_type 1 8572 */ 8573 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 8574 return event[12]; 8575 } 8576 /** 8577 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 8578 * @param event packet 8579 * @return status 8580 * @note: btstack_type 1 8581 */ 8582 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 8583 return event[13]; 8584 } 8585 8586 /** 8587 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 8588 * @param event packet 8589 * @return avdtp_cid 8590 * @note: btstack_type 2 8591 */ 8592 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 8593 return little_endian_read_16(event, 3); 8594 } 8595 /** 8596 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 8597 * @param event packet 8598 * @return local_seid 8599 * @note: btstack_type 1 8600 */ 8601 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 8602 return event[5]; 8603 } 8604 8605 /** 8606 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8607 * @param event packet 8608 * @return avdtp_cid 8609 * @note: btstack_type 2 8610 */ 8611 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 8612 return little_endian_read_16(event, 3); 8613 } 8614 /** 8615 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8616 * @param event packet 8617 * @return local_seid 8618 * @note: btstack_type 1 8619 */ 8620 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 8621 return event[5]; 8622 } 8623 /** 8624 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8625 * @param event packet 8626 * @return sequence_number 8627 * @note: btstack_type 2 8628 */ 8629 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 8630 return little_endian_read_16(event, 6); 8631 } 8632 8633 /** 8634 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 8635 * @param event packet 8636 * @return avdtp_cid 8637 * @note: btstack_type 2 8638 */ 8639 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 8640 return little_endian_read_16(event, 3); 8641 } 8642 8643 /** 8644 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 8645 * @param event packet 8646 * @return avdtp_cid 8647 * @note: btstack_type 2 8648 */ 8649 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 8650 return little_endian_read_16(event, 3); 8651 } 8652 /** 8653 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 8654 * @param event packet 8655 * @return local_seid 8656 * @note: btstack_type 1 8657 */ 8658 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 8659 return event[5]; 8660 } 8661 /** 8662 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 8663 * @param event packet 8664 * @return delay_100us 8665 * @note: btstack_type 2 8666 */ 8667 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 8668 return little_endian_read_16(event, 6); 8669 } 8670 8671 /** 8672 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8673 * @param event packet 8674 * @return a2dp_cid 8675 * @note: btstack_type 2 8676 */ 8677 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 8678 return little_endian_read_16(event, 3); 8679 } 8680 /** 8681 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 8682 * @param event packet 8683 * @return local_seid 8684 * @note: btstack_type 1 8685 */ 8686 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 8687 return event[5]; 8688 } 8689 8690 /** 8691 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8692 * @param event packet 8693 * @return a2dp_cid 8694 * @note: btstack_type 2 8695 */ 8696 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 8697 return little_endian_read_16(event, 3); 8698 } 8699 /** 8700 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8701 * @param event packet 8702 * @return local_seid 8703 * @note: btstack_type 1 8704 */ 8705 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 8706 return event[5]; 8707 } 8708 /** 8709 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8710 * @param event packet 8711 * @return remote_seid 8712 * @note: btstack_type 1 8713 */ 8714 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 8715 return event[6]; 8716 } 8717 /** 8718 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8719 * @param event packet 8720 * @return reconfigure 8721 * @note: btstack_type 1 8722 */ 8723 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 8724 return event[7]; 8725 } 8726 /** 8727 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8728 * @param event packet 8729 * @return media_type 8730 * @note: btstack_type 1 8731 */ 8732 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 8733 return event[8]; 8734 } 8735 /** 8736 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8737 * @param event packet 8738 * @return sampling_frequency 8739 * @note: btstack_type 2 8740 */ 8741 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 8742 return little_endian_read_16(event, 9); 8743 } 8744 /** 8745 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8746 * @param event packet 8747 * @return channel_mode 8748 * @note: btstack_type 1 8749 */ 8750 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 8751 return event[11]; 8752 } 8753 /** 8754 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8755 * @param event packet 8756 * @return num_channels 8757 * @note: btstack_type 1 8758 */ 8759 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 8760 return event[12]; 8761 } 8762 /** 8763 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8764 * @param event packet 8765 * @return block_length 8766 * @note: btstack_type 1 8767 */ 8768 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 8769 return event[13]; 8770 } 8771 /** 8772 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8773 * @param event packet 8774 * @return subbands 8775 * @note: btstack_type 1 8776 */ 8777 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 8778 return event[14]; 8779 } 8780 /** 8781 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8782 * @param event packet 8783 * @return allocation_method 8784 * @note: btstack_type 1 8785 */ 8786 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 8787 return event[15]; 8788 } 8789 /** 8790 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8791 * @param event packet 8792 * @return min_bitpool_value 8793 * @note: btstack_type 1 8794 */ 8795 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 8796 return event[16]; 8797 } 8798 /** 8799 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 8800 * @param event packet 8801 * @return max_bitpool_value 8802 * @note: btstack_type 1 8803 */ 8804 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 8805 return event[17]; 8806 } 8807 8808 /** 8809 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8810 * @param event packet 8811 * @return a2dp_cid 8812 * @note: btstack_type 2 8813 */ 8814 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_a2dp_cid(const uint8_t * event){ 8815 return little_endian_read_16(event, 3); 8816 } 8817 /** 8818 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8819 * @param event packet 8820 * @return local_seid 8821 * @note: btstack_type 1 8822 */ 8823 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 8824 return event[5]; 8825 } 8826 /** 8827 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8828 * @param event packet 8829 * @return remote_seid 8830 * @note: btstack_type 1 8831 */ 8832 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 8833 return event[6]; 8834 } 8835 /** 8836 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8837 * @param event packet 8838 * @return reconfigure 8839 * @note: btstack_type 1 8840 */ 8841 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 8842 return event[7]; 8843 } 8844 /** 8845 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8846 * @param event packet 8847 * @return media_type 8848 * @note: btstack_type 1 8849 */ 8850 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 8851 return event[8]; 8852 } 8853 /** 8854 * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8855 * @param event packet 8856 * @return layer 8857 * @note: btstack_type 1 8858 */ 8859 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 8860 return event[9]; 8861 } 8862 /** 8863 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8864 * @param event packet 8865 * @return crc 8866 * @note: btstack_type 1 8867 */ 8868 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 8869 return event[10]; 8870 } 8871 /** 8872 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8873 * @param event packet 8874 * @return channel_mode 8875 * @note: btstack_type 1 8876 */ 8877 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 8878 return event[11]; 8879 } 8880 /** 8881 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8882 * @param event packet 8883 * @return num_channels 8884 * @note: btstack_type 1 8885 */ 8886 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 8887 return event[12]; 8888 } 8889 /** 8890 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8891 * @param event packet 8892 * @return media_payload_format 8893 * @note: btstack_type 1 8894 */ 8895 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 8896 return event[13]; 8897 } 8898 /** 8899 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8900 * @param event packet 8901 * @return sampling_frequency 8902 * @note: btstack_type 2 8903 */ 8904 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 8905 return little_endian_read_16(event, 14); 8906 } 8907 /** 8908 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8909 * @param event packet 8910 * @return vbr 8911 * @note: btstack_type 1 8912 */ 8913 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 8914 return event[16]; 8915 } 8916 /** 8917 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 8918 * @param event packet 8919 * @return bit_rate_index 8920 * @note: btstack_type 1 8921 */ 8922 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 8923 return event[17]; 8924 } 8925 8926 /** 8927 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8928 * @param event packet 8929 * @return a2dp_cid 8930 * @note: btstack_type 2 8931 */ 8932 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_a2dp_cid(const uint8_t * event){ 8933 return little_endian_read_16(event, 3); 8934 } 8935 /** 8936 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8937 * @param event packet 8938 * @return local_seid 8939 * @note: btstack_type 1 8940 */ 8941 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 8942 return event[5]; 8943 } 8944 /** 8945 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8946 * @param event packet 8947 * @return remote_seid 8948 * @note: btstack_type 1 8949 */ 8950 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 8951 return event[6]; 8952 } 8953 /** 8954 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8955 * @param event packet 8956 * @return reconfigure 8957 * @note: btstack_type 1 8958 */ 8959 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 8960 return event[7]; 8961 } 8962 /** 8963 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8964 * @param event packet 8965 * @return media_type 8966 * @note: btstack_type 1 8967 */ 8968 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 8969 return event[8]; 8970 } 8971 /** 8972 * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8973 * @param event packet 8974 * @return object_type 8975 * @note: btstack_type 1 8976 */ 8977 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 8978 return event[9]; 8979 } 8980 /** 8981 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8982 * @param event packet 8983 * @return sampling_frequency 8984 * @note: btstack_type 3 8985 */ 8986 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 8987 return little_endian_read_24(event, 10); 8988 } 8989 /** 8990 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 8991 * @param event packet 8992 * @return num_channels 8993 * @note: btstack_type 1 8994 */ 8995 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 8996 return event[13]; 8997 } 8998 /** 8999 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9000 * @param event packet 9001 * @return bit_rate 9002 * @note: btstack_type 3 9003 */ 9004 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 9005 return little_endian_read_24(event, 14); 9006 } 9007 /** 9008 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 9009 * @param event packet 9010 * @return vbr 9011 * @note: btstack_type 1 9012 */ 9013 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 9014 return event[17]; 9015 } 9016 9017 /** 9018 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9019 * @param event packet 9020 * @return a2dp_cid 9021 * @note: btstack_type 2 9022 */ 9023 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_a2dp_cid(const uint8_t * event){ 9024 return little_endian_read_16(event, 3); 9025 } 9026 /** 9027 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9028 * @param event packet 9029 * @return local_seid 9030 * @note: btstack_type 1 9031 */ 9032 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 9033 return event[5]; 9034 } 9035 /** 9036 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9037 * @param event packet 9038 * @return remote_seid 9039 * @note: btstack_type 1 9040 */ 9041 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 9042 return event[6]; 9043 } 9044 /** 9045 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9046 * @param event packet 9047 * @return reconfigure 9048 * @note: btstack_type 1 9049 */ 9050 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 9051 return event[7]; 9052 } 9053 /** 9054 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9055 * @param event packet 9056 * @return media_type 9057 * @note: btstack_type 1 9058 */ 9059 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 9060 return event[8]; 9061 } 9062 /** 9063 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9064 * @param event packet 9065 * @return version 9066 * @note: btstack_type 1 9067 */ 9068 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 9069 return event[9]; 9070 } 9071 /** 9072 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9073 * @param event packet 9074 * @return channel_mode 9075 * @note: btstack_type 1 9076 */ 9077 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 9078 return event[10]; 9079 } 9080 /** 9081 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9082 * @param event packet 9083 * @return num_channels 9084 * @note: btstack_type 1 9085 */ 9086 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 9087 return event[11]; 9088 } 9089 /** 9090 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9091 * @param event packet 9092 * @return sampling_frequency 9093 * @note: btstack_type 2 9094 */ 9095 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 9096 return little_endian_read_16(event, 12); 9097 } 9098 /** 9099 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9100 * @param event packet 9101 * @return vbr 9102 * @note: btstack_type 1 9103 */ 9104 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 9105 return event[14]; 9106 } 9107 /** 9108 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9109 * @param event packet 9110 * @return bit_rate_index 9111 * @note: btstack_type 1 9112 */ 9113 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 9114 return event[15]; 9115 } 9116 /** 9117 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 9118 * @param event packet 9119 * @return maximum_sul 9120 * @note: btstack_type 2 9121 */ 9122 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 9123 return little_endian_read_16(event, 16); 9124 } 9125 9126 /** 9127 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9128 * @param event packet 9129 * @return a2dp_cid 9130 * @note: btstack_type 2 9131 */ 9132 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 9133 return little_endian_read_16(event, 3); 9134 } 9135 /** 9136 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9137 * @param event packet 9138 * @return local_seid 9139 * @note: btstack_type 1 9140 */ 9141 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 9142 return event[5]; 9143 } 9144 /** 9145 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9146 * @param event packet 9147 * @return remote_seid 9148 * @note: btstack_type 1 9149 */ 9150 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 9151 return event[6]; 9152 } 9153 /** 9154 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9155 * @param event packet 9156 * @return reconfigure 9157 * @note: btstack_type 1 9158 */ 9159 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 9160 return event[7]; 9161 } 9162 /** 9163 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9164 * @param event packet 9165 * @return media_type 9166 * @note: btstack_type 1 9167 */ 9168 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 9169 return event[8]; 9170 } 9171 /** 9172 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9173 * @param event packet 9174 * @return media_codec_type 9175 * @note: btstack_type 2 9176 */ 9177 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 9178 return little_endian_read_16(event, 9); 9179 } 9180 /** 9181 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9182 * @param event packet 9183 * @return media_codec_information_len 9184 * @note: btstack_type L 9185 */ 9186 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 9187 return little_endian_read_16(event, 11); 9188 } 9189 /** 9190 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 9191 * @param event packet 9192 * @return media_codec_information 9193 * @note: btstack_type V 9194 */ 9195 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 9196 return &event[13]; 9197 } 9198 9199 /** 9200 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9201 * @param event packet 9202 * @return a2dp_cid 9203 * @note: btstack_type 2 9204 */ 9205 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 9206 return little_endian_read_16(event, 3); 9207 } 9208 /** 9209 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9210 * @param event packet 9211 * @param Pointer to storage for bd_addr 9212 * @note: btstack_type B 9213 */ 9214 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9215 reverse_bytes(&event[5], bd_addr, 6); 9216 } 9217 /** 9218 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9219 * @param event packet 9220 * @return local_seid 9221 * @note: btstack_type 1 9222 */ 9223 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 9224 return event[11]; 9225 } 9226 /** 9227 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9228 * @param event packet 9229 * @return remote_seid 9230 * @note: btstack_type 1 9231 */ 9232 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 9233 return event[12]; 9234 } 9235 /** 9236 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 9237 * @param event packet 9238 * @return status 9239 * @note: btstack_type 1 9240 */ 9241 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 9242 return event[13]; 9243 } 9244 9245 /** 9246 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9247 * @param event packet 9248 * @return a2dp_cid 9249 * @note: btstack_type 2 9250 */ 9251 static inline uint16_t a2dp_subevent_start_stream_requested_get_a2dp_cid(const uint8_t * event){ 9252 return little_endian_read_16(event, 3); 9253 } 9254 /** 9255 * @brief Get field local_seid from event A2DP_SUBEVENT_START_STREAM_REQUESTED 9256 * @param event packet 9257 * @return local_seid 9258 * @note: btstack_type 1 9259 */ 9260 static inline uint8_t a2dp_subevent_start_stream_requested_get_local_seid(const uint8_t * event){ 9261 return event[5]; 9262 } 9263 9264 /** 9265 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 9266 * @param event packet 9267 * @return a2dp_cid 9268 * @note: btstack_type 2 9269 */ 9270 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 9271 return little_endian_read_16(event, 3); 9272 } 9273 /** 9274 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 9275 * @param event packet 9276 * @return local_seid 9277 * @note: btstack_type 1 9278 */ 9279 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 9280 return event[5]; 9281 } 9282 9283 /** 9284 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9285 * @param event packet 9286 * @return a2dp_cid 9287 * @note: btstack_type 2 9288 */ 9289 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 9290 return little_endian_read_16(event, 3); 9291 } 9292 /** 9293 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 9294 * @param event packet 9295 * @return local_seid 9296 * @note: btstack_type 1 9297 */ 9298 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 9299 return event[5]; 9300 } 9301 9302 /** 9303 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 9304 * @param event packet 9305 * @return a2dp_cid 9306 * @note: btstack_type 2 9307 */ 9308 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 9309 return little_endian_read_16(event, 3); 9310 } 9311 /** 9312 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 9313 * @param event packet 9314 * @return local_seid 9315 * @note: btstack_type 1 9316 */ 9317 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 9318 return event[5]; 9319 } 9320 9321 /** 9322 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 9323 * @param event packet 9324 * @return a2dp_cid 9325 * @note: btstack_type 2 9326 */ 9327 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 9328 return little_endian_read_16(event, 3); 9329 } 9330 /** 9331 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 9332 * @param event packet 9333 * @return local_seid 9334 * @note: btstack_type 1 9335 */ 9336 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 9337 return event[5]; 9338 } 9339 9340 /** 9341 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9342 * @param event packet 9343 * @return a2dp_cid 9344 * @note: btstack_type 2 9345 */ 9346 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 9347 return little_endian_read_16(event, 3); 9348 } 9349 /** 9350 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9351 * @param event packet 9352 * @return local_seid 9353 * @note: btstack_type 1 9354 */ 9355 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 9356 return event[5]; 9357 } 9358 /** 9359 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 9360 * @param event packet 9361 * @return signal_identifier 9362 * @note: btstack_type 1 9363 */ 9364 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 9365 return event[6]; 9366 } 9367 9368 /** 9369 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 9370 * @param event packet 9371 * @return a2dp_cid 9372 * @note: btstack_type 2 9373 */ 9374 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 9375 return little_endian_read_16(event, 3); 9376 } 9377 /** 9378 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 9379 * @param event packet 9380 * @return local_seid 9381 * @note: btstack_type 1 9382 */ 9383 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 9384 return event[5]; 9385 } 9386 /** 9387 * @brief Get field is_initiator from event A2DP_SUBEVENT_COMMAND_REJECTED 9388 * @param event packet 9389 * @return is_initiator 9390 * @note: btstack_type 1 9391 */ 9392 static inline uint8_t a2dp_subevent_command_rejected_get_is_initiator(const uint8_t * event){ 9393 return event[6]; 9394 } 9395 /** 9396 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 9397 * @param event packet 9398 * @return signal_identifier 9399 * @note: btstack_type 1 9400 */ 9401 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 9402 return event[7]; 9403 } 9404 9405 /** 9406 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9407 * @param event packet 9408 * @return a2dp_cid 9409 * @note: btstack_type 2 9410 */ 9411 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 9412 return little_endian_read_16(event, 3); 9413 } 9414 /** 9415 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9416 * @param event packet 9417 * @param Pointer to storage for bd_addr 9418 * @note: btstack_type B 9419 */ 9420 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9421 reverse_bytes(&event[5], bd_addr, 6); 9422 } 9423 /** 9424 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9425 * @param event packet 9426 * @return con_handle 9427 * @note: btstack_type 2 9428 */ 9429 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 9430 return little_endian_read_16(event, 11); 9431 } 9432 /** 9433 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 9434 * @param event packet 9435 * @return status 9436 * @note: btstack_type 1 9437 */ 9438 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 9439 return event[13]; 9440 } 9441 9442 /** 9443 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 9444 * @param event packet 9445 * @return a2dp_cid 9446 * @note: btstack_type 2 9447 */ 9448 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 9449 return little_endian_read_16(event, 3); 9450 } 9451 9452 /** 9453 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9454 * @param event packet 9455 * @return a2dp_cid 9456 * @note: btstack_type 2 9457 */ 9458 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 9459 return little_endian_read_16(event, 3); 9460 } 9461 /** 9462 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9463 * @param event packet 9464 * @return local_seid 9465 * @note: btstack_type 1 9466 */ 9467 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 9468 return event[5]; 9469 } 9470 /** 9471 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 9472 * @param event packet 9473 * @return status 9474 * @note: btstack_type 1 9475 */ 9476 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 9477 return event[6]; 9478 } 9479 9480 /** 9481 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9482 * @param event packet 9483 * @return a2dp_cid 9484 * @note: btstack_type 2 9485 */ 9486 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_a2dp_cid(const uint8_t * event){ 9487 return little_endian_read_16(event, 3); 9488 } 9489 /** 9490 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9491 * @param event packet 9492 * @return remote_seid 9493 * @note: btstack_type 1 9494 */ 9495 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 9496 return event[5]; 9497 } 9498 /** 9499 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9500 * @param event packet 9501 * @return media_type 9502 * @note: btstack_type 1 9503 */ 9504 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 9505 return event[6]; 9506 } 9507 /** 9508 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9509 * @param event packet 9510 * @return sampling_frequency_bitmap 9511 * @note: btstack_type 1 9512 */ 9513 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9514 return event[7]; 9515 } 9516 /** 9517 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9518 * @param event packet 9519 * @return channel_mode_bitmap 9520 * @note: btstack_type 1 9521 */ 9522 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 9523 return event[8]; 9524 } 9525 /** 9526 * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9527 * @param event packet 9528 * @return block_length_bitmap 9529 * @note: btstack_type 1 9530 */ 9531 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 9532 return event[9]; 9533 } 9534 /** 9535 * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9536 * @param event packet 9537 * @return subbands_bitmap 9538 * @note: btstack_type 1 9539 */ 9540 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 9541 return event[10]; 9542 } 9543 /** 9544 * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9545 * @param event packet 9546 * @return allocation_method_bitmap 9547 * @note: btstack_type 1 9548 */ 9549 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 9550 return event[11]; 9551 } 9552 /** 9553 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9554 * @param event packet 9555 * @return min_bitpool_value 9556 * @note: btstack_type 1 9557 */ 9558 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 9559 return event[12]; 9560 } 9561 /** 9562 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 9563 * @param event packet 9564 * @return max_bitpool_value 9565 * @note: btstack_type 1 9566 */ 9567 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 9568 return event[13]; 9569 } 9570 9571 /** 9572 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9573 * @param event packet 9574 * @return a2dp_cid 9575 * @note: btstack_type 2 9576 */ 9577 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_a2dp_cid(const uint8_t * event){ 9578 return little_endian_read_16(event, 3); 9579 } 9580 /** 9581 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9582 * @param event packet 9583 * @return remote_seid 9584 * @note: btstack_type 1 9585 */ 9586 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 9587 return event[5]; 9588 } 9589 /** 9590 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9591 * @param event packet 9592 * @return media_type 9593 * @note: btstack_type 1 9594 */ 9595 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 9596 return event[6]; 9597 } 9598 /** 9599 * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9600 * @param event packet 9601 * @return layer_bitmap 9602 * @note: btstack_type 1 9603 */ 9604 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 9605 return event[7]; 9606 } 9607 /** 9608 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9609 * @param event packet 9610 * @return crc 9611 * @note: btstack_type 1 9612 */ 9613 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 9614 return event[8]; 9615 } 9616 /** 9617 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9618 * @param event packet 9619 * @return channel_mode_bitmap 9620 * @note: btstack_type 1 9621 */ 9622 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 9623 return event[9]; 9624 } 9625 /** 9626 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9627 * @param event packet 9628 * @return media_payload_format 9629 * @note: btstack_type 1 9630 */ 9631 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 9632 return event[10]; 9633 } 9634 /** 9635 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9636 * @param event packet 9637 * @return sampling_frequency_bitmap 9638 * @note: btstack_type 1 9639 */ 9640 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9641 return event[11]; 9642 } 9643 /** 9644 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9645 * @param event packet 9646 * @return vbr 9647 * @note: btstack_type 1 9648 */ 9649 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 9650 return event[12]; 9651 } 9652 /** 9653 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 9654 * @param event packet 9655 * @return bit_rate_index_bitmap 9656 * @note: btstack_type 2 9657 */ 9658 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 9659 return little_endian_read_16(event, 13); 9660 } 9661 9662 /** 9663 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9664 * @param event packet 9665 * @return a2dp_cid 9666 * @note: btstack_type 2 9667 */ 9668 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_a2dp_cid(const uint8_t * event){ 9669 return little_endian_read_16(event, 3); 9670 } 9671 /** 9672 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9673 * @param event packet 9674 * @return remote_seid 9675 * @note: btstack_type 1 9676 */ 9677 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 9678 return event[5]; 9679 } 9680 /** 9681 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9682 * @param event packet 9683 * @return media_type 9684 * @note: btstack_type 1 9685 */ 9686 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 9687 return event[6]; 9688 } 9689 /** 9690 * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9691 * @param event packet 9692 * @return object_type_bitmap 9693 * @note: btstack_type 1 9694 */ 9695 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 9696 return event[7]; 9697 } 9698 /** 9699 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9700 * @param event packet 9701 * @return sampling_frequency_bitmap 9702 * @note: btstack_type 2 9703 */ 9704 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9705 return little_endian_read_16(event, 8); 9706 } 9707 /** 9708 * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9709 * @param event packet 9710 * @return channels_bitmap 9711 * @note: btstack_type 1 9712 */ 9713 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 9714 return event[10]; 9715 } 9716 /** 9717 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9718 * @param event packet 9719 * @return bit_rate 9720 * @note: btstack_type 3 9721 */ 9722 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 9723 return little_endian_read_24(event, 11); 9724 } 9725 /** 9726 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 9727 * @param event packet 9728 * @return vbr 9729 * @note: btstack_type 1 9730 */ 9731 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 9732 return event[14]; 9733 } 9734 9735 /** 9736 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9737 * @param event packet 9738 * @return a2dp_cid 9739 * @note: btstack_type 2 9740 */ 9741 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_a2dp_cid(const uint8_t * event){ 9742 return little_endian_read_16(event, 3); 9743 } 9744 /** 9745 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9746 * @param event packet 9747 * @return remote_seid 9748 * @note: btstack_type 1 9749 */ 9750 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 9751 return event[5]; 9752 } 9753 /** 9754 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9755 * @param event packet 9756 * @return media_type 9757 * @note: btstack_type 1 9758 */ 9759 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 9760 return event[6]; 9761 } 9762 /** 9763 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9764 * @param event packet 9765 * @return version 9766 * @note: btstack_type 1 9767 */ 9768 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 9769 return event[7]; 9770 } 9771 /** 9772 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9773 * @param event packet 9774 * @return channel_mode_bitmap 9775 * @note: btstack_type 1 9776 */ 9777 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 9778 return event[8]; 9779 } 9780 /** 9781 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9782 * @param event packet 9783 * @return sampling_frequency_bitmap 9784 * @note: btstack_type 1 9785 */ 9786 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 9787 return event[9]; 9788 } 9789 /** 9790 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9791 * @param event packet 9792 * @return vbr 9793 * @note: btstack_type 1 9794 */ 9795 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 9796 return event[10]; 9797 } 9798 /** 9799 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9800 * @param event packet 9801 * @return bit_rate_index_bitmap 9802 * @note: btstack_type 3 9803 */ 9804 static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 9805 return little_endian_read_24(event, 11); 9806 } 9807 /** 9808 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 9809 * @param event packet 9810 * @return maximum_sul 9811 * @note: btstack_type 2 9812 */ 9813 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 9814 return little_endian_read_16(event, 14); 9815 } 9816 9817 /** 9818 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 9819 * @param event packet 9820 * @return a2dp_cid 9821 * @note: btstack_type 2 9822 */ 9823 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_a2dp_cid(const uint8_t * event){ 9824 return little_endian_read_16(event, 3); 9825 } 9826 /** 9827 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 9828 * @param event packet 9829 * @return remote_seid 9830 * @note: btstack_type 1 9831 */ 9832 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 9833 return event[5]; 9834 } 9835 /** 9836 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 9837 * @param event packet 9838 * @return media_type 9839 * @note: btstack_type 1 9840 */ 9841 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 9842 return event[6]; 9843 } 9844 /** 9845 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 9846 * @param event packet 9847 * @return media_codec_type 9848 * @note: btstack_type 2 9849 */ 9850 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 9851 return little_endian_read_16(event, 7); 9852 } 9853 /** 9854 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 9855 * @param event packet 9856 * @return media_codec_information_len 9857 * @note: btstack_type L 9858 */ 9859 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 9860 return little_endian_read_16(event, 9); 9861 } 9862 /** 9863 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 9864 * @param event packet 9865 * @return media_codec_information 9866 * @note: btstack_type V 9867 */ 9868 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 9869 return &event[11]; 9870 } 9871 9872 /** 9873 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 9874 * @param event packet 9875 * @return a2dp_cid 9876 * @note: btstack_type 2 9877 */ 9878 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_a2dp_cid(const uint8_t * event){ 9879 return little_endian_read_16(event, 3); 9880 } 9881 /** 9882 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 9883 * @param event packet 9884 * @return remote_seid 9885 * @note: btstack_type 1 9886 */ 9887 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 9888 return event[5]; 9889 } 9890 9891 /** 9892 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 9893 * @param event packet 9894 * @return a2dp_cid 9895 * @note: btstack_type 2 9896 */ 9897 static inline uint16_t a2dp_subevent_signaling_delay_report_get_a2dp_cid(const uint8_t * event){ 9898 return little_endian_read_16(event, 3); 9899 } 9900 /** 9901 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 9902 * @param event packet 9903 * @return local_seid 9904 * @note: btstack_type 1 9905 */ 9906 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 9907 return event[5]; 9908 } 9909 /** 9910 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 9911 * @param event packet 9912 * @return delay_100us 9913 * @note: btstack_type 2 9914 */ 9915 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 9916 return little_endian_read_16(event, 6); 9917 } 9918 9919 /** 9920 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 9921 * @param event packet 9922 * @return a2dp_cid 9923 * @note: btstack_type 2 9924 */ 9925 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_a2dp_cid(const uint8_t * event){ 9926 return little_endian_read_16(event, 3); 9927 } 9928 /** 9929 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 9930 * @param event packet 9931 * @return remote_seid 9932 * @note: btstack_type 1 9933 */ 9934 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 9935 return event[5]; 9936 } 9937 9938 /** 9939 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 9940 * @param event packet 9941 * @return a2dp_cid 9942 * @note: btstack_type 2 9943 */ 9944 static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_a2dp_cid(const uint8_t * event){ 9945 return little_endian_read_16(event, 3); 9946 } 9947 9948 /** 9949 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 9950 * @param event packet 9951 * @return avrcp_cid 9952 * @note: btstack_type 2 9953 */ 9954 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 9955 return little_endian_read_16(event, 3); 9956 } 9957 /** 9958 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 9959 * @param event packet 9960 * @return command_type 9961 * @note: btstack_type 1 9962 */ 9963 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 9964 return event[5]; 9965 } 9966 /** 9967 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 9968 * @param event packet 9969 * @return play_status 9970 * @note: btstack_type 1 9971 */ 9972 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 9973 return event[6]; 9974 } 9975 9976 /** 9977 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 9978 * @param event packet 9979 * @return avrcp_cid 9980 * @note: btstack_type 2 9981 */ 9982 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 9983 return little_endian_read_16(event, 3); 9984 } 9985 /** 9986 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 9987 * @param event packet 9988 * @return command_type 9989 * @note: btstack_type 1 9990 */ 9991 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 9992 return event[5]; 9993 } 9994 9995 /** 9996 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 9997 * @param event packet 9998 * @return avrcp_cid 9999 * @note: btstack_type 2 10000 */ 10001 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 10002 return little_endian_read_16(event, 3); 10003 } 10004 /** 10005 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 10006 * @param event packet 10007 * @return command_type 10008 * @note: btstack_type 1 10009 */ 10010 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 10011 return event[5]; 10012 } 10013 10014 /** 10015 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10016 * @param event packet 10017 * @return avrcp_cid 10018 * @note: btstack_type 2 10019 */ 10020 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){ 10021 return little_endian_read_16(event, 3); 10022 } 10023 /** 10024 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 10025 * @param event packet 10026 * @return command_type 10027 * @note: btstack_type 1 10028 */ 10029 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 10030 return event[5]; 10031 } 10032 10033 /** 10034 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10035 * @param event packet 10036 * @return avrcp_cid 10037 * @note: btstack_type 2 10038 */ 10039 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 10040 return little_endian_read_16(event, 3); 10041 } 10042 /** 10043 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10044 * @param event packet 10045 * @return command_type 10046 * @note: btstack_type 1 10047 */ 10048 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 10049 return event[5]; 10050 } 10051 /** 10052 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 10053 * @param event packet 10054 * @return playback_position 10055 * @note: btstack_type 4 10056 */ 10057 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 10058 return little_endian_read_32(event, 6); 10059 } 10060 10061 /** 10062 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10063 * @param event packet 10064 * @return avrcp_cid 10065 * @note: btstack_type 2 10066 */ 10067 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 10068 return little_endian_read_16(event, 3); 10069 } 10070 /** 10071 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10072 * @param event packet 10073 * @return command_type 10074 * @note: btstack_type 1 10075 */ 10076 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 10077 return event[5]; 10078 } 10079 /** 10080 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 10081 * @param event packet 10082 * @return battery_status 10083 * @note: btstack_type 1 10084 */ 10085 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 10086 return event[6]; 10087 } 10088 10089 /** 10090 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10091 * @param event packet 10092 * @return avrcp_cid 10093 * @note: btstack_type 2 10094 */ 10095 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 10096 return little_endian_read_16(event, 3); 10097 } 10098 /** 10099 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10100 * @param event packet 10101 * @return command_type 10102 * @note: btstack_type 1 10103 */ 10104 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 10105 return event[5]; 10106 } 10107 /** 10108 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 10109 * @param event packet 10110 * @return system_status 10111 * @note: btstack_type 1 10112 */ 10113 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 10114 return event[6]; 10115 } 10116 10117 /** 10118 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10119 * @param event packet 10120 * @return avrcp_cid 10121 * @note: btstack_type 2 10122 */ 10123 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 10124 return little_endian_read_16(event, 3); 10125 } 10126 /** 10127 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 10128 * @param event packet 10129 * @return command_type 10130 * @note: btstack_type 1 10131 */ 10132 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 10133 return event[5]; 10134 } 10135 10136 /** 10137 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10138 * @param event packet 10139 * @return avrcp_cid 10140 * @note: btstack_type 2 10141 */ 10142 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 10143 return little_endian_read_16(event, 3); 10144 } 10145 /** 10146 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 10147 * @param event packet 10148 * @return command_type 10149 * @note: btstack_type 1 10150 */ 10151 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 10152 return event[5]; 10153 } 10154 10155 /** 10156 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10157 * @param event packet 10158 * @return avrcp_cid 10159 * @note: btstack_type 2 10160 */ 10161 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 10162 return little_endian_read_16(event, 3); 10163 } 10164 /** 10165 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10166 * @param event packet 10167 * @return command_type 10168 * @note: btstack_type 1 10169 */ 10170 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 10171 return event[5]; 10172 } 10173 /** 10174 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 10175 * @param event packet 10176 * @return uid_counter 10177 * @note: btstack_type 2 10178 */ 10179 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 10180 return little_endian_read_16(event, 6); 10181 } 10182 10183 /** 10184 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10185 * @param event packet 10186 * @return avrcp_cid 10187 * @note: btstack_type 2 10188 */ 10189 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 10190 return little_endian_read_16(event, 3); 10191 } 10192 /** 10193 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10194 * @param event packet 10195 * @return command_type 10196 * @note: btstack_type 1 10197 */ 10198 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 10199 return event[5]; 10200 } 10201 /** 10202 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 10203 * @param event packet 10204 * @return absolute_volume 10205 * @note: btstack_type 1 10206 */ 10207 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 10208 return event[6]; 10209 } 10210 10211 /** 10212 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10213 * @param event packet 10214 * @return avrcp_cid 10215 * @note: btstack_type 2 10216 */ 10217 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 10218 return little_endian_read_16(event, 3); 10219 } 10220 /** 10221 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10222 * @param event packet 10223 * @return command_type 10224 * @note: btstack_type 1 10225 */ 10226 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 10227 return event[5]; 10228 } 10229 /** 10230 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 10231 * @param event packet 10232 * @return absolute_volume 10233 * @note: btstack_type 1 10234 */ 10235 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 10236 return event[6]; 10237 } 10238 10239 /** 10240 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10241 * @param event packet 10242 * @return avrcp_cid 10243 * @note: btstack_type 2 10244 */ 10245 static inline uint16_t avrcp_subevent_notification_state_get_avrcp_cid(const uint8_t * event){ 10246 return little_endian_read_16(event, 3); 10247 } 10248 /** 10249 * @brief Get field status from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10250 * @param event packet 10251 * @return status 10252 * @note: btstack_type 1 10253 */ 10254 static inline uint8_t avrcp_subevent_notification_state_get_status(const uint8_t * event){ 10255 return event[5]; 10256 } 10257 /** 10258 * @brief Get field enabled from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10259 * @param event packet 10260 * @return enabled 10261 * @note: btstack_type 1 10262 */ 10263 static inline uint8_t avrcp_subevent_notification_state_get_enabled(const uint8_t * event){ 10264 return event[6]; 10265 } 10266 /** 10267 * @brief Get field event_id from event AVRCP_SUBEVENT_NOTIFICATION_STATE 10268 * @param event packet 10269 * @return event_id 10270 * @note: btstack_type 1 10271 */ 10272 static inline uint8_t avrcp_subevent_notification_state_get_event_id(const uint8_t * event){ 10273 return event[7]; 10274 } 10275 10276 /** 10277 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10278 * @param event packet 10279 * @return status 10280 * @note: btstack_type 1 10281 */ 10282 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 10283 return event[3]; 10284 } 10285 /** 10286 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10287 * @param event packet 10288 * @return avrcp_cid 10289 * @note: btstack_type 2 10290 */ 10291 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 10292 return little_endian_read_16(event, 4); 10293 } 10294 /** 10295 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10296 * @param event packet 10297 * @param Pointer to storage for bd_addr 10298 * @note: btstack_type B 10299 */ 10300 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10301 reverse_bytes(&event[6], bd_addr, 6); 10302 } 10303 /** 10304 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 10305 * @param event packet 10306 * @return con_handle 10307 * @note: btstack_type 2 10308 */ 10309 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 10310 return little_endian_read_16(event, 12); 10311 } 10312 10313 /** 10314 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 10315 * @param event packet 10316 * @return avrcp_cid 10317 * @note: btstack_type 2 10318 */ 10319 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 10320 return little_endian_read_16(event, 3); 10321 } 10322 10323 /** 10324 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10325 * @param event packet 10326 * @return avrcp_cid 10327 * @note: btstack_type 2 10328 */ 10329 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 10330 return little_endian_read_16(event, 3); 10331 } 10332 /** 10333 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10334 * @param event packet 10335 * @return command_type 10336 * @note: btstack_type 1 10337 */ 10338 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 10339 return event[5]; 10340 } 10341 /** 10342 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10343 * @param event packet 10344 * @return repeat_mode 10345 * @note: btstack_type 1 10346 */ 10347 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 10348 return event[6]; 10349 } 10350 /** 10351 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 10352 * @param event packet 10353 * @return shuffle_mode 10354 * @note: btstack_type 1 10355 */ 10356 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 10357 return event[7]; 10358 } 10359 10360 /** 10361 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 10362 * @param event packet 10363 * @return avrcp_cid 10364 * @note: btstack_type 2 10365 */ 10366 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 10367 return little_endian_read_16(event, 3); 10368 } 10369 /** 10370 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 10371 * @param event packet 10372 * @return command_type 10373 * @note: btstack_type 1 10374 */ 10375 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 10376 return event[5]; 10377 } 10378 /** 10379 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 10380 * @param event packet 10381 * @return song_length 10382 * @note: btstack_type 4 10383 */ 10384 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 10385 return little_endian_read_32(event, 6); 10386 } 10387 /** 10388 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 10389 * @param event packet 10390 * @return song_position 10391 * @note: btstack_type 4 10392 */ 10393 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 10394 return little_endian_read_32(event, 10); 10395 } 10396 /** 10397 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 10398 * @param event packet 10399 * @return play_status 10400 * @note: btstack_type 1 10401 */ 10402 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 10403 return event[14]; 10404 } 10405 10406 /** 10407 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 10408 * @param event packet 10409 * @return avrcp_cid 10410 * @note: btstack_type 2 10411 */ 10412 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 10413 return little_endian_read_16(event, 3); 10414 } 10415 /** 10416 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 10417 * @param event packet 10418 * @return command_type 10419 * @note: btstack_type 1 10420 */ 10421 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 10422 return event[5]; 10423 } 10424 /** 10425 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 10426 * @param event packet 10427 * @return operation_id 10428 * @note: btstack_type 1 10429 */ 10430 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 10431 return event[6]; 10432 } 10433 10434 /** 10435 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10436 * @param event packet 10437 * @return avrcp_cid 10438 * @note: btstack_type 2 10439 */ 10440 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 10441 return little_endian_read_16(event, 3); 10442 } 10443 /** 10444 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10445 * @param event packet 10446 * @return command_type 10447 * @note: btstack_type 1 10448 */ 10449 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 10450 return event[5]; 10451 } 10452 /** 10453 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 10454 * @param event packet 10455 * @return operation_id 10456 * @note: btstack_type 1 10457 */ 10458 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 10459 return event[6]; 10460 } 10461 10462 /** 10463 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 10464 * @param event packet 10465 * @return avrcp_cid 10466 * @note: btstack_type 2 10467 */ 10468 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 10469 return little_endian_read_16(event, 3); 10470 } 10471 /** 10472 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 10473 * @param event packet 10474 * @return command_type 10475 * @note: btstack_type 1 10476 */ 10477 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 10478 return event[5]; 10479 } 10480 10481 /** 10482 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 10483 * @param event packet 10484 * @return avrcp_cid 10485 * @note: btstack_type 2 10486 */ 10487 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 10488 return little_endian_read_16(event, 3); 10489 } 10490 10491 /** 10492 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 10493 * @param event packet 10494 * @return avrcp_cid 10495 * @note: btstack_type 2 10496 */ 10497 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 10498 return little_endian_read_16(event, 3); 10499 } 10500 /** 10501 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 10502 * @param event packet 10503 * @return operation_id 10504 * @note: btstack_type 1 10505 */ 10506 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 10507 return event[5]; 10508 } 10509 /** 10510 * @brief Get field button_pressed from event AVRCP_SUBEVENT_OPERATION 10511 * @param event packet 10512 * @return button_pressed 10513 * @note: btstack_type 1 10514 */ 10515 static inline uint8_t avrcp_subevent_operation_get_button_pressed(const uint8_t * event){ 10516 return event[6]; 10517 } 10518 /** 10519 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 10520 * @param event packet 10521 * @return operands_length 10522 * @note: btstack_type 1 10523 */ 10524 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 10525 return event[7]; 10526 } 10527 /** 10528 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 10529 * @param event packet 10530 * @return operand 10531 * @note: btstack_type 1 10532 */ 10533 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 10534 return event[8]; 10535 } 10536 10537 /** 10538 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 10539 * @param event packet 10540 * @return avrcp_cid 10541 * @note: btstack_type 2 10542 */ 10543 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 10544 return little_endian_read_16(event, 3); 10545 } 10546 /** 10547 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 10548 * @param event packet 10549 * @return command_type 10550 * @note: btstack_type 1 10551 */ 10552 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 10553 return event[5]; 10554 } 10555 /** 10556 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 10557 * @param event packet 10558 * @return track 10559 * @note: btstack_type 1 10560 */ 10561 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 10562 return event[6]; 10563 } 10564 10565 /** 10566 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 10567 * @param event packet 10568 * @return avrcp_cid 10569 * @note: btstack_type 2 10570 */ 10571 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 10572 return little_endian_read_16(event, 3); 10573 } 10574 /** 10575 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 10576 * @param event packet 10577 * @return command_type 10578 * @note: btstack_type 1 10579 */ 10580 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 10581 return event[5]; 10582 } 10583 /** 10584 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 10585 * @param event packet 10586 * @return total_tracks 10587 * @note: btstack_type 1 10588 */ 10589 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 10590 return event[6]; 10591 } 10592 10593 /** 10594 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 10595 * @param event packet 10596 * @return avrcp_cid 10597 * @note: btstack_type 2 10598 */ 10599 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 10600 return little_endian_read_16(event, 3); 10601 } 10602 /** 10603 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 10604 * @param event packet 10605 * @return command_type 10606 * @note: btstack_type 1 10607 */ 10608 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 10609 return event[5]; 10610 } 10611 /** 10612 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 10613 * @param event packet 10614 * @return song_length 10615 * @note: btstack_type 4 10616 */ 10617 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 10618 return little_endian_read_32(event, 6); 10619 } 10620 10621 /** 10622 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10623 * @param event packet 10624 * @return avrcp_cid 10625 * @note: btstack_type 2 10626 */ 10627 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 10628 return little_endian_read_16(event, 3); 10629 } 10630 /** 10631 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10632 * @param event packet 10633 * @return command_type 10634 * @note: btstack_type 1 10635 */ 10636 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 10637 return event[5]; 10638 } 10639 /** 10640 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10641 * @param event packet 10642 * @return value_len 10643 * @note: btstack_type J 10644 */ 10645 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 10646 return event[6]; 10647 } 10648 /** 10649 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 10650 * @param event packet 10651 * @return value 10652 * @note: btstack_type V 10653 */ 10654 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 10655 return &event[7]; 10656 } 10657 10658 /** 10659 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 10660 * @param event packet 10661 * @return avrcp_cid 10662 * @note: btstack_type 2 10663 */ 10664 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 10665 return little_endian_read_16(event, 3); 10666 } 10667 /** 10668 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 10669 * @param event packet 10670 * @return command_type 10671 * @note: btstack_type 1 10672 */ 10673 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 10674 return event[5]; 10675 } 10676 /** 10677 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 10678 * @param event packet 10679 * @return value_len 10680 * @note: btstack_type J 10681 */ 10682 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 10683 return event[6]; 10684 } 10685 /** 10686 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 10687 * @param event packet 10688 * @return value 10689 * @note: btstack_type V 10690 */ 10691 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 10692 return &event[7]; 10693 } 10694 10695 /** 10696 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 10697 * @param event packet 10698 * @return avrcp_cid 10699 * @note: btstack_type 2 10700 */ 10701 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 10702 return little_endian_read_16(event, 3); 10703 } 10704 /** 10705 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 10706 * @param event packet 10707 * @return command_type 10708 * @note: btstack_type 1 10709 */ 10710 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 10711 return event[5]; 10712 } 10713 /** 10714 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 10715 * @param event packet 10716 * @return value_len 10717 * @note: btstack_type J 10718 */ 10719 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 10720 return event[6]; 10721 } 10722 /** 10723 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 10724 * @param event packet 10725 * @return value 10726 * @note: btstack_type V 10727 */ 10728 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 10729 return &event[7]; 10730 } 10731 10732 /** 10733 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 10734 * @param event packet 10735 * @return avrcp_cid 10736 * @note: btstack_type 2 10737 */ 10738 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 10739 return little_endian_read_16(event, 3); 10740 } 10741 /** 10742 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 10743 * @param event packet 10744 * @return command_type 10745 * @note: btstack_type 1 10746 */ 10747 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 10748 return event[5]; 10749 } 10750 /** 10751 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 10752 * @param event packet 10753 * @return value_len 10754 * @note: btstack_type J 10755 */ 10756 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 10757 return event[6]; 10758 } 10759 /** 10760 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 10761 * @param event packet 10762 * @return value 10763 * @note: btstack_type V 10764 */ 10765 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 10766 return &event[7]; 10767 } 10768 10769 /** 10770 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 10771 * @param event packet 10772 * @return avrcp_cid 10773 * @note: btstack_type 2 10774 */ 10775 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 10776 return little_endian_read_16(event, 3); 10777 } 10778 /** 10779 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 10780 * @param event packet 10781 * @return command_type 10782 * @note: btstack_type 1 10783 */ 10784 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 10785 return event[5]; 10786 } 10787 /** 10788 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 10789 * @param event packet 10790 * @return status 10791 * @note: btstack_type 1 10792 */ 10793 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 10794 return event[6]; 10795 } 10796 10797 /** 10798 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 10799 * @param event packet 10800 * @return avrcp_cid 10801 * @note: btstack_type 2 10802 */ 10803 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 10804 return little_endian_read_16(event, 3); 10805 } 10806 /** 10807 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 10808 * @param event packet 10809 * @return command_type 10810 * @note: btstack_type 1 10811 */ 10812 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 10813 return event[5]; 10814 } 10815 /** 10816 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 10817 * @param event packet 10818 * @return playback_position_ms 10819 * @note: btstack_type 4 10820 */ 10821 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 10822 return little_endian_read_32(event, 6); 10823 } 10824 10825 /** 10826 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 10827 * @param event packet 10828 * @return avrcp_cid 10829 * @note: btstack_type 2 10830 */ 10831 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 10832 return little_endian_read_16(event, 3); 10833 } 10834 /** 10835 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 10836 * @param event packet 10837 * @return command_type 10838 * @note: btstack_type 1 10839 */ 10840 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 10841 return event[5]; 10842 } 10843 /** 10844 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 10845 * @param event packet 10846 * @return status 10847 * @note: btstack_type 1 10848 */ 10849 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 10850 return event[6]; 10851 } 10852 /** 10853 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 10854 * @param event packet 10855 * @return event_id 10856 * @note: btstack_type 1 10857 */ 10858 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 10859 return event[7]; 10860 } 10861 10862 /** 10863 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 10864 * @param event packet 10865 * @return avrcp_cid 10866 * @note: btstack_type 2 10867 */ 10868 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){ 10869 return little_endian_read_16(event, 3); 10870 } 10871 /** 10872 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 10873 * @param event packet 10874 * @return command_type 10875 * @note: btstack_type 1 10876 */ 10877 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 10878 return event[5]; 10879 } 10880 /** 10881 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 10882 * @param event packet 10883 * @return status 10884 * @note: btstack_type 1 10885 */ 10886 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 10887 return event[6]; 10888 } 10889 10890 /** 10891 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 10892 * @param event packet 10893 * @return avrcp_cid 10894 * @note: btstack_type 2 10895 */ 10896 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 10897 return little_endian_read_16(event, 3); 10898 } 10899 /** 10900 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 10901 * @param event packet 10902 * @return command_type 10903 * @note: btstack_type 1 10904 */ 10905 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 10906 return event[5]; 10907 } 10908 /** 10909 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 10910 * @param event packet 10911 * @return status 10912 * @note: btstack_type 1 10913 */ 10914 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 10915 return event[6]; 10916 } 10917 /** 10918 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 10919 * @param event packet 10920 * @return company_id 10921 * @note: btstack_type 3 10922 */ 10923 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 10924 return little_endian_read_24(event, 7); 10925 } 10926 10927 /** 10928 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 10929 * @param event packet 10930 * @return avrcp_cid 10931 * @note: btstack_type 2 10932 */ 10933 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){ 10934 return little_endian_read_16(event, 3); 10935 } 10936 /** 10937 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 10938 * @param event packet 10939 * @return command_type 10940 * @note: btstack_type 1 10941 */ 10942 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 10943 return event[5]; 10944 } 10945 /** 10946 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 10947 * @param event packet 10948 * @return status 10949 * @note: btstack_type 1 10950 */ 10951 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 10952 return event[6]; 10953 } 10954 10955 /** 10956 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 10957 * @param event packet 10958 * @return avrcp_cid 10959 * @note: btstack_type 2 10960 */ 10961 static inline uint16_t avrcp_subevent_custom_command_response_get_avrcp_cid(const uint8_t * event){ 10962 return little_endian_read_16(event, 3); 10963 } 10964 /** 10965 * @brief Get field command_type from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 10966 * @param event packet 10967 * @return command_type 10968 * @note: btstack_type 1 10969 */ 10970 static inline uint8_t avrcp_subevent_custom_command_response_get_command_type(const uint8_t * event){ 10971 return event[5]; 10972 } 10973 /** 10974 * @brief Get field pdu_id from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 10975 * @param event packet 10976 * @return pdu_id 10977 * @note: btstack_type 1 10978 */ 10979 static inline uint8_t avrcp_subevent_custom_command_response_get_pdu_id(const uint8_t * event){ 10980 return event[6]; 10981 } 10982 /** 10983 * @brief Get field params_len from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 10984 * @param event packet 10985 * @return params_len 10986 * @note: btstack_type L 10987 */ 10988 static inline uint16_t avrcp_subevent_custom_command_response_get_params_len(const uint8_t * event){ 10989 return little_endian_read_16(event, 7); 10990 } 10991 /** 10992 * @brief Get field params from event AVRCP_SUBEVENT_CUSTOM_COMMAND_RESPONSE 10993 * @param event packet 10994 * @return params 10995 * @note: btstack_type V 10996 */ 10997 static inline const uint8_t * avrcp_subevent_custom_command_response_get_params(const uint8_t * event){ 10998 return &event[9]; 10999 } 11000 11001 /** 11002 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11003 * @param event packet 11004 * @param Pointer to storage for bd_addr 11005 * @note: btstack_type B 11006 */ 11007 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11008 reverse_bytes(&event[3], bd_addr, 6); 11009 } 11010 /** 11011 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 11012 * @param event packet 11013 * @return browsing_cid 11014 * @note: btstack_type 2 11015 */ 11016 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 11017 return little_endian_read_16(event, 9); 11018 } 11019 11020 /** 11021 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11022 * @param event packet 11023 * @return status 11024 * @note: btstack_type 1 11025 */ 11026 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 11027 return event[3]; 11028 } 11029 /** 11030 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11031 * @param event packet 11032 * @param Pointer to storage for bd_addr 11033 * @note: btstack_type B 11034 */ 11035 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11036 reverse_bytes(&event[4], bd_addr, 6); 11037 } 11038 /** 11039 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 11040 * @param event packet 11041 * @return browsing_cid 11042 * @note: btstack_type 2 11043 */ 11044 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 11045 return little_endian_read_16(event, 10); 11046 } 11047 11048 /** 11049 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 11050 * @param event packet 11051 * @return browsing_cid 11052 * @note: btstack_type 2 11053 */ 11054 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 11055 return little_endian_read_16(event, 3); 11056 } 11057 11058 /** 11059 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 11060 * @param event packet 11061 * @return browsing_cid 11062 * @note: btstack_type 2 11063 */ 11064 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 11065 return little_endian_read_16(event, 3); 11066 } 11067 /** 11068 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 11069 * @param event packet 11070 * @return uid_counter 11071 * @note: btstack_type 2 11072 */ 11073 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 11074 return little_endian_read_16(event, 5); 11075 } 11076 /** 11077 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 11078 * @param event packet 11079 * @return browsing_status 11080 * @note: btstack_type 1 11081 */ 11082 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 11083 return event[7]; 11084 } 11085 /** 11086 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 11087 * @param event packet 11088 * @return bluetooth_status 11089 * @note: btstack_type 1 11090 */ 11091 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 11092 return event[8]; 11093 } 11094 11095 /** 11096 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11097 * @param event packet 11098 * @return browsing_cid 11099 * @note: btstack_type 2 11100 */ 11101 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 11102 return little_endian_read_16(event, 3); 11103 } 11104 /** 11105 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11106 * @param event packet 11107 * @return scope 11108 * @note: btstack_type 1 11109 */ 11110 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 11111 return event[5]; 11112 } 11113 /** 11114 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 11115 * @param event packet 11116 * @return attr_bitmap 11117 * @note: btstack_type 4 11118 */ 11119 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 11120 return little_endian_read_32(event, 6); 11121 } 11122 11123 /** 11124 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11125 * @param event packet 11126 * @return browsing_cid 11127 * @note: btstack_type 2 11128 */ 11129 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 11130 return little_endian_read_16(event, 3); 11131 } 11132 /** 11133 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 11134 * @param event packet 11135 * @return scope 11136 * @note: btstack_type 1 11137 */ 11138 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 11139 return event[5]; 11140 } 11141 11142 /** 11143 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11144 * @param event packet 11145 * @return browsing_cid 11146 * @note: btstack_type 2 11147 */ 11148 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_browsing_cid(const uint8_t * event){ 11149 return little_endian_read_16(event, 3); 11150 } 11151 /** 11152 * @brief Get field player_id from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 11153 * @param event packet 11154 * @return player_id 11155 * @note: btstack_type 2 11156 */ 11157 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_player_id(const uint8_t * event){ 11158 return little_endian_read_16(event, 5); 11159 } 11160 11161 /** 11162 * @brief Get field goep_cid from event GOEP_SUBEVENT_INCOMING_CONNECTION 11163 * @param event packet 11164 * @return goep_cid 11165 * @note: btstack_type 2 11166 */ 11167 static inline uint16_t goep_subevent_incoming_connection_get_goep_cid(const uint8_t * event){ 11168 return little_endian_read_16(event, 3); 11169 } 11170 /** 11171 * @brief Get field address from event GOEP_SUBEVENT_INCOMING_CONNECTION 11172 * @param event packet 11173 * @param Pointer to storage for address 11174 * @note: btstack_type B 11175 */ 11176 static inline void goep_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 11177 reverse_bytes(&event[5], address, 6); 11178 } 11179 /** 11180 * @brief Get field handle from event GOEP_SUBEVENT_INCOMING_CONNECTION 11181 * @param event packet 11182 * @return handle 11183 * @note: btstack_type H 11184 */ 11185 static inline hci_con_handle_t goep_subevent_incoming_connection_get_handle(const uint8_t * event){ 11186 return little_endian_read_16(event, 11); 11187 } 11188 11189 /** 11190 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 11191 * @param event packet 11192 * @return goep_cid 11193 * @note: btstack_type 2 11194 */ 11195 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 11196 return little_endian_read_16(event, 3); 11197 } 11198 /** 11199 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 11200 * @param event packet 11201 * @return status 11202 * @note: btstack_type 1 11203 */ 11204 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 11205 return event[5]; 11206 } 11207 /** 11208 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 11209 * @param event packet 11210 * @param Pointer to storage for bd_addr 11211 * @note: btstack_type B 11212 */ 11213 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11214 reverse_bytes(&event[6], bd_addr, 6); 11215 } 11216 /** 11217 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 11218 * @param event packet 11219 * @return con_handle 11220 * @note: btstack_type H 11221 */ 11222 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 11223 return little_endian_read_16(event, 12); 11224 } 11225 /** 11226 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 11227 * @param event packet 11228 * @return incoming 11229 * @note: btstack_type 1 11230 */ 11231 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 11232 return event[14]; 11233 } 11234 11235 /** 11236 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 11237 * @param event packet 11238 * @return goep_cid 11239 * @note: btstack_type 2 11240 */ 11241 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 11242 return little_endian_read_16(event, 3); 11243 } 11244 11245 /** 11246 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 11247 * @param event packet 11248 * @return goep_cid 11249 * @note: btstack_type 2 11250 */ 11251 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 11252 return little_endian_read_16(event, 3); 11253 } 11254 11255 /** 11256 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 11257 * @param event packet 11258 * @return pbap_cid 11259 * @note: btstack_type 2 11260 */ 11261 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 11262 return little_endian_read_16(event, 3); 11263 } 11264 /** 11265 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 11266 * @param event packet 11267 * @return status 11268 * @note: btstack_type 1 11269 */ 11270 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 11271 return event[5]; 11272 } 11273 /** 11274 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 11275 * @param event packet 11276 * @param Pointer to storage for bd_addr 11277 * @note: btstack_type B 11278 */ 11279 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11280 reverse_bytes(&event[6], bd_addr, 6); 11281 } 11282 /** 11283 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 11284 * @param event packet 11285 * @return con_handle 11286 * @note: btstack_type H 11287 */ 11288 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 11289 return little_endian_read_16(event, 12); 11290 } 11291 /** 11292 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 11293 * @param event packet 11294 * @return incoming 11295 * @note: btstack_type 1 11296 */ 11297 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 11298 return event[14]; 11299 } 11300 11301 /** 11302 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 11303 * @param event packet 11304 * @return goep_cid 11305 * @note: btstack_type 2 11306 */ 11307 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 11308 return little_endian_read_16(event, 3); 11309 } 11310 11311 /** 11312 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 11313 * @param event packet 11314 * @return goep_cid 11315 * @note: btstack_type 2 11316 */ 11317 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 11318 return little_endian_read_16(event, 3); 11319 } 11320 /** 11321 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 11322 * @param event packet 11323 * @return status 11324 * @note: btstack_type 1 11325 */ 11326 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 11327 return event[5]; 11328 } 11329 11330 /** 11331 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11332 * @param event packet 11333 * @return goep_cid 11334 * @note: btstack_type 2 11335 */ 11336 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 11337 return little_endian_read_16(event, 3); 11338 } 11339 /** 11340 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11341 * @param event packet 11342 * @return status 11343 * @note: btstack_type 1 11344 */ 11345 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 11346 return event[5]; 11347 } 11348 /** 11349 * @brief Get field phonebook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 11350 * @param event packet 11351 * @return phonebook_size 11352 * @note: btstack_type 2 11353 */ 11354 static inline uint16_t pbap_subevent_phonebook_size_get_phonebook_size(const uint8_t * event){ 11355 return little_endian_read_16(event, 6); 11356 } 11357 11358 /** 11359 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11360 * @param event packet 11361 * @return goep_cid 11362 * @note: btstack_type 2 11363 */ 11364 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 11365 return little_endian_read_16(event, 3); 11366 } 11367 /** 11368 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11369 * @param event packet 11370 * @return user_id_required 11371 * @note: btstack_type 1 11372 */ 11373 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 11374 return event[5]; 11375 } 11376 /** 11377 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 11378 * @param event packet 11379 * @return full_access 11380 * @note: btstack_type 1 11381 */ 11382 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 11383 return event[6]; 11384 } 11385 11386 /** 11387 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 11388 * @param event packet 11389 * @return goep_cid 11390 * @note: btstack_type 2 11391 */ 11392 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 11393 return little_endian_read_16(event, 3); 11394 } 11395 /** 11396 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 11397 * @param event packet 11398 * @return name_len 11399 * @note: btstack_type J 11400 */ 11401 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 11402 return event[5]; 11403 } 11404 /** 11405 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 11406 * @param event packet 11407 * @return name 11408 * @note: btstack_type V 11409 */ 11410 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 11411 return &event[6]; 11412 } 11413 /** 11414 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 11415 * @param event packet 11416 * @return handle_len 11417 * @note: btstack_type J 11418 */ 11419 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 11420 return event[6u + event[5]]; 11421 } 11422 /** 11423 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 11424 * @param event packet 11425 * @return handle 11426 * @note: btstack_type V 11427 */ 11428 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 11429 return &event[6u + event[5] + 1u]; 11430 } 11431 11432 /** 11433 * @brief Get field goep_cid from event PBAP_SUBEVENT_RESET_MISSED_CALLS 11434 * @param event packet 11435 * @return goep_cid 11436 * @note: btstack_type 2 11437 */ 11438 static inline uint16_t pbap_subevent_reset_missed_calls_get_goep_cid(const uint8_t * event){ 11439 return little_endian_read_16(event, 3); 11440 } 11441 /** 11442 * @brief Get field phonebook from event PBAP_SUBEVENT_RESET_MISSED_CALLS 11443 * @param event packet 11444 * @return phonebook 11445 * @note: btstack_type 1 11446 */ 11447 static inline uint8_t pbap_subevent_reset_missed_calls_get_phonebook(const uint8_t * event){ 11448 return event[5]; 11449 } 11450 11451 /** 11452 * @brief Get field goep_cid from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11453 * @param event packet 11454 * @return goep_cid 11455 * @note: btstack_type 2 11456 */ 11457 static inline uint16_t pbap_subevent_query_phonebook_size_get_goep_cid(const uint8_t * event){ 11458 return little_endian_read_16(event, 3); 11459 } 11460 /** 11461 * @brief Get field vcard_selector from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11462 * @param event packet 11463 * @return vcard_selector 11464 * @note: btstack_type 4 11465 */ 11466 static inline uint32_t pbap_subevent_query_phonebook_size_get_vcard_selector(const uint8_t * event){ 11467 return little_endian_read_32(event, 5); 11468 } 11469 /** 11470 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11471 * @param event packet 11472 * @return vcard_selector_operator 11473 * @note: btstack_type 1 11474 */ 11475 static inline uint8_t pbap_subevent_query_phonebook_size_get_vcard_selector_operator(const uint8_t * event){ 11476 return event[9]; 11477 } 11478 /** 11479 * @brief Get field phonebook from event PBAP_SUBEVENT_QUERY_PHONEBOOK_SIZE 11480 * @param event packet 11481 * @return phonebook 11482 * @note: btstack_type 1 11483 */ 11484 static inline uint8_t pbap_subevent_query_phonebook_size_get_phonebook(const uint8_t * event){ 11485 return event[10]; 11486 } 11487 11488 /** 11489 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_PHONEBOOK 11490 * @param event packet 11491 * @return goep_cid 11492 * @note: btstack_type 2 11493 */ 11494 static inline uint16_t pbap_subevent_pull_phonebook_get_goep_cid(const uint8_t * event){ 11495 return little_endian_read_16(event, 3); 11496 } 11497 /** 11498 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_PHONEBOOK 11499 * @param event packet 11500 * @return continuation 11501 * @note: btstack_type 4 11502 */ 11503 static inline uint32_t pbap_subevent_pull_phonebook_get_continuation(const uint8_t * event){ 11504 return little_endian_read_32(event, 5); 11505 } 11506 /** 11507 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 11508 * @param event packet 11509 * @return property_selector 11510 * @note: btstack_type 4 11511 */ 11512 static inline uint32_t pbap_subevent_pull_phonebook_get_property_selector(const uint8_t * event){ 11513 return little_endian_read_32(event, 9); 11514 } 11515 /** 11516 * @brief Get field format from event PBAP_SUBEVENT_PULL_PHONEBOOK 11517 * @param event packet 11518 * @return format 11519 * @note: btstack_type 1 11520 */ 11521 static inline uint8_t pbap_subevent_pull_phonebook_get_format(const uint8_t * event){ 11522 return event[13]; 11523 } 11524 /** 11525 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_PHONEBOOK 11526 * @param event packet 11527 * @return max_list_count 11528 * @note: btstack_type 2 11529 */ 11530 static inline uint16_t pbap_subevent_pull_phonebook_get_max_list_count(const uint8_t * event){ 11531 return little_endian_read_16(event, 14); 11532 } 11533 /** 11534 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_PHONEBOOK 11535 * @param event packet 11536 * @return list_start_offset 11537 * @note: btstack_type 2 11538 */ 11539 static inline uint16_t pbap_subevent_pull_phonebook_get_list_start_offset(const uint8_t * event){ 11540 return little_endian_read_16(event, 16); 11541 } 11542 /** 11543 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_PHONEBOOK 11544 * @param event packet 11545 * @return vcard_selector 11546 * @note: btstack_type 4 11547 */ 11548 static inline uint32_t pbap_subevent_pull_phonebook_get_vcard_selector(const uint8_t * event){ 11549 return little_endian_read_32(event, 18); 11550 } 11551 /** 11552 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_PHONEBOOK 11553 * @param event packet 11554 * @return vcard_selector_operator 11555 * @note: btstack_type 1 11556 */ 11557 static inline uint8_t pbap_subevent_pull_phonebook_get_vcard_selector_operator(const uint8_t * event){ 11558 return event[22]; 11559 } 11560 /** 11561 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_PHONEBOOK 11562 * @param event packet 11563 * @return phonebook 11564 * @note: btstack_type 1 11565 */ 11566 static inline uint8_t pbap_subevent_pull_phonebook_get_phonebook(const uint8_t * event){ 11567 return event[23]; 11568 } 11569 11570 /** 11571 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11572 * @param event packet 11573 * @return goep_cid 11574 * @note: btstack_type 2 11575 */ 11576 static inline uint16_t pbap_subevent_pull_vcard_listing_get_goep_cid(const uint8_t * event){ 11577 return little_endian_read_16(event, 3); 11578 } 11579 /** 11580 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11581 * @param event packet 11582 * @return continuation 11583 * @note: btstack_type 4 11584 */ 11585 static inline uint32_t pbap_subevent_pull_vcard_listing_get_continuation(const uint8_t * event){ 11586 return little_endian_read_32(event, 5); 11587 } 11588 /** 11589 * @brief Get field order from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11590 * @param event packet 11591 * @return order 11592 * @note: btstack_type 1 11593 */ 11594 static inline uint8_t pbap_subevent_pull_vcard_listing_get_order(const uint8_t * event){ 11595 return event[9]; 11596 } 11597 /** 11598 * @brief Get field max_list_count from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11599 * @param event packet 11600 * @return max_list_count 11601 * @note: btstack_type 2 11602 */ 11603 static inline uint16_t pbap_subevent_pull_vcard_listing_get_max_list_count(const uint8_t * event){ 11604 return little_endian_read_16(event, 10); 11605 } 11606 /** 11607 * @brief Get field list_start_offset from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11608 * @param event packet 11609 * @return list_start_offset 11610 * @note: btstack_type 2 11611 */ 11612 static inline uint16_t pbap_subevent_pull_vcard_listing_get_list_start_offset(const uint8_t * event){ 11613 return little_endian_read_16(event, 12); 11614 } 11615 /** 11616 * @brief Get field vcard_selector from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11617 * @param event packet 11618 * @return vcard_selector 11619 * @note: btstack_type 4 11620 */ 11621 static inline uint32_t pbap_subevent_pull_vcard_listing_get_vcard_selector(const uint8_t * event){ 11622 return little_endian_read_32(event, 14); 11623 } 11624 /** 11625 * @brief Get field vcard_selector_operator from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11626 * @param event packet 11627 * @return vcard_selector_operator 11628 * @note: btstack_type 1 11629 */ 11630 static inline uint8_t pbap_subevent_pull_vcard_listing_get_vcard_selector_operator(const uint8_t * event){ 11631 return event[18]; 11632 } 11633 /** 11634 * @brief Get field search_property from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11635 * @param event packet 11636 * @return search_property 11637 * @note: btstack_type 1 11638 */ 11639 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_property(const uint8_t * event){ 11640 return event[19]; 11641 } 11642 /** 11643 * @brief Get field search_value_len from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11644 * @param event packet 11645 * @return search_value_len 11646 * @note: btstack_type J 11647 */ 11648 static inline uint8_t pbap_subevent_pull_vcard_listing_get_search_value_len(const uint8_t * event){ 11649 return event[20]; 11650 } 11651 /** 11652 * @brief Get field search_value from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11653 * @param event packet 11654 * @return search_value 11655 * @note: btstack_type V 11656 */ 11657 static inline const uint8_t * pbap_subevent_pull_vcard_listing_get_search_value(const uint8_t * event){ 11658 return &event[21]; 11659 } 11660 /** 11661 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_LISTING 11662 * @param event packet 11663 * @return phonebook 11664 * @note: btstack_type 1 11665 */ 11666 static inline uint8_t pbap_subevent_pull_vcard_listing_get_phonebook(const uint8_t * event){ 11667 return event[21u + event[20]]; 11668 } 11669 11670 /** 11671 * @brief Get field goep_cid from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 11672 * @param event packet 11673 * @return goep_cid 11674 * @note: btstack_type 2 11675 */ 11676 static inline uint16_t pbap_subevent_pull_vcard_entry_get_goep_cid(const uint8_t * event){ 11677 return little_endian_read_16(event, 3); 11678 } 11679 /** 11680 * @brief Get field continuation from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 11681 * @param event packet 11682 * @return continuation 11683 * @note: btstack_type 4 11684 */ 11685 static inline uint32_t pbap_subevent_pull_vcard_entry_get_continuation(const uint8_t * event){ 11686 return little_endian_read_32(event, 5); 11687 } 11688 /** 11689 * @brief Get field property_selector from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 11690 * @param event packet 11691 * @return property_selector 11692 * @note: btstack_type 4 11693 */ 11694 static inline uint32_t pbap_subevent_pull_vcard_entry_get_property_selector(const uint8_t * event){ 11695 return little_endian_read_32(event, 9); 11696 } 11697 /** 11698 * @brief Get field format from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 11699 * @param event packet 11700 * @return format 11701 * @note: btstack_type 1 11702 */ 11703 static inline uint8_t pbap_subevent_pull_vcard_entry_get_format(const uint8_t * event){ 11704 return event[13]; 11705 } 11706 /** 11707 * @brief Get field phonebook from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 11708 * @param event packet 11709 * @return phonebook 11710 * @note: btstack_type 1 11711 */ 11712 static inline uint8_t pbap_subevent_pull_vcard_entry_get_phonebook(const uint8_t * event){ 11713 return event[14]; 11714 } 11715 /** 11716 * @brief Get field name from event PBAP_SUBEVENT_PULL_VCARD_ENTRY 11717 * @param event packet 11718 * @return name 11719 * @note: btstack_type T 11720 */ 11721 static inline const char * pbap_subevent_pull_vcard_entry_get_name(const uint8_t * event){ 11722 return (const char *) &event[15]; 11723 } 11724 11725 /** 11726 * @brief Get field hid_cid from event HID_SUBEVENT_INCOMING_CONNECTION 11727 * @param event packet 11728 * @return hid_cid 11729 * @note: btstack_type 2 11730 */ 11731 static inline uint16_t hid_subevent_incoming_connection_get_hid_cid(const uint8_t * event){ 11732 return little_endian_read_16(event, 3); 11733 } 11734 /** 11735 * @brief Get field address from event HID_SUBEVENT_INCOMING_CONNECTION 11736 * @param event packet 11737 * @param Pointer to storage for address 11738 * @note: btstack_type B 11739 */ 11740 static inline void hid_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 11741 reverse_bytes(&event[5], address, 6); 11742 } 11743 /** 11744 * @brief Get field handle from event HID_SUBEVENT_INCOMING_CONNECTION 11745 * @param event packet 11746 * @return handle 11747 * @note: btstack_type H 11748 */ 11749 static inline hci_con_handle_t hid_subevent_incoming_connection_get_handle(const uint8_t * event){ 11750 return little_endian_read_16(event, 11); 11751 } 11752 11753 /** 11754 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 11755 * @param event packet 11756 * @return hid_cid 11757 * @note: btstack_type 2 11758 */ 11759 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 11760 return little_endian_read_16(event, 3); 11761 } 11762 /** 11763 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 11764 * @param event packet 11765 * @return status 11766 * @note: btstack_type 1 11767 */ 11768 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 11769 return event[5]; 11770 } 11771 /** 11772 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 11773 * @param event packet 11774 * @param Pointer to storage for bd_addr 11775 * @note: btstack_type B 11776 */ 11777 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 11778 reverse_bytes(&event[6], bd_addr, 6); 11779 } 11780 /** 11781 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 11782 * @param event packet 11783 * @return con_handle 11784 * @note: btstack_type H 11785 */ 11786 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 11787 return little_endian_read_16(event, 12); 11788 } 11789 /** 11790 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 11791 * @param event packet 11792 * @return incoming 11793 * @note: btstack_type 1 11794 */ 11795 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 11796 return event[14]; 11797 } 11798 11799 /** 11800 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 11801 * @param event packet 11802 * @return hid_cid 11803 * @note: btstack_type 2 11804 */ 11805 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 11806 return little_endian_read_16(event, 3); 11807 } 11808 11809 /** 11810 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 11811 * @param event packet 11812 * @return hid_cid 11813 * @note: btstack_type 2 11814 */ 11815 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 11816 return little_endian_read_16(event, 3); 11817 } 11818 11819 /** 11820 * @brief Get field hid_cid from event HID_SUBEVENT_SUSPEND 11821 * @param event packet 11822 * @return hid_cid 11823 * @note: btstack_type 2 11824 */ 11825 static inline uint16_t hid_subevent_suspend_get_hid_cid(const uint8_t * event){ 11826 return little_endian_read_16(event, 3); 11827 } 11828 11829 /** 11830 * @brief Get field hid_cid from event HID_SUBEVENT_EXIT_SUSPEND 11831 * @param event packet 11832 * @return hid_cid 11833 * @note: btstack_type 2 11834 */ 11835 static inline uint16_t hid_subevent_exit_suspend_get_hid_cid(const uint8_t * event){ 11836 return little_endian_read_16(event, 3); 11837 } 11838 11839 /** 11840 * @brief Get field hid_cid from event HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 11841 * @param event packet 11842 * @return hid_cid 11843 * @note: btstack_type 2 11844 */ 11845 static inline uint16_t hid_subevent_virtual_cable_unplug_get_hid_cid(const uint8_t * event){ 11846 return little_endian_read_16(event, 3); 11847 } 11848 11849 /** 11850 * @brief Get field hid_cid from event HID_SUBEVENT_GET_REPORT_RESPONSE 11851 * @param event packet 11852 * @return hid_cid 11853 * @note: btstack_type 2 11854 */ 11855 static inline uint16_t hid_subevent_get_report_response_get_hid_cid(const uint8_t * event){ 11856 return little_endian_read_16(event, 3); 11857 } 11858 /** 11859 * @brief Get field handshake_status from event HID_SUBEVENT_GET_REPORT_RESPONSE 11860 * @param event packet 11861 * @return handshake_status 11862 * @note: btstack_type 1 11863 */ 11864 static inline uint8_t hid_subevent_get_report_response_get_handshake_status(const uint8_t * event){ 11865 return event[5]; 11866 } 11867 /** 11868 * @brief Get field report_len from event HID_SUBEVENT_GET_REPORT_RESPONSE 11869 * @param event packet 11870 * @return report_len 11871 * @note: btstack_type L 11872 */ 11873 static inline uint16_t hid_subevent_get_report_response_get_report_len(const uint8_t * event){ 11874 return little_endian_read_16(event, 6); 11875 } 11876 /** 11877 * @brief Get field report from event HID_SUBEVENT_GET_REPORT_RESPONSE 11878 * @param event packet 11879 * @return report 11880 * @note: btstack_type V 11881 */ 11882 static inline const uint8_t * hid_subevent_get_report_response_get_report(const uint8_t * event){ 11883 return &event[8]; 11884 } 11885 11886 /** 11887 * @brief Get field hid_cid from event HID_SUBEVENT_SET_REPORT_RESPONSE 11888 * @param event packet 11889 * @return hid_cid 11890 * @note: btstack_type 2 11891 */ 11892 static inline uint16_t hid_subevent_set_report_response_get_hid_cid(const uint8_t * event){ 11893 return little_endian_read_16(event, 3); 11894 } 11895 /** 11896 * @brief Get field handshake_status from event HID_SUBEVENT_SET_REPORT_RESPONSE 11897 * @param event packet 11898 * @return handshake_status 11899 * @note: btstack_type 1 11900 */ 11901 static inline uint8_t hid_subevent_set_report_response_get_handshake_status(const uint8_t * event){ 11902 return event[5]; 11903 } 11904 11905 /** 11906 * @brief Get field hid_cid from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 11907 * @param event packet 11908 * @return hid_cid 11909 * @note: btstack_type 2 11910 */ 11911 static inline uint16_t hid_subevent_get_protocol_response_get_hid_cid(const uint8_t * event){ 11912 return little_endian_read_16(event, 3); 11913 } 11914 /** 11915 * @brief Get field handshake_status from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 11916 * @param event packet 11917 * @return handshake_status 11918 * @note: btstack_type 1 11919 */ 11920 static inline uint8_t hid_subevent_get_protocol_response_get_handshake_status(const uint8_t * event){ 11921 return event[5]; 11922 } 11923 /** 11924 * @brief Get field protocol_mode from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 11925 * @param event packet 11926 * @return protocol_mode 11927 * @note: btstack_type 1 11928 */ 11929 static inline uint8_t hid_subevent_get_protocol_response_get_protocol_mode(const uint8_t * event){ 11930 return event[6]; 11931 } 11932 11933 /** 11934 * @brief Get field hid_cid from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 11935 * @param event packet 11936 * @return hid_cid 11937 * @note: btstack_type 2 11938 */ 11939 static inline uint16_t hid_subevent_set_protocol_response_get_hid_cid(const uint8_t * event){ 11940 return little_endian_read_16(event, 3); 11941 } 11942 /** 11943 * @brief Get field handshake_status from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 11944 * @param event packet 11945 * @return handshake_status 11946 * @note: btstack_type 1 11947 */ 11948 static inline uint8_t hid_subevent_set_protocol_response_get_handshake_status(const uint8_t * event){ 11949 return event[5]; 11950 } 11951 /** 11952 * @brief Get field protocol_mode from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 11953 * @param event packet 11954 * @return protocol_mode 11955 * @note: btstack_type 1 11956 */ 11957 static inline uint8_t hid_subevent_set_protocol_response_get_protocol_mode(const uint8_t * event){ 11958 return event[6]; 11959 } 11960 11961 /** 11962 * @brief Get field hid_cid from event HID_SUBEVENT_REPORT 11963 * @param event packet 11964 * @return hid_cid 11965 * @note: btstack_type 2 11966 */ 11967 static inline uint16_t hid_subevent_report_get_hid_cid(const uint8_t * event){ 11968 return little_endian_read_16(event, 3); 11969 } 11970 /** 11971 * @brief Get field report_len from event HID_SUBEVENT_REPORT 11972 * @param event packet 11973 * @return report_len 11974 * @note: btstack_type L 11975 */ 11976 static inline uint16_t hid_subevent_report_get_report_len(const uint8_t * event){ 11977 return little_endian_read_16(event, 5); 11978 } 11979 /** 11980 * @brief Get field report from event HID_SUBEVENT_REPORT 11981 * @param event packet 11982 * @return report 11983 * @note: btstack_type V 11984 */ 11985 static inline const uint8_t * hid_subevent_report_get_report(const uint8_t * event){ 11986 return &event[7]; 11987 } 11988 11989 /** 11990 * @brief Get field hid_cid from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 11991 * @param event packet 11992 * @return hid_cid 11993 * @note: btstack_type 2 11994 */ 11995 static inline uint16_t hid_subevent_descriptor_available_get_hid_cid(const uint8_t * event){ 11996 return little_endian_read_16(event, 3); 11997 } 11998 /** 11999 * @brief Get field status from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 12000 * @param event packet 12001 * @return status 12002 * @note: btstack_type 1 12003 */ 12004 static inline uint8_t hid_subevent_descriptor_available_get_status(const uint8_t * event){ 12005 return event[5]; 12006 } 12007 12008 /** 12009 * @brief Get field hid_cid from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12010 * @param event packet 12011 * @return hid_cid 12012 * @note: btstack_type 2 12013 */ 12014 static inline uint16_t hid_subevent_sniff_subrating_params_get_hid_cid(const uint8_t * event){ 12015 return little_endian_read_16(event, 3); 12016 } 12017 /** 12018 * @brief Get field host_max_latency from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12019 * @param event packet 12020 * @return host_max_latency 12021 * @note: btstack_type 2 12022 */ 12023 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_max_latency(const uint8_t * event){ 12024 return little_endian_read_16(event, 5); 12025 } 12026 /** 12027 * @brief Get field host_min_timeout from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 12028 * @param event packet 12029 * @return host_min_timeout 12030 * @note: btstack_type 2 12031 */ 12032 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_min_timeout(const uint8_t * event){ 12033 return little_endian_read_16(event, 7); 12034 } 12035 12036 /** 12037 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 12038 * @param event packet 12039 * @return con_handle 12040 * @note: btstack_type 2 12041 */ 12042 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 12043 return little_endian_read_16(event, 3); 12044 } 12045 12046 /** 12047 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 12048 * @param event packet 12049 * @return con_handle 12050 * @note: btstack_type 2 12051 */ 12052 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 12053 return little_endian_read_16(event, 3); 12054 } 12055 /** 12056 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 12057 * @param event packet 12058 * @return protocol_mode 12059 * @note: btstack_type 1 12060 */ 12061 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 12062 return event[5]; 12063 } 12064 12065 /** 12066 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12067 * @param event packet 12068 * @return con_handle 12069 * @note: btstack_type 2 12070 */ 12071 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 12072 return little_endian_read_16(event, 3); 12073 } 12074 /** 12075 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 12076 * @param event packet 12077 * @return enable 12078 * @note: btstack_type 1 12079 */ 12080 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 12081 return event[5]; 12082 } 12083 12084 /** 12085 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12086 * @param event packet 12087 * @return con_handle 12088 * @note: btstack_type 2 12089 */ 12090 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 12091 return little_endian_read_16(event, 3); 12092 } 12093 /** 12094 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 12095 * @param event packet 12096 * @return enable 12097 * @note: btstack_type 1 12098 */ 12099 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 12100 return event[5]; 12101 } 12102 12103 /** 12104 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12105 * @param event packet 12106 * @return con_handle 12107 * @note: btstack_type 2 12108 */ 12109 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 12110 return little_endian_read_16(event, 3); 12111 } 12112 /** 12113 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 12114 * @param event packet 12115 * @return enable 12116 * @note: btstack_type 1 12117 */ 12118 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 12119 return event[5]; 12120 } 12121 12122 /** 12123 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12124 * @param event packet 12125 * @return con_handle 12126 * @note: btstack_type 2 12127 */ 12128 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 12129 return little_endian_read_16(event, 3); 12130 } 12131 /** 12132 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 12133 * @param event packet 12134 * @return enable 12135 * @note: btstack_type 1 12136 */ 12137 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 12138 return event[5]; 12139 } 12140 12141 /** 12142 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12143 * @param event packet 12144 * @return con_handle 12145 * @note: btstack_type 2 12146 */ 12147 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 12148 return little_endian_read_16(event, 3); 12149 } 12150 /** 12151 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 12152 * @param event packet 12153 * @return enable 12154 * @note: btstack_type 1 12155 */ 12156 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 12157 return event[5]; 12158 } 12159 12160 /** 12161 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 12162 * @param event packet 12163 * @return con_handle 12164 * @note: btstack_type 2 12165 */ 12166 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 12167 return little_endian_read_16(event, 3); 12168 } 12169 12170 /** 12171 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 12172 * @param event packet 12173 * @return con_handle 12174 * @note: btstack_type 2 12175 */ 12176 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 12177 return little_endian_read_16(event, 3); 12178 } 12179 12180 /** 12181 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12182 * @param event packet 12183 * @return con_handle 12184 * @note: btstack_type 2 12185 */ 12186 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 12187 return little_endian_read_16(event, 3); 12188 } 12189 /** 12190 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12191 * @param event packet 12192 * @return measurement_type 12193 * @note: btstack_type 1 12194 */ 12195 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 12196 return event[5]; 12197 } 12198 /** 12199 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 12200 * @param event packet 12201 * @return is_enhanced 12202 * @note: btstack_type 1 12203 */ 12204 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 12205 return event[6]; 12206 } 12207 12208 /** 12209 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 12210 * @param event packet 12211 * @return con_handle 12212 * @note: btstack_type 2 12213 */ 12214 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 12215 return little_endian_read_16(event, 3); 12216 } 12217 12218 /** 12219 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 12220 * @param event packet 12221 * @return con_handle 12222 * @note: btstack_type 2 12223 */ 12224 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 12225 return little_endian_read_16(event, 3); 12226 } 12227 12228 /** 12229 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12230 * @param event packet 12231 * @return hids_cid 12232 * @note: btstack_type 2 12233 */ 12234 static inline uint16_t gattservice_subevent_battery_service_connected_get_hids_cid(const uint8_t * event){ 12235 return little_endian_read_16(event, 3); 12236 } 12237 /** 12238 * @brief Get field status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12239 * @param event packet 12240 * @return status 12241 * @note: btstack_type 1 12242 */ 12243 static inline uint8_t gattservice_subevent_battery_service_connected_get_status(const uint8_t * event){ 12244 return event[5]; 12245 } 12246 /** 12247 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12248 * @param event packet 12249 * @return num_instances 12250 * @note: btstack_type 1 12251 */ 12252 static inline uint8_t gattservice_subevent_battery_service_connected_get_num_instances(const uint8_t * event){ 12253 return event[6]; 12254 } 12255 /** 12256 * @brief Get field poll_bitmap from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 12257 * @param event packet 12258 * @return poll_bitmap 12259 * @note: btstack_type 1 12260 */ 12261 static inline uint8_t gattservice_subevent_battery_service_connected_get_poll_bitmap(const uint8_t * event){ 12262 return event[7]; 12263 } 12264 12265 /** 12266 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12267 * @param event packet 12268 * @return hids_cid 12269 * @note: btstack_type 2 12270 */ 12271 static inline uint16_t gattservice_subevent_battery_service_level_get_hids_cid(const uint8_t * event){ 12272 return little_endian_read_16(event, 3); 12273 } 12274 /** 12275 * @brief Get field sevice_index from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12276 * @param event packet 12277 * @return sevice_index 12278 * @note: btstack_type 1 12279 */ 12280 static inline uint8_t gattservice_subevent_battery_service_level_get_sevice_index(const uint8_t * event){ 12281 return event[5]; 12282 } 12283 /** 12284 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12285 * @param event packet 12286 * @return att_status 12287 * @note: btstack_type 1 12288 */ 12289 static inline uint8_t gattservice_subevent_battery_service_level_get_att_status(const uint8_t * event){ 12290 return event[6]; 12291 } 12292 /** 12293 * @brief Get field level from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 12294 * @param event packet 12295 * @return level 12296 * @note: btstack_type 1 12297 */ 12298 static inline uint8_t gattservice_subevent_battery_service_level_get_level(const uint8_t * event){ 12299 return event[7]; 12300 } 12301 12302 /** 12303 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 12304 * @param event packet 12305 * @return con_handle 12306 * @note: btstack_type H 12307 */ 12308 static inline hci_con_handle_t gattservice_subevent_device_information_done_get_con_handle(const uint8_t * event){ 12309 return little_endian_read_16(event, 3); 12310 } 12311 /** 12312 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 12313 * @param event packet 12314 * @return att_status 12315 * @note: btstack_type 1 12316 */ 12317 static inline uint8_t gattservice_subevent_device_information_done_get_att_status(const uint8_t * event){ 12318 return event[5]; 12319 } 12320 12321 /** 12322 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 12323 * @param event packet 12324 * @return con_handle 12325 * @note: btstack_type H 12326 */ 12327 static inline hci_con_handle_t gattservice_subevent_device_information_manufacturer_name_get_con_handle(const uint8_t * event){ 12328 return little_endian_read_16(event, 3); 12329 } 12330 /** 12331 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 12332 * @param event packet 12333 * @return att_status 12334 * @note: btstack_type 1 12335 */ 12336 static inline uint8_t gattservice_subevent_device_information_manufacturer_name_get_att_status(const uint8_t * event){ 12337 return event[5]; 12338 } 12339 /** 12340 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 12341 * @param event packet 12342 * @return value 12343 * @note: btstack_type T 12344 */ 12345 static inline const char * gattservice_subevent_device_information_manufacturer_name_get_value(const uint8_t * event){ 12346 return (const char *) &event[6]; 12347 } 12348 12349 /** 12350 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 12351 * @param event packet 12352 * @return con_handle 12353 * @note: btstack_type H 12354 */ 12355 static inline hci_con_handle_t gattservice_subevent_device_information_model_number_get_con_handle(const uint8_t * event){ 12356 return little_endian_read_16(event, 3); 12357 } 12358 /** 12359 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 12360 * @param event packet 12361 * @return att_status 12362 * @note: btstack_type 1 12363 */ 12364 static inline uint8_t gattservice_subevent_device_information_model_number_get_att_status(const uint8_t * event){ 12365 return event[5]; 12366 } 12367 /** 12368 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 12369 * @param event packet 12370 * @return value 12371 * @note: btstack_type T 12372 */ 12373 static inline const char * gattservice_subevent_device_information_model_number_get_value(const uint8_t * event){ 12374 return (const char *) &event[6]; 12375 } 12376 12377 /** 12378 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 12379 * @param event packet 12380 * @return con_handle 12381 * @note: btstack_type H 12382 */ 12383 static inline hci_con_handle_t gattservice_subevent_device_information_serial_number_get_con_handle(const uint8_t * event){ 12384 return little_endian_read_16(event, 3); 12385 } 12386 /** 12387 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 12388 * @param event packet 12389 * @return att_status 12390 * @note: btstack_type 1 12391 */ 12392 static inline uint8_t gattservice_subevent_device_information_serial_number_get_att_status(const uint8_t * event){ 12393 return event[5]; 12394 } 12395 /** 12396 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 12397 * @param event packet 12398 * @return value 12399 * @note: btstack_type T 12400 */ 12401 static inline const char * gattservice_subevent_device_information_serial_number_get_value(const uint8_t * event){ 12402 return (const char *) &event[6]; 12403 } 12404 12405 /** 12406 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 12407 * @param event packet 12408 * @return con_handle 12409 * @note: btstack_type H 12410 */ 12411 static inline hci_con_handle_t gattservice_subevent_device_information_hardware_revision_get_con_handle(const uint8_t * event){ 12412 return little_endian_read_16(event, 3); 12413 } 12414 /** 12415 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 12416 * @param event packet 12417 * @return att_status 12418 * @note: btstack_type 1 12419 */ 12420 static inline uint8_t gattservice_subevent_device_information_hardware_revision_get_att_status(const uint8_t * event){ 12421 return event[5]; 12422 } 12423 /** 12424 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 12425 * @param event packet 12426 * @return value 12427 * @note: btstack_type T 12428 */ 12429 static inline const char * gattservice_subevent_device_information_hardware_revision_get_value(const uint8_t * event){ 12430 return (const char *) &event[6]; 12431 } 12432 12433 /** 12434 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 12435 * @param event packet 12436 * @return con_handle 12437 * @note: btstack_type H 12438 */ 12439 static inline hci_con_handle_t gattservice_subevent_device_information_firmware_revision_get_con_handle(const uint8_t * event){ 12440 return little_endian_read_16(event, 3); 12441 } 12442 /** 12443 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 12444 * @param event packet 12445 * @return att_status 12446 * @note: btstack_type 1 12447 */ 12448 static inline uint8_t gattservice_subevent_device_information_firmware_revision_get_att_status(const uint8_t * event){ 12449 return event[5]; 12450 } 12451 /** 12452 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 12453 * @param event packet 12454 * @return value 12455 * @note: btstack_type T 12456 */ 12457 static inline const char * gattservice_subevent_device_information_firmware_revision_get_value(const uint8_t * event){ 12458 return (const char *) &event[6]; 12459 } 12460 12461 /** 12462 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 12463 * @param event packet 12464 * @return con_handle 12465 * @note: btstack_type H 12466 */ 12467 static inline hci_con_handle_t gattservice_subevent_device_information_software_revision_get_con_handle(const uint8_t * event){ 12468 return little_endian_read_16(event, 3); 12469 } 12470 /** 12471 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 12472 * @param event packet 12473 * @return att_status 12474 * @note: btstack_type 1 12475 */ 12476 static inline uint8_t gattservice_subevent_device_information_software_revision_get_att_status(const uint8_t * event){ 12477 return event[5]; 12478 } 12479 /** 12480 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 12481 * @param event packet 12482 * @return value 12483 * @note: btstack_type T 12484 */ 12485 static inline const char * gattservice_subevent_device_information_software_revision_get_value(const uint8_t * event){ 12486 return (const char *) &event[6]; 12487 } 12488 12489 /** 12490 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 12491 * @param event packet 12492 * @return con_handle 12493 * @note: btstack_type H 12494 */ 12495 static inline hci_con_handle_t gattservice_subevent_device_information_system_id_get_con_handle(const uint8_t * event){ 12496 return little_endian_read_16(event, 3); 12497 } 12498 /** 12499 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 12500 * @param event packet 12501 * @return att_status 12502 * @note: btstack_type 1 12503 */ 12504 static inline uint8_t gattservice_subevent_device_information_system_id_get_att_status(const uint8_t * event){ 12505 return event[5]; 12506 } 12507 /** 12508 * @brief Get field manufacturer_id_low from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 12509 * @param event packet 12510 * @return manufacturer_id_low 12511 * @note: btstack_type 4 12512 */ 12513 static inline uint32_t gattservice_subevent_device_information_system_id_get_manufacturer_id_low(const uint8_t * event){ 12514 return little_endian_read_32(event, 6); 12515 } 12516 /** 12517 * @brief Get field manufacturer_id_high from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 12518 * @param event packet 12519 * @return manufacturer_id_high 12520 * @note: btstack_type 1 12521 */ 12522 static inline uint8_t gattservice_subevent_device_information_system_id_get_manufacturer_id_high(const uint8_t * event){ 12523 return event[10]; 12524 } 12525 /** 12526 * @brief Get field organizationally_unique_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 12527 * @param event packet 12528 * @return organizationally_unique_id 12529 * @note: btstack_type 3 12530 */ 12531 static inline uint32_t gattservice_subevent_device_information_system_id_get_organizationally_unique_id(const uint8_t * event){ 12532 return little_endian_read_24(event, 11); 12533 } 12534 12535 /** 12536 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 12537 * @param event packet 12538 * @return con_handle 12539 * @note: btstack_type H 12540 */ 12541 static inline hci_con_handle_t gattservice_subevent_device_information_ieee_regulatory_certification_get_con_handle(const uint8_t * event){ 12542 return little_endian_read_16(event, 3); 12543 } 12544 /** 12545 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 12546 * @param event packet 12547 * @return att_status 12548 * @note: btstack_type 1 12549 */ 12550 static inline uint8_t gattservice_subevent_device_information_ieee_regulatory_certification_get_att_status(const uint8_t * event){ 12551 return event[5]; 12552 } 12553 /** 12554 * @brief Get field value_a from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 12555 * @param event packet 12556 * @return value_a 12557 * @note: btstack_type 2 12558 */ 12559 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_a(const uint8_t * event){ 12560 return little_endian_read_16(event, 6); 12561 } 12562 /** 12563 * @brief Get field value_b from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 12564 * @param event packet 12565 * @return value_b 12566 * @note: btstack_type 2 12567 */ 12568 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_b(const uint8_t * event){ 12569 return little_endian_read_16(event, 8); 12570 } 12571 12572 /** 12573 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 12574 * @param event packet 12575 * @return con_handle 12576 * @note: btstack_type H 12577 */ 12578 static inline hci_con_handle_t gattservice_subevent_device_information_pnp_id_get_con_handle(const uint8_t * event){ 12579 return little_endian_read_16(event, 3); 12580 } 12581 /** 12582 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 12583 * @param event packet 12584 * @return att_status 12585 * @note: btstack_type 1 12586 */ 12587 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_att_status(const uint8_t * event){ 12588 return event[5]; 12589 } 12590 /** 12591 * @brief Get field vendor_source_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 12592 * @param event packet 12593 * @return vendor_source_id 12594 * @note: btstack_type 1 12595 */ 12596 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_vendor_source_id(const uint8_t * event){ 12597 return event[6]; 12598 } 12599 /** 12600 * @brief Get field vendor_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 12601 * @param event packet 12602 * @return vendor_id 12603 * @note: btstack_type 2 12604 */ 12605 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_vendor_id(const uint8_t * event){ 12606 return little_endian_read_16(event, 7); 12607 } 12608 /** 12609 * @brief Get field product_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 12610 * @param event packet 12611 * @return product_id 12612 * @note: btstack_type 2 12613 */ 12614 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_id(const uint8_t * event){ 12615 return little_endian_read_16(event, 9); 12616 } 12617 /** 12618 * @brief Get field product_version from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 12619 * @param event packet 12620 * @return product_version 12621 * @note: btstack_type 2 12622 */ 12623 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_version(const uint8_t * event){ 12624 return little_endian_read_16(event, 11); 12625 } 12626 12627 /** 12628 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 12629 * @param event packet 12630 * @return con_handle 12631 * @note: btstack_type H 12632 */ 12633 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_connected_get_con_handle(const uint8_t * event){ 12634 return little_endian_read_16(event, 3); 12635 } 12636 /** 12637 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 12638 * @param event packet 12639 * @return att_status 12640 * @note: btstack_type 1 12641 */ 12642 static inline uint8_t gattservice_subevent_scan_parameters_service_connected_get_att_status(const uint8_t * event){ 12643 return event[5]; 12644 } 12645 12646 /** 12647 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 12648 * @param event packet 12649 * @return con_handle 12650 * @note: btstack_type H 12651 */ 12652 static inline hci_con_handle_t gattservice_subevent_spp_service_connected_get_con_handle(const uint8_t * event){ 12653 return little_endian_read_16(event, 3); 12654 } 12655 12656 /** 12657 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 12658 * @param event packet 12659 * @return con_handle 12660 * @note: btstack_type H 12661 */ 12662 static inline hci_con_handle_t gattservice_subevent_spp_service_disconnected_get_con_handle(const uint8_t * event){ 12663 return little_endian_read_16(event, 3); 12664 } 12665 12666 /** 12667 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 12668 * @param event packet 12669 * @return hids_cid 12670 * @note: btstack_type 2 12671 */ 12672 static inline uint16_t gattservice_subevent_hid_service_connected_get_hids_cid(const uint8_t * event){ 12673 return little_endian_read_16(event, 3); 12674 } 12675 /** 12676 * @brief Get field status from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 12677 * @param event packet 12678 * @return status 12679 * @note: btstack_type 1 12680 */ 12681 static inline uint8_t gattservice_subevent_hid_service_connected_get_status(const uint8_t * event){ 12682 return event[5]; 12683 } 12684 /** 12685 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 12686 * @param event packet 12687 * @return protocol_mode 12688 * @note: btstack_type 1 12689 */ 12690 static inline uint8_t gattservice_subevent_hid_service_connected_get_protocol_mode(const uint8_t * event){ 12691 return event[6]; 12692 } 12693 /** 12694 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 12695 * @param event packet 12696 * @return num_instances 12697 * @note: btstack_type 1 12698 */ 12699 static inline uint8_t gattservice_subevent_hid_service_connected_get_num_instances(const uint8_t * event){ 12700 return event[7]; 12701 } 12702 12703 /** 12704 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT 12705 * @param event packet 12706 * @return hids_cid 12707 * @note: btstack_type 2 12708 */ 12709 static inline uint16_t gattservice_subevent_hid_report_get_hids_cid(const uint8_t * event){ 12710 return little_endian_read_16(event, 3); 12711 } 12712 /** 12713 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT 12714 * @param event packet 12715 * @return service_index 12716 * @note: btstack_type 1 12717 */ 12718 static inline uint8_t gattservice_subevent_hid_report_get_service_index(const uint8_t * event){ 12719 return event[5]; 12720 } 12721 /** 12722 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT 12723 * @param event packet 12724 * @return report_id 12725 * @note: btstack_type 1 12726 */ 12727 static inline uint8_t gattservice_subevent_hid_report_get_report_id(const uint8_t * event){ 12728 return event[6]; 12729 } 12730 /** 12731 * @brief Get field report_len from event GATTSERVICE_SUBEVENT_HID_REPORT 12732 * @param event packet 12733 * @return report_len 12734 * @note: btstack_type L 12735 */ 12736 static inline uint16_t gattservice_subevent_hid_report_get_report_len(const uint8_t * event){ 12737 return little_endian_read_16(event, 7); 12738 } 12739 /** 12740 * @brief Get field report from event GATTSERVICE_SUBEVENT_HID_REPORT 12741 * @param event packet 12742 * @return report 12743 * @note: btstack_type V 12744 */ 12745 static inline const uint8_t * gattservice_subevent_hid_report_get_report(const uint8_t * event){ 12746 return &event[9]; 12747 } 12748 12749 /** 12750 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_INFORMATION 12751 * @param event packet 12752 * @return hids_cid 12753 * @note: btstack_type 2 12754 */ 12755 static inline uint16_t gattservice_subevent_hid_information_get_hids_cid(const uint8_t * event){ 12756 return little_endian_read_16(event, 3); 12757 } 12758 /** 12759 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_INFORMATION 12760 * @param event packet 12761 * @return service_index 12762 * @note: btstack_type 1 12763 */ 12764 static inline uint8_t gattservice_subevent_hid_information_get_service_index(const uint8_t * event){ 12765 return event[5]; 12766 } 12767 /** 12768 * @brief Get field base_usb_hid_version from event GATTSERVICE_SUBEVENT_HID_INFORMATION 12769 * @param event packet 12770 * @return base_usb_hid_version 12771 * @note: btstack_type 2 12772 */ 12773 static inline uint16_t gattservice_subevent_hid_information_get_base_usb_hid_version(const uint8_t * event){ 12774 return little_endian_read_16(event, 6); 12775 } 12776 /** 12777 * @brief Get field country_code from event GATTSERVICE_SUBEVENT_HID_INFORMATION 12778 * @param event packet 12779 * @return country_code 12780 * @note: btstack_type 1 12781 */ 12782 static inline uint8_t gattservice_subevent_hid_information_get_country_code(const uint8_t * event){ 12783 return event[8]; 12784 } 12785 /** 12786 * @brief Get field remote_wake from event GATTSERVICE_SUBEVENT_HID_INFORMATION 12787 * @param event packet 12788 * @return remote_wake 12789 * @note: btstack_type 1 12790 */ 12791 static inline uint8_t gattservice_subevent_hid_information_get_remote_wake(const uint8_t * event){ 12792 return event[9]; 12793 } 12794 /** 12795 * @brief Get field normally_connectable from event GATTSERVICE_SUBEVENT_HID_INFORMATION 12796 * @param event packet 12797 * @return normally_connectable 12798 * @note: btstack_type 1 12799 */ 12800 static inline uint8_t gattservice_subevent_hid_information_get_normally_connectable(const uint8_t * event){ 12801 return event[10]; 12802 } 12803 12804 /** 12805 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 12806 * @param event packet 12807 * @return hids_cid 12808 * @note: btstack_type 2 12809 */ 12810 static inline uint16_t gattservice_subevent_hid_protocol_mode_get_hids_cid(const uint8_t * event){ 12811 return little_endian_read_16(event, 3); 12812 } 12813 /** 12814 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 12815 * @param event packet 12816 * @return service_index 12817 * @note: btstack_type 1 12818 */ 12819 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_service_index(const uint8_t * event){ 12820 return event[5]; 12821 } 12822 /** 12823 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 12824 * @param event packet 12825 * @return protocol_mode 12826 * @note: btstack_type 1 12827 */ 12828 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_protocol_mode(const uint8_t * event){ 12829 return event[6]; 12830 } 12831 12832 /** 12833 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 12834 * @param event packet 12835 * @return hids_cid 12836 * @note: btstack_type 2 12837 */ 12838 static inline uint16_t gattservice_subevent_hid_service_reports_notification_get_hids_cid(const uint8_t * event){ 12839 return little_endian_read_16(event, 3); 12840 } 12841 /** 12842 * @brief Get field configuration from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 12843 * @param event packet 12844 * @return configuration 12845 * @note: btstack_type 1 12846 */ 12847 static inline uint8_t gattservice_subevent_hid_service_reports_notification_get_configuration(const uint8_t * event){ 12848 return event[5]; 12849 } 12850 12851 /** 12852 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 12853 * @param event packet 12854 * @return con_handle 12855 * @note: btstack_type H 12856 */ 12857 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_con_handle(const uint8_t * event){ 12858 return little_endian_read_16(event, 3); 12859 } 12860 /** 12861 * @brief Get field max_scan_interval from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 12862 * @param event packet 12863 * @return max_scan_interval 12864 * @note: btstack_type 2 12865 */ 12866 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_max_scan_interval(const uint8_t * event){ 12867 return little_endian_read_16(event, 5); 12868 } 12869 /** 12870 * @brief Get field min_scan_window from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 12871 * @param event packet 12872 * @return min_scan_window 12873 * @note: btstack_type 2 12874 */ 12875 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_min_scan_window(const uint8_t * event){ 12876 return little_endian_read_16(event, 7); 12877 } 12878 12879 /** 12880 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SCAN_STOPPED 12881 * @param event packet 12882 * @return con_handle 12883 * @note: btstack_type H 12884 */ 12885 static inline hci_con_handle_t gattservice_subevent_bass_server_scan_stopped_get_con_handle(const uint8_t * event){ 12886 return little_endian_read_16(event, 3); 12887 } 12888 12889 /** 12890 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SCAN_STARTED 12891 * @param event packet 12892 * @return con_handle 12893 * @note: btstack_type H 12894 */ 12895 static inline hci_con_handle_t gattservice_subevent_bass_server_scan_started_get_con_handle(const uint8_t * event){ 12896 return little_endian_read_16(event, 3); 12897 } 12898 12899 /** 12900 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_BROADCAST_CODE 12901 * @param event packet 12902 * @return con_handle 12903 * @note: btstack_type H 12904 */ 12905 static inline hci_con_handle_t gattservice_subevent_bass_server_broadcast_code_get_con_handle(const uint8_t * event){ 12906 return little_endian_read_16(event, 3); 12907 } 12908 /** 12909 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SERVER_BROADCAST_CODE 12910 * @param event packet 12911 * @return source_id 12912 * @note: btstack_type 1 12913 */ 12914 static inline uint8_t gattservice_subevent_bass_server_broadcast_code_get_source_id(const uint8_t * event){ 12915 return event[5]; 12916 } 12917 /** 12918 * @brief Get field broadcast_code from event GATTSERVICE_SUBEVENT_BASS_SERVER_BROADCAST_CODE 12919 * @param event packet 12920 * @param Pointer to storage for broadcast_code 12921 * @note: btstack_type K 12922 */ 12923 static inline void gattservice_subevent_bass_server_broadcast_code_get_broadcast_code(const uint8_t * event, uint8_t * broadcast_code){ 12924 reverse_bytes(&event[6], broadcast_code, 16); 12925 } 12926 12927 /** 12928 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_ADDED 12929 * @param event packet 12930 * @return con_handle 12931 * @note: btstack_type H 12932 */ 12933 static inline hci_con_handle_t gattservice_subevent_bass_server_source_added_get_con_handle(const uint8_t * event){ 12934 return little_endian_read_16(event, 3); 12935 } 12936 /** 12937 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_ADDED 12938 * @param event packet 12939 * @return source_id 12940 * @note: btstack_type 1 12941 */ 12942 static inline uint8_t gattservice_subevent_bass_server_source_added_get_source_id(const uint8_t * event){ 12943 return event[5]; 12944 } 12945 /** 12946 * @brief Get field pa_sync from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_ADDED 12947 * @param event packet 12948 * @return pa_sync 12949 * @note: btstack_type 1 12950 */ 12951 static inline uint8_t gattservice_subevent_bass_server_source_added_get_pa_sync(const uint8_t * event){ 12952 return event[6]; 12953 } 12954 12955 /** 12956 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 12957 * @param event packet 12958 * @return con_handle 12959 * @note: btstack_type H 12960 */ 12961 static inline hci_con_handle_t gattservice_subevent_bass_server_source_modified_get_con_handle(const uint8_t * event){ 12962 return little_endian_read_16(event, 3); 12963 } 12964 /** 12965 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 12966 * @param event packet 12967 * @return source_id 12968 * @note: btstack_type 1 12969 */ 12970 static inline uint8_t gattservice_subevent_bass_server_source_modified_get_source_id(const uint8_t * event){ 12971 return event[5]; 12972 } 12973 /** 12974 * @brief Get field pa_sync from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_MODIFIED 12975 * @param event packet 12976 * @return pa_sync 12977 * @note: btstack_type 1 12978 */ 12979 static inline uint8_t gattservice_subevent_bass_server_source_modified_get_pa_sync(const uint8_t * event){ 12980 return event[6]; 12981 } 12982 12983 /** 12984 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_DELETED 12985 * @param event packet 12986 * @return con_handle 12987 * @note: btstack_type H 12988 */ 12989 static inline hci_con_handle_t gattservice_subevent_bass_server_source_deleted_get_con_handle(const uint8_t * event){ 12990 return little_endian_read_16(event, 3); 12991 } 12992 /** 12993 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_DELETED 12994 * @param event packet 12995 * @return source_id 12996 * @note: btstack_type 1 12997 */ 12998 static inline uint8_t gattservice_subevent_bass_server_source_deleted_get_source_id(const uint8_t * event){ 12999 return event[5]; 13000 } 13001 /** 13002 * @brief Get field pa_sync from event GATTSERVICE_SUBEVENT_BASS_SERVER_SOURCE_DELETED 13003 * @param event packet 13004 * @return pa_sync 13005 * @note: btstack_type 1 13006 */ 13007 static inline uint8_t gattservice_subevent_bass_server_source_deleted_get_pa_sync(const uint8_t * event){ 13008 return event[6]; 13009 } 13010 13011 /** 13012 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED 13013 * @param event packet 13014 * @return con_handle 13015 * @note: btstack_type H 13016 */ 13017 static inline hci_con_handle_t gattservice_subevent_bass_client_connected_get_con_handle(const uint8_t * event){ 13018 return little_endian_read_16(event, 3); 13019 } 13020 /** 13021 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED 13022 * @param event packet 13023 * @return bass_cid 13024 * @note: btstack_type 2 13025 */ 13026 static inline uint16_t gattservice_subevent_bass_client_connected_get_bass_cid(const uint8_t * event){ 13027 return little_endian_read_16(event, 5); 13028 } 13029 /** 13030 * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CLIENT_CONNECTED 13031 * @param event packet 13032 * @return status 13033 * @note: btstack_type 1 13034 */ 13035 static inline uint8_t gattservice_subevent_bass_client_connected_get_status(const uint8_t * event){ 13036 return event[7]; 13037 } 13038 13039 /** 13040 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_DISCONNECTED 13041 * @param event packet 13042 * @return bass_cid 13043 * @note: btstack_type 2 13044 */ 13045 static inline uint16_t gattservice_subevent_bass_client_disconnected_get_bass_cid(const uint8_t * event){ 13046 return little_endian_read_16(event, 3); 13047 } 13048 13049 /** 13050 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13051 * @param event packet 13052 * @return bass_cid 13053 * @note: btstack_type 2 13054 */ 13055 static inline uint16_t gattservice_subevent_bass_client_scan_operation_complete_get_bass_cid(const uint8_t * event){ 13056 return little_endian_read_16(event, 3); 13057 } 13058 /** 13059 * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13060 * @param event packet 13061 * @return status 13062 * @note: btstack_type 1 13063 */ 13064 static inline uint8_t gattservice_subevent_bass_client_scan_operation_complete_get_status(const uint8_t * event){ 13065 return event[5]; 13066 } 13067 /** 13068 * @brief Get field opcode from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SCAN_OPERATION_COMPLETE 13069 * @param event packet 13070 * @return opcode 13071 * @note: btstack_type 1 13072 */ 13073 static inline uint8_t gattservice_subevent_bass_client_scan_operation_complete_get_opcode(const uint8_t * event){ 13074 return event[6]; 13075 } 13076 13077 /** 13078 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13079 * @param event packet 13080 * @return bass_cid 13081 * @note: btstack_type 2 13082 */ 13083 // static inline uint16_t gattservice_subevent_bass_notify_receive_state_base_get_bass_cid(const uint8_t * event){ 13084 // not implemented yet 13085 // } 13086 /** 13087 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13088 * @param event packet 13089 * @return source_id 13090 * @note: btstack_type 1 13091 */ 13092 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_source_id(const uint8_t * event){ 13093 // not implemented yet 13094 // } 13095 /** 13096 * @brief Get field source_address_type from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13097 * @param event packet 13098 * @return source_address_type 13099 * @note: btstack_type 1 13100 */ 13101 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_source_address_type(const uint8_t * event){ 13102 // not implemented yet 13103 // } 13104 /** 13105 * @brief Get field source_address from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13106 * @param event packet 13107 * @return source_address 13108 * @note: btstack_type B 13109 */ 13110 // static inline bd_addr_t gattservice_subevent_bass_notify_receive_state_base_get_source_address(const uint8_t * event){ 13111 // not implemented yet 13112 // } 13113 /** 13114 * @brief Get field source_adv_sid from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13115 * @param event packet 13116 * @return source_adv_sid 13117 * @note: btstack_type 1 13118 */ 13119 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_source_adv_sid(const uint8_t * event){ 13120 // not implemented yet 13121 // } 13122 /** 13123 * @brief Get field broadcast_id from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13124 * @param event packet 13125 * @return broadcast_id 13126 * @note: btstack_type 3 13127 */ 13128 // static inline uint32_t gattservice_subevent_bass_notify_receive_state_base_get_broadcast_id(const uint8_t * event){ 13129 // not implemented yet 13130 // } 13131 /** 13132 * @brief Get field pa_sync_state from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13133 * @param event packet 13134 * @return pa_sync_state 13135 * @note: btstack_type 1 13136 */ 13137 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_pa_sync_state(const uint8_t * event){ 13138 // not implemented yet 13139 // } 13140 /** 13141 * @brief Get field big_encryption from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13142 * @param event packet 13143 * @return big_encryption 13144 * @note: btstack_type 1 13145 */ 13146 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_big_encryption(const uint8_t * event){ 13147 // not implemented yet 13148 // } 13149 /** 13150 * @brief Get field bad_code from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13151 * @param event packet 13152 * @return bad_code 13153 * @note: btstack_type P 13154 */ 13155 // static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_base_get_bad_code(const uint8_t * event){ 13156 // not implemented yet 13157 // } 13158 /** 13159 * @brief Get field subgroups_num from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 13160 * @param event packet 13161 * @return subgroups_num 13162 * @note: btstack_type 1 13163 */ 13164 // static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_subgroups_num(const uint8_t * event){ 13165 // not implemented yet 13166 // } 13167 13168 /** 13169 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13170 * @param event packet 13171 * @return bass_cid 13172 * @note: btstack_type 2 13173 */ 13174 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){ 13175 return little_endian_read_16(event, 3); 13176 } 13177 /** 13178 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13179 * @param event packet 13180 * @return source_id 13181 * @note: btstack_type 1 13182 */ 13183 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_source_id(const uint8_t * event){ 13184 return event[5]; 13185 } 13186 /** 13187 * @brief Get field bis_sync_state from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13188 * @param event packet 13189 * @return bis_sync_state 13190 * @note: btstack_type 4 13191 */ 13192 static inline uint32_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){ 13193 return little_endian_read_32(event, 6); 13194 } 13195 /** 13196 * @brief Get field metadata_mask from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13197 * @param event packet 13198 * @return metadata_mask 13199 * @note: btstack_type 1 13200 */ 13201 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){ 13202 return event[10]; 13203 } 13204 /** 13205 * @brief Get field preferred_audio_contexts_mask from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13206 * @param event packet 13207 * @return preferred_audio_contexts_mask 13208 * @note: btstack_type 2 13209 */ 13210 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){ 13211 return little_endian_read_16(event, 11); 13212 } 13213 /** 13214 * @brief Get field streaming_audio_contexts_mask from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13215 * @param event packet 13216 * @return streaming_audio_contexts_mask 13217 * @note: btstack_type 2 13218 */ 13219 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){ 13220 return little_endian_read_16(event, 13); 13221 } 13222 /** 13223 * @brief Get field program_info_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13224 * @param event packet 13225 * @return program_info_length 13226 * @note: btstack_type J 13227 */ 13228 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){ 13229 return event[15]; 13230 } 13231 /** 13232 * @brief Get field program_info from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13233 * @param event packet 13234 * @return program_info 13235 * @note: btstack_type V 13236 */ 13237 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info(const uint8_t * event){ 13238 return &event[16]; 13239 } 13240 /** 13241 * @brief Get field language_code from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13242 * @param event packet 13243 * @return language_code 13244 * @note: btstack_type 3 13245 */ 13246 static inline uint32_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_language_code(const uint8_t * event){ 13247 return little_endian_read_24(event, 16u + event[15]); 13248 } 13249 /** 13250 * @brief Get field ccids_num from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13251 * @param event packet 13252 * @return ccids_num 13253 * @note: btstack_type J 13254 */ 13255 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){ 13256 return event[16u + event[15] + 3u]; 13257 } 13258 /** 13259 * @brief Get field ccids from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13260 * @param event packet 13261 * @return ccids 13262 * @note: btstack_type V 13263 */ 13264 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_ccids(const uint8_t * event){ 13265 return &event[16u + event[15] + 3u + 1u]; 13266 } 13267 /** 13268 * @brief Get field parental_rating from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13269 * @param event packet 13270 * @return parental_rating 13271 * @note: btstack_type 1 13272 */ 13273 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){ 13274 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]]; 13275 } 13276 /** 13277 * @brief Get field program_info_uri_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13278 * @param event packet 13279 * @return program_info_uri_length 13280 * @note: btstack_type J 13281 */ 13282 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){ 13283 return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; 13284 } 13285 /** 13286 * @brief Get field program_info_uri from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13287 * @param event packet 13288 * @return program_info_uri 13289 * @note: btstack_type V 13290 */ 13291 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){ 13292 return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u]; 13293 } 13294 /** 13295 * @brief Get field extended_metadata_type from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13296 * @param event packet 13297 * @return extended_metadata_type 13298 * @note: btstack_type 2 13299 */ 13300 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){ 13301 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]); 13302 } 13303 /** 13304 * @brief Get field extended_metadata_value_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13305 * @param event packet 13306 * @return extended_metadata_value_length 13307 * @note: btstack_type J 13308 */ 13309 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){ 13310 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]; 13311 } 13312 /** 13313 * @brief Get field extended_metadata_value from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13314 * @param event packet 13315 * @return extended_metadata_value 13316 * @note: btstack_type V 13317 */ 13318 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){ 13319 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]; 13320 } 13321 /** 13322 * @brief Get field vendor_specific_metadata_type from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13323 * @param event packet 13324 * @return vendor_specific_metadata_type 13325 * @note: btstack_type 2 13326 */ 13327 static inline uint16_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){ 13328 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]); 13329 } 13330 /** 13331 * @brief Get field vendor_specific_metadata_value_length from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13332 * @param event packet 13333 * @return vendor_specific_metadata_value_length 13334 * @note: btstack_type J 13335 */ 13336 static inline uint8_t gattservice_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){ 13337 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]; 13338 } 13339 /** 13340 * @brief Get field vendor_specific_metadata_value from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFY_RECEIVE_STATE_SUBGROUP 13341 * @param event packet 13342 * @return vendor_specific_metadata_value 13343 * @note: btstack_type V 13344 */ 13345 static inline const uint8_t * gattservice_subevent_bass_client_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){ 13346 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]; 13347 } 13348 13349 /** 13350 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 13351 * @param event packet 13352 * @return bass_cid 13353 * @note: btstack_type 2 13354 */ 13355 static inline uint16_t gattservice_subevent_bass_client_notification_complete_get_bass_cid(const uint8_t * event){ 13356 return little_endian_read_16(event, 3); 13357 } 13358 /** 13359 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_CLIENT_NOTIFICATION_COMPLETE 13360 * @param event packet 13361 * @return source_id 13362 * @note: btstack_type 1 13363 */ 13364 static inline uint8_t gattservice_subevent_bass_client_notification_complete_get_source_id(const uint8_t * event){ 13365 return event[5]; 13366 } 13367 13368 /** 13369 * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 13370 * @param event packet 13371 * @return bass_cid 13372 * @note: btstack_type 2 13373 */ 13374 static inline uint16_t gattservice_subevent_bass_client_source_operation_complete_get_bass_cid(const uint8_t * event){ 13375 return little_endian_read_16(event, 3); 13376 } 13377 /** 13378 * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 13379 * @param event packet 13380 * @return status 13381 * @note: btstack_type 1 13382 */ 13383 static inline uint8_t gattservice_subevent_bass_client_source_operation_complete_get_status(const uint8_t * event){ 13384 return event[5]; 13385 } 13386 /** 13387 * @brief Get field opcode from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 13388 * @param event packet 13389 * @return opcode 13390 * @note: btstack_type 1 13391 */ 13392 static inline uint8_t gattservice_subevent_bass_client_source_operation_complete_get_opcode(const uint8_t * event){ 13393 return event[6]; 13394 } 13395 /** 13396 * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_CLIENT_SOURCE_OPERATION_COMPLETE 13397 * @param event packet 13398 * @return source_id 13399 * @note: btstack_type 1 13400 */ 13401 static inline uint8_t gattservice_subevent_bass_client_source_operation_complete_get_source_id(const uint8_t * event){ 13402 return event[7]; 13403 } 13404 13405 /** 13406 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_CONNECTED 13407 * @param event packet 13408 * @return con_handle 13409 * @note: btstack_type H 13410 */ 13411 static inline hci_con_handle_t gattservice_subevent_bass_server_connected_get_con_handle(const uint8_t * event){ 13412 return little_endian_read_16(event, 3); 13413 } 13414 /** 13415 * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_SERVER_CONNECTED 13416 * @param event packet 13417 * @return status 13418 * @note: btstack_type 1 13419 */ 13420 static inline uint8_t gattservice_subevent_bass_server_connected_get_status(const uint8_t * event){ 13421 return event[5]; 13422 } 13423 13424 /** 13425 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SERVER_DISCONNECTED 13426 * @param event packet 13427 * @return con_handle 13428 * @note: btstack_type H 13429 */ 13430 static inline hci_con_handle_t gattservice_subevent_bass_server_disconnected_get_con_handle(const uint8_t * event){ 13431 return little_endian_read_16(event, 3); 13432 } 13433 13434 13435 /** 13436 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 13437 * @param event packet 13438 * @return status 13439 * @note: btstack_type 1 13440 */ 13441 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 13442 return event[3]; 13443 } 13444 13445 /** 13446 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 13447 * @param event packet 13448 * @return status 13449 * @note: btstack_type 1 13450 */ 13451 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 13452 return event[3]; 13453 } 13454 /** 13455 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 13456 * @param event packet 13457 * @return pb_transport_cid 13458 * @note: btstack_type 2 13459 */ 13460 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 13461 return little_endian_read_16(event, 4); 13462 } 13463 /** 13464 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 13465 * @param event packet 13466 * @return pb_type 13467 * @note: btstack_type 1 13468 */ 13469 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 13470 return event[6]; 13471 } 13472 13473 /** 13474 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 13475 * @param event packet 13476 * @return pb_transport_cid 13477 * @note: btstack_type 1 13478 */ 13479 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 13480 return event[3]; 13481 } 13482 /** 13483 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 13484 * @param event packet 13485 * @return reason 13486 * @note: btstack_type 2 13487 */ 13488 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 13489 return little_endian_read_16(event, 4); 13490 } 13491 13492 /** 13493 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 13494 * @param event packet 13495 * @return pb_transport_cid 13496 * @note: btstack_type 2 13497 */ 13498 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 13499 return little_endian_read_16(event, 3); 13500 } 13501 /** 13502 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 13503 * @param event packet 13504 * @return attention_time 13505 * @note: btstack_type 1 13506 */ 13507 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 13508 return event[5]; 13509 } 13510 13511 /** 13512 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 13513 * @param event packet 13514 * @return pb_transport_cid 13515 * @note: btstack_type 2 13516 */ 13517 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 13518 return little_endian_read_16(event, 3); 13519 } 13520 13521 /** 13522 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 13523 * @param event packet 13524 * @return pb_transport_cid 13525 * @note: btstack_type 2 13526 */ 13527 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 13528 return little_endian_read_16(event, 3); 13529 } 13530 13531 /** 13532 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 13533 * @param event packet 13534 * @return pb_transport_cid 13535 * @note: btstack_type 2 13536 */ 13537 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 13538 return little_endian_read_16(event, 3); 13539 } 13540 13541 /** 13542 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 13543 * @param event packet 13544 * @return pb_transport_cid 13545 * @note: btstack_type 2 13546 */ 13547 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 13548 return little_endian_read_16(event, 3); 13549 } 13550 /** 13551 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 13552 * @param event packet 13553 * @return output_oob 13554 * @note: btstack_type 4 13555 */ 13556 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 13557 return little_endian_read_32(event, 5); 13558 } 13559 13560 /** 13561 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 13562 * @param event packet 13563 * @return pb_transport_cid 13564 * @note: btstack_type 2 13565 */ 13566 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 13567 return little_endian_read_16(event, 3); 13568 } 13569 13570 /** 13571 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 13572 * @param event packet 13573 * @return pb_transport_cid 13574 * @note: btstack_type 2 13575 */ 13576 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 13577 return little_endian_read_16(event, 3); 13578 } 13579 13580 /** 13581 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 13582 * @param event packet 13583 * @return pb_transport_cid 13584 * @note: btstack_type 2 13585 */ 13586 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 13587 return little_endian_read_16(event, 3); 13588 } 13589 13590 /** 13591 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 13592 * @param event packet 13593 * @return pb_transport_cid 13594 * @note: btstack_type 2 13595 */ 13596 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 13597 return little_endian_read_16(event, 3); 13598 } 13599 13600 /** 13601 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 13602 * @param event packet 13603 * @return pb_transport_cid 13604 * @note: btstack_type 2 13605 */ 13606 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 13607 return little_endian_read_16(event, 3); 13608 } 13609 /** 13610 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 13611 * @param event packet 13612 * @return output_oob 13613 * @note: btstack_type 4 13614 */ 13615 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 13616 return little_endian_read_32(event, 5); 13617 } 13618 13619 /** 13620 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 13621 * @param event packet 13622 * @return pb_transport_cid 13623 * @note: btstack_type 2 13624 */ 13625 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 13626 return little_endian_read_16(event, 3); 13627 } 13628 13629 /** 13630 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 13631 * @param event packet 13632 * @return pb_transport_cid 13633 * @note: btstack_type 2 13634 */ 13635 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 13636 return little_endian_read_16(event, 3); 13637 } 13638 /** 13639 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 13640 * @param event packet 13641 * @return num_elements 13642 * @note: btstack_type 1 13643 */ 13644 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 13645 return event[5]; 13646 } 13647 /** 13648 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 13649 * @param event packet 13650 * @return algorithms 13651 * @note: btstack_type 2 13652 */ 13653 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 13654 return little_endian_read_16(event, 6); 13655 } 13656 /** 13657 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 13658 * @param event packet 13659 * @return public_key 13660 * @note: btstack_type 1 13661 */ 13662 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 13663 return event[8]; 13664 } 13665 /** 13666 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 13667 * @param event packet 13668 * @return static_oob_type 13669 * @note: btstack_type 1 13670 */ 13671 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 13672 return event[9]; 13673 } 13674 /** 13675 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 13676 * @param event packet 13677 * @return output_oob_size 13678 * @note: btstack_type 1 13679 */ 13680 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 13681 return event[10]; 13682 } 13683 /** 13684 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 13685 * @param event packet 13686 * @return output_oob_action 13687 * @note: btstack_type 2 13688 */ 13689 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 13690 return little_endian_read_16(event, 11); 13691 } 13692 /** 13693 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 13694 * @param event packet 13695 * @return input_oob_size 13696 * @note: btstack_type 1 13697 */ 13698 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 13699 return event[13]; 13700 } 13701 /** 13702 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 13703 * @param event packet 13704 * @return input_oob_action 13705 * @note: btstack_type 2 13706 */ 13707 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 13708 return little_endian_read_16(event, 14); 13709 } 13710 13711 /** 13712 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 13713 * @param event packet 13714 * @return pb_transport_cid 13715 * @note: btstack_type 2 13716 */ 13717 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 13718 return little_endian_read_16(event, 3); 13719 } 13720 13721 /** 13722 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 13723 * @param event packet 13724 * @return attention_time 13725 * @note: btstack_type 1 13726 */ 13727 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 13728 return event[3]; 13729 } 13730 13731 /** 13732 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 13733 * @param event packet 13734 * @return con_handle 13735 * @note: btstack_type H 13736 */ 13737 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 13738 return little_endian_read_16(event, 3); 13739 } 13740 13741 /** 13742 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 13743 * @param event packet 13744 * @return con_handle 13745 * @note: btstack_type H 13746 */ 13747 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 13748 return little_endian_read_16(event, 3); 13749 } 13750 13751 /** 13752 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 13753 * @param event packet 13754 * @return con_handle 13755 * @note: btstack_type H 13756 */ 13757 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 13758 return little_endian_read_16(event, 3); 13759 } 13760 13761 /** 13762 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 13763 * @param event packet 13764 * @return con_handle 13765 * @note: btstack_type H 13766 */ 13767 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 13768 return little_endian_read_16(event, 3); 13769 } 13770 13771 /** 13772 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 13773 * @param event packet 13774 * @return element_index 13775 * @note: btstack_type 1 13776 */ 13777 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 13778 return event[3]; 13779 } 13780 /** 13781 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 13782 * @param event packet 13783 * @return model_identifier 13784 * @note: btstack_type 4 13785 */ 13786 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 13787 return little_endian_read_32(event, 4); 13788 } 13789 /** 13790 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 13791 * @param event packet 13792 * @return state_identifier 13793 * @note: btstack_type 4 13794 */ 13795 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 13796 return little_endian_read_32(event, 8); 13797 } 13798 /** 13799 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 13800 * @param event packet 13801 * @return reason 13802 * @note: btstack_type 1 13803 */ 13804 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 13805 return event[12]; 13806 } 13807 /** 13808 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 13809 * @param event packet 13810 * @return value 13811 * @note: btstack_type 1 13812 */ 13813 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 13814 return event[13]; 13815 } 13816 13817 /** 13818 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 13819 * @param event packet 13820 * @return element_index 13821 * @note: btstack_type 1 13822 */ 13823 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 13824 return event[3]; 13825 } 13826 /** 13827 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 13828 * @param event packet 13829 * @return model_identifier 13830 * @note: btstack_type 4 13831 */ 13832 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 13833 return little_endian_read_32(event, 4); 13834 } 13835 /** 13836 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 13837 * @param event packet 13838 * @return state_identifier 13839 * @note: btstack_type 4 13840 */ 13841 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 13842 return little_endian_read_32(event, 8); 13843 } 13844 /** 13845 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 13846 * @param event packet 13847 * @return reason 13848 * @note: btstack_type 1 13849 */ 13850 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 13851 return event[12]; 13852 } 13853 /** 13854 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 13855 * @param event packet 13856 * @return value 13857 * @note: btstack_type 2 13858 */ 13859 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 13860 return little_endian_read_16(event, 13); 13861 } 13862 13863 /** 13864 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 13865 * @param event packet 13866 * @return element_index 13867 * @note: btstack_type 1 13868 */ 13869 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 13870 return event[3]; 13871 } 13872 /** 13873 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 13874 * @param event packet 13875 * @return model_identifier 13876 * @note: btstack_type 4 13877 */ 13878 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 13879 return little_endian_read_32(event, 4); 13880 } 13881 /** 13882 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 13883 * @param event packet 13884 * @return opcode 13885 * @note: btstack_type 4 13886 */ 13887 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 13888 return little_endian_read_32(event, 8); 13889 } 13890 /** 13891 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 13892 * @param event packet 13893 * @return dest 13894 * @note: btstack_type 2 13895 */ 13896 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 13897 return little_endian_read_16(event, 12); 13898 } 13899 13900 /** 13901 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 13902 * @param event packet 13903 * @return dest 13904 * @note: btstack_type 2 13905 */ 13906 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 13907 return little_endian_read_16(event, 3); 13908 } 13909 /** 13910 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 13911 * @param event packet 13912 * @return status 13913 * @note: btstack_type 1 13914 */ 13915 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 13916 return event[5]; 13917 } 13918 /** 13919 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 13920 * @param event packet 13921 * @return present_value 13922 * @note: btstack_type 1 13923 */ 13924 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 13925 return event[6]; 13926 } 13927 /** 13928 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 13929 * @param event packet 13930 * @return target_value 13931 * @note: btstack_type 1 13932 */ 13933 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 13934 return event[7]; 13935 } 13936 /** 13937 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 13938 * @param event packet 13939 * @return remaining_time_ms 13940 * @note: btstack_type 4 13941 */ 13942 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 13943 return little_endian_read_32(event, 8); 13944 } 13945 13946 /** 13947 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 13948 * @param event packet 13949 * @return dest 13950 * @note: btstack_type 2 13951 */ 13952 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 13953 return little_endian_read_16(event, 3); 13954 } 13955 /** 13956 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 13957 * @param event packet 13958 * @return status 13959 * @note: btstack_type 1 13960 */ 13961 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 13962 return event[5]; 13963 } 13964 /** 13965 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 13966 * @param event packet 13967 * @return present_value 13968 * @note: btstack_type 2 13969 */ 13970 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 13971 return little_endian_read_16(event, 6); 13972 } 13973 /** 13974 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 13975 * @param event packet 13976 * @return target_value 13977 * @note: btstack_type 2 13978 */ 13979 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 13980 return little_endian_read_16(event, 8); 13981 } 13982 /** 13983 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 13984 * @param event packet 13985 * @return remaining_time_ms 13986 * @note: btstack_type 4 13987 */ 13988 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 13989 return little_endian_read_32(event, 10); 13990 } 13991 13992 /** 13993 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 13994 * @param event packet 13995 * @return dest 13996 * @note: btstack_type 2 13997 */ 13998 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 13999 return little_endian_read_16(event, 3); 14000 } 14001 /** 14002 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14003 * @param event packet 14004 * @return netkey_index 14005 * @note: btstack_type 2 14006 */ 14007 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 14008 return little_endian_read_16(event, 5); 14009 } 14010 /** 14011 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14012 * @param event packet 14013 * @return appkey_index 14014 * @note: btstack_type 2 14015 */ 14016 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 14017 return little_endian_read_16(event, 7); 14018 } 14019 /** 14020 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14021 * @param event packet 14022 * @return company_id 14023 * @note: btstack_type 2 14024 */ 14025 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 14026 return little_endian_read_16(event, 9); 14027 } 14028 /** 14029 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14030 * @param event packet 14031 * @return test_id 14032 * @note: btstack_type 1 14033 */ 14034 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 14035 return event[11]; 14036 } 14037 /** 14038 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 14039 * @param event packet 14040 * @return acknowledged 14041 * @note: btstack_type 1 14042 */ 14043 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 14044 return event[12]; 14045 } 14046 14047 /** 14048 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 14049 * @param event packet 14050 * @return element_index 14051 * @note: btstack_type 1 14052 */ 14053 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 14054 return event[3]; 14055 } 14056 14057 /** 14058 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 14059 * @param event packet 14060 * @return dest 14061 * @note: btstack_type 2 14062 */ 14063 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 14064 return little_endian_read_16(event, 3); 14065 } 14066 /** 14067 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 14068 * @param event packet 14069 * @return status 14070 * @note: btstack_type 1 14071 */ 14072 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 14073 return event[5]; 14074 } 14075 /** 14076 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 14077 * @param event packet 14078 * @return transition_time_gdtt 14079 * @note: btstack_type 1 14080 */ 14081 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 14082 return event[6]; 14083 } 14084 14085 /** 14086 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 14087 * @param event packet 14088 * @return dest 14089 * @note: btstack_type 2 14090 */ 14091 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 14092 return little_endian_read_16(event, 3); 14093 } 14094 /** 14095 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 14096 * @param event packet 14097 * @return foundation_status 14098 * @note: btstack_type 1 14099 */ 14100 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 14101 return event[5]; 14102 } 14103 /** 14104 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 14105 * @param event packet 14106 * @return secure_network_beacon_state 14107 * @note: btstack_type 1 14108 */ 14109 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 14110 return event[6]; 14111 } 14112 14113 /** 14114 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 14115 * @param event packet 14116 * @return dest 14117 * @note: btstack_type 2 14118 */ 14119 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 14120 return little_endian_read_16(event, 3); 14121 } 14122 /** 14123 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 14124 * @param event packet 14125 * @return foundation_status 14126 * @note: btstack_type 1 14127 */ 14128 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 14129 return event[5]; 14130 } 14131 /** 14132 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 14133 * @param event packet 14134 * @return default_ttl 14135 * @note: btstack_type 1 14136 */ 14137 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 14138 return event[6]; 14139 } 14140 14141 /** 14142 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 14143 * @param event packet 14144 * @return dest 14145 * @note: btstack_type 2 14146 */ 14147 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 14148 return little_endian_read_16(event, 3); 14149 } 14150 /** 14151 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 14152 * @param event packet 14153 * @return foundation_status 14154 * @note: btstack_type 1 14155 */ 14156 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 14157 return event[5]; 14158 } 14159 /** 14160 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 14161 * @param event packet 14162 * @return gatt_proxy_state 14163 * @note: btstack_type 1 14164 */ 14165 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 14166 return event[6]; 14167 } 14168 14169 /** 14170 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 14171 * @param event packet 14172 * @return dest 14173 * @note: btstack_type 2 14174 */ 14175 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 14176 return little_endian_read_16(event, 3); 14177 } 14178 /** 14179 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 14180 * @param event packet 14181 * @return foundation_status 14182 * @note: btstack_type 1 14183 */ 14184 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 14185 return event[5]; 14186 } 14187 /** 14188 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 14189 * @param event packet 14190 * @return relay 14191 * @note: btstack_type 1 14192 */ 14193 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 14194 return event[6]; 14195 } 14196 /** 14197 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 14198 * @param event packet 14199 * @return retransmit_count 14200 * @note: btstack_type 1 14201 */ 14202 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 14203 return event[7]; 14204 } 14205 /** 14206 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 14207 * @param event packet 14208 * @return retransmit_interval_ms 14209 * @note: btstack_type 1 14210 */ 14211 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 14212 return event[8]; 14213 } 14214 14215 /** 14216 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14217 * @param event packet 14218 * @return dest 14219 * @note: btstack_type 2 14220 */ 14221 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 14222 return little_endian_read_16(event, 3); 14223 } 14224 /** 14225 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14226 * @param event packet 14227 * @return foundation_status 14228 * @note: btstack_type 1 14229 */ 14230 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 14231 return event[5]; 14232 } 14233 /** 14234 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14235 * @param event packet 14236 * @return publish_address 14237 * @note: btstack_type 2 14238 */ 14239 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 14240 return little_endian_read_16(event, 6); 14241 } 14242 /** 14243 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14244 * @param event packet 14245 * @return appkey_index 14246 * @note: btstack_type 2 14247 */ 14248 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 14249 return little_endian_read_16(event, 8); 14250 } 14251 /** 14252 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14253 * @param event packet 14254 * @return credential_flag 14255 * @note: btstack_type 1 14256 */ 14257 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 14258 return event[10]; 14259 } 14260 /** 14261 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14262 * @param event packet 14263 * @return publish_ttl 14264 * @note: btstack_type 1 14265 */ 14266 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 14267 return event[11]; 14268 } 14269 /** 14270 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14271 * @param event packet 14272 * @return publish_period 14273 * @note: btstack_type 1 14274 */ 14275 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 14276 return event[12]; 14277 } 14278 /** 14279 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14280 * @param event packet 14281 * @return publish_retransmit_count 14282 * @note: btstack_type 1 14283 */ 14284 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 14285 return event[13]; 14286 } 14287 /** 14288 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14289 * @param event packet 14290 * @return publish_retransmit_interval_steps 14291 * @note: btstack_type 1 14292 */ 14293 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 14294 return event[14]; 14295 } 14296 /** 14297 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 14298 * @param event packet 14299 * @return model_identifier 14300 * @note: btstack_type 4 14301 */ 14302 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 14303 return little_endian_read_32(event, 15); 14304 } 14305 14306 /** 14307 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 14308 * @param event packet 14309 * @return dest 14310 * @note: btstack_type 2 14311 */ 14312 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 14313 return little_endian_read_16(event, 3); 14314 } 14315 /** 14316 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 14317 * @param event packet 14318 * @return foundation_status 14319 * @note: btstack_type 1 14320 */ 14321 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 14322 return event[5]; 14323 } 14324 /** 14325 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 14326 * @param event packet 14327 * @return address 14328 * @note: btstack_type 2 14329 */ 14330 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 14331 return little_endian_read_16(event, 6); 14332 } 14333 /** 14334 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 14335 * @param event packet 14336 * @return model_identifier 14337 * @note: btstack_type 4 14338 */ 14339 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 14340 return little_endian_read_32(event, 8); 14341 } 14342 14343 /** 14344 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14345 * @param event packet 14346 * @return dest 14347 * @note: btstack_type 2 14348 */ 14349 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 14350 return little_endian_read_16(event, 3); 14351 } 14352 /** 14353 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14354 * @param event packet 14355 * @return foundation_status 14356 * @note: btstack_type 1 14357 */ 14358 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 14359 return event[5]; 14360 } 14361 /** 14362 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14363 * @param event packet 14364 * @return model_identifier 14365 * @note: btstack_type 4 14366 */ 14367 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 14368 return little_endian_read_32(event, 6); 14369 } 14370 /** 14371 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14372 * @param event packet 14373 * @return num_subscription_addresses 14374 * @note: btstack_type 1 14375 */ 14376 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 14377 return event[10]; 14378 } 14379 /** 14380 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14381 * @param event packet 14382 * @return subscription_address_pos 14383 * @note: btstack_type 1 14384 */ 14385 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 14386 return event[11]; 14387 } 14388 /** 14389 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 14390 * @param event packet 14391 * @return subscription_address_item 14392 * @note: btstack_type 2 14393 */ 14394 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 14395 return little_endian_read_16(event, 12); 14396 } 14397 14398 /** 14399 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 14400 * @param event packet 14401 * @return dest 14402 * @note: btstack_type 2 14403 */ 14404 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 14405 return little_endian_read_16(event, 3); 14406 } 14407 /** 14408 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 14409 * @param event packet 14410 * @return foundation_status 14411 * @note: btstack_type 1 14412 */ 14413 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 14414 return event[5]; 14415 } 14416 14417 /** 14418 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 14419 * @param event packet 14420 * @return dest 14421 * @note: btstack_type 2 14422 */ 14423 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 14424 return little_endian_read_16(event, 3); 14425 } 14426 /** 14427 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 14428 * @param event packet 14429 * @return foundation_status 14430 * @note: btstack_type 1 14431 */ 14432 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 14433 return event[5]; 14434 } 14435 /** 14436 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 14437 * @param event packet 14438 * @return num_netkey_indexes 14439 * @note: btstack_type 1 14440 */ 14441 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 14442 return event[6]; 14443 } 14444 /** 14445 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 14446 * @param event packet 14447 * @return netkey_index_pos 14448 * @note: btstack_type 1 14449 */ 14450 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 14451 return event[7]; 14452 } 14453 /** 14454 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 14455 * @param event packet 14456 * @return netkey_index_item 14457 * @note: btstack_type 2 14458 */ 14459 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 14460 return little_endian_read_16(event, 8); 14461 } 14462 14463 /** 14464 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 14465 * @param event packet 14466 * @return dest 14467 * @note: btstack_type 2 14468 */ 14469 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 14470 return little_endian_read_16(event, 3); 14471 } 14472 /** 14473 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 14474 * @param event packet 14475 * @return foundation_status 14476 * @note: btstack_type 1 14477 */ 14478 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 14479 return event[5]; 14480 } 14481 /** 14482 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 14483 * @param event packet 14484 * @return netkey_index_item 14485 * @note: btstack_type 2 14486 */ 14487 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 14488 return little_endian_read_16(event, 6); 14489 } 14490 /** 14491 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 14492 * @param event packet 14493 * @return appkey_index_item 14494 * @note: btstack_type 2 14495 */ 14496 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 14497 return little_endian_read_16(event, 8); 14498 } 14499 14500 /** 14501 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 14502 * @param event packet 14503 * @return dest 14504 * @note: btstack_type 2 14505 */ 14506 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 14507 return little_endian_read_16(event, 3); 14508 } 14509 /** 14510 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 14511 * @param event packet 14512 * @return foundation_status 14513 * @note: btstack_type 1 14514 */ 14515 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 14516 return event[5]; 14517 } 14518 /** 14519 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 14520 * @param event packet 14521 * @return netkey_index 14522 * @note: btstack_type 2 14523 */ 14524 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 14525 return little_endian_read_16(event, 6); 14526 } 14527 /** 14528 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 14529 * @param event packet 14530 * @return num_appkey_indexes 14531 * @note: btstack_type 1 14532 */ 14533 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 14534 return event[8]; 14535 } 14536 /** 14537 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 14538 * @param event packet 14539 * @return appkey_index_pos 14540 * @note: btstack_type 1 14541 */ 14542 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 14543 return event[9]; 14544 } 14545 /** 14546 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 14547 * @param event packet 14548 * @return netkey_index_item 14549 * @note: btstack_type 2 14550 */ 14551 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 14552 return little_endian_read_16(event, 10); 14553 } 14554 /** 14555 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 14556 * @param event packet 14557 * @return appkey_index_item 14558 * @note: btstack_type 2 14559 */ 14560 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 14561 return little_endian_read_16(event, 12); 14562 } 14563 14564 /** 14565 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 14566 * @param event packet 14567 * @return dest 14568 * @note: btstack_type 2 14569 */ 14570 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 14571 return little_endian_read_16(event, 3); 14572 } 14573 /** 14574 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 14575 * @param event packet 14576 * @return foundation_status 14577 * @note: btstack_type 1 14578 */ 14579 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 14580 return event[5]; 14581 } 14582 /** 14583 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 14584 * @param event packet 14585 * @return netkey_index_item 14586 * @note: btstack_type 2 14587 */ 14588 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 14589 return little_endian_read_16(event, 6); 14590 } 14591 /** 14592 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 14593 * @param event packet 14594 * @return identity_status 14595 * @note: btstack_type 1 14596 */ 14597 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 14598 return event[8]; 14599 } 14600 14601 /** 14602 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 14603 * @param event packet 14604 * @return dest 14605 * @note: btstack_type 2 14606 */ 14607 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 14608 return little_endian_read_16(event, 3); 14609 } 14610 /** 14611 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 14612 * @param event packet 14613 * @return foundation_status 14614 * @note: btstack_type 1 14615 */ 14616 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 14617 return event[5]; 14618 } 14619 /** 14620 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 14621 * @param event packet 14622 * @return appkey_index 14623 * @note: btstack_type 2 14624 */ 14625 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 14626 return little_endian_read_16(event, 6); 14627 } 14628 /** 14629 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 14630 * @param event packet 14631 * @return model_identifier 14632 * @note: btstack_type 4 14633 */ 14634 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 14635 return little_endian_read_32(event, 8); 14636 } 14637 14638 /** 14639 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 14640 * @param event packet 14641 * @return dest 14642 * @note: btstack_type 2 14643 */ 14644 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 14645 return little_endian_read_16(event, 3); 14646 } 14647 /** 14648 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 14649 * @param event packet 14650 * @return foundation_status 14651 * @note: btstack_type 1 14652 */ 14653 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 14654 return event[5]; 14655 } 14656 /** 14657 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 14658 * @param event packet 14659 * @return model_id 14660 * @note: btstack_type 4 14661 */ 14662 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 14663 return little_endian_read_32(event, 6); 14664 } 14665 /** 14666 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 14667 * @param event packet 14668 * @return num_appkey_indexes 14669 * @note: btstack_type 1 14670 */ 14671 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 14672 return event[10]; 14673 } 14674 /** 14675 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 14676 * @param event packet 14677 * @return appkey_index_pos 14678 * @note: btstack_type 1 14679 */ 14680 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 14681 return event[11]; 14682 } 14683 /** 14684 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 14685 * @param event packet 14686 * @return appkey_index_item 14687 * @note: btstack_type 2 14688 */ 14689 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 14690 return little_endian_read_16(event, 12); 14691 } 14692 14693 /** 14694 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 14695 * @param event packet 14696 * @return dest 14697 * @note: btstack_type 2 14698 */ 14699 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 14700 return little_endian_read_16(event, 3); 14701 } 14702 /** 14703 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 14704 * @param event packet 14705 * @return foundation_status 14706 * @note: btstack_type 1 14707 */ 14708 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 14709 return event[5]; 14710 } 14711 14712 /** 14713 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 14714 * @param event packet 14715 * @return dest 14716 * @note: btstack_type 2 14717 */ 14718 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 14719 return little_endian_read_16(event, 3); 14720 } 14721 /** 14722 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 14723 * @param event packet 14724 * @return foundation_status 14725 * @note: btstack_type 1 14726 */ 14727 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 14728 return event[5]; 14729 } 14730 /** 14731 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 14732 * @param event packet 14733 * @return friend_state 14734 * @note: btstack_type 1 14735 */ 14736 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 14737 return event[6]; 14738 } 14739 14740 /** 14741 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 14742 * @param event packet 14743 * @return dest 14744 * @note: btstack_type 2 14745 */ 14746 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 14747 return little_endian_read_16(event, 3); 14748 } 14749 /** 14750 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 14751 * @param event packet 14752 * @return foundation_status 14753 * @note: btstack_type 1 14754 */ 14755 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 14756 return event[5]; 14757 } 14758 /** 14759 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 14760 * @param event packet 14761 * @return netkey_index 14762 * @note: btstack_type 2 14763 */ 14764 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 14765 return little_endian_read_16(event, 6); 14766 } 14767 /** 14768 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 14769 * @param event packet 14770 * @return phase 14771 * @note: btstack_type 1 14772 */ 14773 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 14774 return event[8]; 14775 } 14776 14777 /** 14778 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 14779 * @param event packet 14780 * @return dest 14781 * @note: btstack_type 2 14782 */ 14783 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 14784 return little_endian_read_16(event, 3); 14785 } 14786 /** 14787 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 14788 * @param event packet 14789 * @return foundation_status 14790 * @note: btstack_type 1 14791 */ 14792 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 14793 return event[5]; 14794 } 14795 /** 14796 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 14797 * @param event packet 14798 * @return heartbeat_destination 14799 * @note: btstack_type 2 14800 */ 14801 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 14802 return little_endian_read_16(event, 6); 14803 } 14804 /** 14805 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 14806 * @param event packet 14807 * @return count_S 14808 * @note: btstack_type 2 14809 */ 14810 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 14811 return little_endian_read_16(event, 8); 14812 } 14813 /** 14814 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 14815 * @param event packet 14816 * @return period_S 14817 * @note: btstack_type 2 14818 */ 14819 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 14820 return little_endian_read_16(event, 10); 14821 } 14822 /** 14823 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 14824 * @param event packet 14825 * @return ttl 14826 * @note: btstack_type 1 14827 */ 14828 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 14829 return event[12]; 14830 } 14831 /** 14832 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 14833 * @param event packet 14834 * @return features 14835 * @note: btstack_type 2 14836 */ 14837 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 14838 return little_endian_read_16(event, 13); 14839 } 14840 /** 14841 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 14842 * @param event packet 14843 * @return netkey_index 14844 * @note: btstack_type 2 14845 */ 14846 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 14847 return little_endian_read_16(event, 15); 14848 } 14849 14850 /** 14851 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 14852 * @param event packet 14853 * @return dest 14854 * @note: btstack_type 2 14855 */ 14856 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 14857 return little_endian_read_16(event, 3); 14858 } 14859 /** 14860 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 14861 * @param event packet 14862 * @return foundation_status 14863 * @note: btstack_type 1 14864 */ 14865 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 14866 return event[5]; 14867 } 14868 /** 14869 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 14870 * @param event packet 14871 * @return heartbeat_destination 14872 * @note: btstack_type 2 14873 */ 14874 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 14875 return little_endian_read_16(event, 6); 14876 } 14877 /** 14878 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 14879 * @param event packet 14880 * @return heartbeat_source 14881 * @note: btstack_type 2 14882 */ 14883 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 14884 return little_endian_read_16(event, 8); 14885 } 14886 /** 14887 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 14888 * @param event packet 14889 * @return count_S 14890 * @note: btstack_type 2 14891 */ 14892 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 14893 return little_endian_read_16(event, 10); 14894 } 14895 /** 14896 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 14897 * @param event packet 14898 * @return period_S 14899 * @note: btstack_type 2 14900 */ 14901 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 14902 return little_endian_read_16(event, 12); 14903 } 14904 /** 14905 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 14906 * @param event packet 14907 * @return min_hops 14908 * @note: btstack_type 1 14909 */ 14910 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 14911 return event[14]; 14912 } 14913 /** 14914 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 14915 * @param event packet 14916 * @return max_hops 14917 * @note: btstack_type 1 14918 */ 14919 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 14920 return event[15]; 14921 } 14922 14923 /** 14924 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 14925 * @param event packet 14926 * @return dest 14927 * @note: btstack_type 2 14928 */ 14929 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 14930 return little_endian_read_16(event, 3); 14931 } 14932 /** 14933 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 14934 * @param event packet 14935 * @return foundation_status 14936 * @note: btstack_type 1 14937 */ 14938 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 14939 return event[5]; 14940 } 14941 /** 14942 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 14943 * @param event packet 14944 * @return lpn_address 14945 * @note: btstack_type 2 14946 */ 14947 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 14948 return little_endian_read_16(event, 6); 14949 } 14950 /** 14951 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 14952 * @param event packet 14953 * @return poll_timeout 14954 * @note: btstack_type 3 14955 */ 14956 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 14957 return little_endian_read_24(event, 8); 14958 } 14959 14960 /** 14961 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 14962 * @param event packet 14963 * @return dest 14964 * @note: btstack_type 2 14965 */ 14966 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 14967 return little_endian_read_16(event, 3); 14968 } 14969 /** 14970 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 14971 * @param event packet 14972 * @return foundation_status 14973 * @note: btstack_type 1 14974 */ 14975 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 14976 return event[5]; 14977 } 14978 /** 14979 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 14980 * @param event packet 14981 * @return transmit_count 14982 * @note: btstack_type 1 14983 */ 14984 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 14985 return event[6]; 14986 } 14987 /** 14988 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 14989 * @param event packet 14990 * @return transmit_interval_steps_ms 14991 * @note: btstack_type 2 14992 */ 14993 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 14994 return little_endian_read_16(event, 7); 14995 } 14996 14997 14998 14999 /* API_END */ 15000 15001 #if defined __cplusplus 15002 } 15003 #endif 15004 15005 #endif // BTSTACK_EVENT_H 15006