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