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