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