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