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