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