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