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