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