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