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