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 MATTHIAS 24 * RINGWALD 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 * btstack_event.h 41 * 42 * @brief BTstack event getter/setter 43 * @note Don't edit - generated by tool/btstack_event_generator.py 44 * 45 */ 46 47 #ifndef BTSTACK_EVENT_H 48 #define BTSTACK_EVENT_H 49 50 #if defined __cplusplus 51 extern "C" { 52 #endif 53 54 #include "btstack_util.h" 55 #include <stdint.h> 56 57 #ifdef ENABLE_BLE 58 #include "ble/gatt_client.h" 59 #endif 60 61 /* API_START */ 62 63 /** 64 * @brief Get event type 65 * @param event 66 * @return type of event 67 */ 68 static inline uint8_t hci_event_packet_get_type(const uint8_t * event){ 69 return event[0]; 70 } 71 72 /*** 73 * @brief Get subevent code for a2dp event 74 * @param event packet 75 * @return subevent_code 76 */ 77 static inline uint8_t hci_event_a2dp_meta_get_subevent_code(const uint8_t * event){ 78 return event[2]; 79 } 80 /*** 81 * @brief Get subevent code for ancs event 82 * @param event packet 83 * @return subevent_code 84 */ 85 static inline uint8_t hci_event_ancs_meta_get_subevent_code(const uint8_t * event){ 86 return event[2]; 87 } 88 /*** 89 * @brief Get subevent code for avdtp event 90 * @param event packet 91 * @return subevent_code 92 */ 93 static inline uint8_t hci_event_avdtp_meta_get_subevent_code(const uint8_t * event){ 94 return event[2]; 95 } 96 /*** 97 * @brief Get subevent code for avrcp event 98 * @param event packet 99 * @return subevent_code 100 */ 101 static inline uint8_t hci_event_avrcp_meta_get_subevent_code(const uint8_t * event){ 102 return event[2]; 103 } 104 /*** 105 * @brief Get subevent code for gattservice event 106 * @param event packet 107 * @return subevent_code 108 */ 109 static inline uint8_t hci_event_gattservice_meta_get_subevent_code(const uint8_t * event){ 110 return event[2]; 111 } 112 /*** 113 * @brief Get subevent code for goep event 114 * @param event packet 115 * @return subevent_code 116 */ 117 static inline uint8_t hci_event_goep_meta_get_subevent_code(const uint8_t * event){ 118 return event[2]; 119 } 120 /*** 121 * @brief Get subevent code for hfp event 122 * @param event packet 123 * @return subevent_code 124 */ 125 static inline uint8_t hci_event_hfp_meta_get_subevent_code(const uint8_t * event){ 126 return event[2]; 127 } 128 /*** 129 * @brief Get subevent code for hid event 130 * @param event packet 131 * @return subevent_code 132 */ 133 static inline uint8_t hci_event_hid_meta_get_subevent_code(const uint8_t * event){ 134 return event[2]; 135 } 136 /*** 137 * @brief Get subevent code for hids event 138 * @param event packet 139 * @return subevent_code 140 */ 141 static inline uint8_t hci_event_hids_meta_get_subevent_code(const uint8_t * event){ 142 return event[2]; 143 } 144 /*** 145 * @brief Get subevent code for hsp event 146 * @param event packet 147 * @return subevent_code 148 */ 149 static inline uint8_t hci_event_hsp_meta_get_subevent_code(const uint8_t * event){ 150 return event[2]; 151 } 152 /*** 153 * @brief Get subevent code for le event 154 * @param event packet 155 * @return subevent_code 156 */ 157 static inline uint8_t hci_event_le_meta_get_subevent_code(const uint8_t * event){ 158 return event[2]; 159 } 160 /*** 161 * @brief Get subevent code for map event 162 * @param event packet 163 * @return subevent_code 164 */ 165 static inline uint8_t hci_event_map_meta_get_subevent_code(const uint8_t * event){ 166 return event[2]; 167 } 168 /*** 169 * @brief Get subevent code for mesh event 170 * @param event packet 171 * @return subevent_code 172 */ 173 static inline uint8_t hci_event_mesh_meta_get_subevent_code(const uint8_t * event){ 174 return event[2]; 175 } 176 /*** 177 * @brief Get subevent code for pbap event 178 * @param event packet 179 * @return subevent_code 180 */ 181 static inline uint8_t hci_event_pbap_meta_get_subevent_code(const uint8_t * event){ 182 return event[2]; 183 } 184 /** 185 * @brief Get field status from event HCI_EVENT_INQUIRY_COMPLETE 186 * @param event packet 187 * @return status 188 * @note: btstack_type 1 189 */ 190 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){ 191 return event[2]; 192 } 193 194 /** 195 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT 196 * @param event packet 197 * @return num_responses 198 * @note: btstack_type 1 199 */ 200 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){ 201 return event[2]; 202 } 203 /** 204 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT 205 * @param event packet 206 * @param Pointer to storage for bd_addr 207 * @note: btstack_type B 208 */ 209 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 210 reverse_bytes(&event[3], bd_addr, 6); 211 } 212 /** 213 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT 214 * @param event packet 215 * @return page_scan_repetition_mode 216 * @note: btstack_type 1 217 */ 218 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 219 return event[9]; 220 } 221 /** 222 * @brief Get field reserved1 from event HCI_EVENT_INQUIRY_RESULT 223 * @param event packet 224 * @return reserved1 225 * @note: btstack_type 1 226 */ 227 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){ 228 return event[10]; 229 } 230 /** 231 * @brief Get field reserved2 from event HCI_EVENT_INQUIRY_RESULT 232 * @param event packet 233 * @return reserved2 234 * @note: btstack_type 1 235 */ 236 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){ 237 return event[11]; 238 } 239 /** 240 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT 241 * @param event packet 242 * @return class_of_device 243 * @note: btstack_type 3 244 */ 245 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){ 246 return little_endian_read_24(event, 12); 247 } 248 /** 249 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT 250 * @param event packet 251 * @return clock_offset 252 * @note: btstack_type 2 253 */ 254 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){ 255 return little_endian_read_16(event, 15); 256 } 257 258 /** 259 * @brief Get field status from event HCI_EVENT_CONNECTION_COMPLETE 260 * @param event packet 261 * @return status 262 * @note: btstack_type 1 263 */ 264 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){ 265 return event[2]; 266 } 267 /** 268 * @brief Get field connection_handle from event HCI_EVENT_CONNECTION_COMPLETE 269 * @param event packet 270 * @return connection_handle 271 * @note: btstack_type 2 272 */ 273 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){ 274 return little_endian_read_16(event, 3); 275 } 276 /** 277 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_COMPLETE 278 * @param event packet 279 * @param Pointer to storage for bd_addr 280 * @note: btstack_type B 281 */ 282 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 283 reverse_bytes(&event[5], bd_addr, 6); 284 } 285 /** 286 * @brief Get field link_type from event HCI_EVENT_CONNECTION_COMPLETE 287 * @param event packet 288 * @return link_type 289 * @note: btstack_type 1 290 */ 291 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){ 292 return event[11]; 293 } 294 /** 295 * @brief Get field encryption_enabled from event HCI_EVENT_CONNECTION_COMPLETE 296 * @param event packet 297 * @return encryption_enabled 298 * @note: btstack_type 1 299 */ 300 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){ 301 return event[12]; 302 } 303 304 /** 305 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_REQUEST 306 * @param event packet 307 * @param Pointer to storage for bd_addr 308 * @note: btstack_type B 309 */ 310 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 311 reverse_bytes(&event[2], bd_addr, 6); 312 } 313 /** 314 * @brief Get field class_of_device from event HCI_EVENT_CONNECTION_REQUEST 315 * @param event packet 316 * @return class_of_device 317 * @note: btstack_type 3 318 */ 319 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){ 320 return little_endian_read_24(event, 8); 321 } 322 /** 323 * @brief Get field link_type from event HCI_EVENT_CONNECTION_REQUEST 324 * @param event packet 325 * @return link_type 326 * @note: btstack_type 1 327 */ 328 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){ 329 return event[11]; 330 } 331 332 /** 333 * @brief Get field status from event HCI_EVENT_DISCONNECTION_COMPLETE 334 * @param event packet 335 * @return status 336 * @note: btstack_type 1 337 */ 338 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){ 339 return event[2]; 340 } 341 /** 342 * @brief Get field connection_handle from event HCI_EVENT_DISCONNECTION_COMPLETE 343 * @param event packet 344 * @return connection_handle 345 * @note: btstack_type 2 346 */ 347 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){ 348 return little_endian_read_16(event, 3); 349 } 350 /** 351 * @brief Get field reason from event HCI_EVENT_DISCONNECTION_COMPLETE 352 * @param event packet 353 * @return reason 354 * @note: btstack_type 1 355 */ 356 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){ 357 return event[5]; 358 } 359 360 /** 361 * @brief Get field status from event HCI_EVENT_AUTHENTICATION_COMPLETE 362 * @param event packet 363 * @return status 364 * @note: btstack_type 1 365 */ 366 static inline uint8_t hci_event_authentication_complete_get_status(const uint8_t * event){ 367 return event[2]; 368 } 369 /** 370 * @brief Get field connection_handle from event HCI_EVENT_AUTHENTICATION_COMPLETE 371 * @param event packet 372 * @return connection_handle 373 * @note: btstack_type 2 374 */ 375 static inline uint16_t hci_event_authentication_complete_get_connection_handle(const uint8_t * event){ 376 return little_endian_read_16(event, 3); 377 } 378 379 /** 380 * @brief Get field status from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 381 * @param event packet 382 * @return status 383 * @note: btstack_type 1 384 */ 385 static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){ 386 return event[2]; 387 } 388 /** 389 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 390 * @param event packet 391 * @param Pointer to storage for bd_addr 392 * @note: btstack_type B 393 */ 394 static inline void hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 395 reverse_bytes(&event[3], bd_addr, 6); 396 } 397 /** 398 * @brief Get field remote_name from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 399 * @param event packet 400 * @return remote_name 401 * @note: btstack_type N 402 */ 403 static inline const char * hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){ 404 return (const char *) &event[9]; 405 } 406 407 /** 408 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE 409 * @param event packet 410 * @return status 411 * @note: btstack_type 1 412 */ 413 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){ 414 return event[2]; 415 } 416 /** 417 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE 418 * @param event packet 419 * @return connection_handle 420 * @note: btstack_type 2 421 */ 422 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){ 423 return little_endian_read_16(event, 3); 424 } 425 /** 426 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE 427 * @param event packet 428 * @return encryption_enabled 429 * @note: btstack_type 1 430 */ 431 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){ 432 return event[5]; 433 } 434 435 /** 436 * @brief Get field status from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 437 * @param event packet 438 * @return status 439 * @note: btstack_type 1 440 */ 441 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){ 442 return event[2]; 443 } 444 /** 445 * @brief Get field connection_handle from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 446 * @param event packet 447 * @return connection_handle 448 * @note: btstack_type 2 449 */ 450 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){ 451 return little_endian_read_16(event, 3); 452 } 453 454 /** 455 * @brief Get field status from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 456 * @param event packet 457 * @return status 458 * @note: btstack_type 1 459 */ 460 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){ 461 return event[2]; 462 } 463 /** 464 * @brief Get field connection_handle from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 465 * @param event packet 466 * @return connection_handle 467 * @note: btstack_type 2 468 */ 469 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){ 470 return little_endian_read_16(event, 3); 471 } 472 /** 473 * @brief Get field key_flag from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 474 * @param event packet 475 * @return key_flag 476 * @note: btstack_type 1 477 */ 478 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){ 479 return event[5]; 480 } 481 482 /** 483 * @brief Get field status from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 484 * @param event packet 485 * @return status 486 * @note: btstack_type 1 487 */ 488 static inline uint8_t hci_event_read_remote_version_information_complete_get_status(const uint8_t * event){ 489 return event[2]; 490 } 491 /** 492 * @brief Get field connection_handle from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 493 * @param event packet 494 * @return connection_handle 495 * @note: btstack_type 2 496 */ 497 static inline uint16_t hci_event_read_remote_version_information_complete_get_connection_handle(const uint8_t * event){ 498 return little_endian_read_16(event, 3); 499 } 500 /** 501 * @brief Get field version from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 502 * @param event packet 503 * @return version 504 * @note: btstack_type 1 505 */ 506 static inline uint8_t hci_event_read_remote_version_information_complete_get_version(const uint8_t * event){ 507 return event[5]; 508 } 509 /** 510 * @brief Get field manufacturer_name from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 511 * @param event packet 512 * @return manufacturer_name 513 * @note: btstack_type 2 514 */ 515 static inline uint16_t hci_event_read_remote_version_information_complete_get_manufacturer_name(const uint8_t * event){ 516 return little_endian_read_16(event, 6); 517 } 518 /** 519 * @brief Get field subversion from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 520 * @param event packet 521 * @return subversion 522 * @note: btstack_type 2 523 */ 524 static inline uint16_t hci_event_read_remote_version_information_complete_get_subversion(const uint8_t * event){ 525 return little_endian_read_16(event, 8); 526 } 527 528 /** 529 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_COMPLETE 530 * @param event packet 531 * @return num_hci_command_packets 532 * @note: btstack_type 1 533 */ 534 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){ 535 return event[2]; 536 } 537 /** 538 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_COMPLETE 539 * @param event packet 540 * @return command_opcode 541 * @note: btstack_type 2 542 */ 543 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){ 544 return little_endian_read_16(event, 3); 545 } 546 /** 547 * @brief Get field return_parameters from event HCI_EVENT_COMMAND_COMPLETE 548 * @param event packet 549 * @return return_parameters 550 * @note: btstack_type R 551 */ 552 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){ 553 return &event[5]; 554 } 555 556 /** 557 * @brief Get field status from event HCI_EVENT_COMMAND_STATUS 558 * @param event packet 559 * @return status 560 * @note: btstack_type 1 561 */ 562 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){ 563 return event[2]; 564 } 565 /** 566 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_STATUS 567 * @param event packet 568 * @return num_hci_command_packets 569 * @note: btstack_type 1 570 */ 571 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){ 572 return event[3]; 573 } 574 /** 575 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_STATUS 576 * @param event packet 577 * @return command_opcode 578 * @note: btstack_type 2 579 */ 580 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){ 581 return little_endian_read_16(event, 4); 582 } 583 584 /** 585 * @brief Get field hardware_code from event HCI_EVENT_HARDWARE_ERROR 586 * @param event packet 587 * @return hardware_code 588 * @note: btstack_type 1 589 */ 590 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){ 591 return event[2]; 592 } 593 594 /** 595 * @brief Get field status from event HCI_EVENT_ROLE_CHANGE 596 * @param event packet 597 * @return status 598 * @note: btstack_type 1 599 */ 600 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){ 601 return event[2]; 602 } 603 /** 604 * @brief Get field bd_addr from event HCI_EVENT_ROLE_CHANGE 605 * @param event packet 606 * @param Pointer to storage for bd_addr 607 * @note: btstack_type B 608 */ 609 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 610 reverse_bytes(&event[3], bd_addr, 6); 611 } 612 /** 613 * @brief Get field role from event HCI_EVENT_ROLE_CHANGE 614 * @param event packet 615 * @return role 616 * @note: btstack_type 1 617 */ 618 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){ 619 return event[9]; 620 } 621 622 /** 623 * @brief Get field status from event HCI_EVENT_MODE_CHANGE 624 * @param event packet 625 * @return status 626 * @note: btstack_type 1 627 */ 628 static inline uint8_t hci_event_mode_change_get_status(const uint8_t * event){ 629 return event[2]; 630 } 631 /** 632 * @brief Get field handle from event HCI_EVENT_MODE_CHANGE 633 * @param event packet 634 * @return handle 635 * @note: btstack_type H 636 */ 637 static inline hci_con_handle_t hci_event_mode_change_get_handle(const uint8_t * event){ 638 return little_endian_read_16(event, 3); 639 } 640 /** 641 * @brief Get field mode from event HCI_EVENT_MODE_CHANGE 642 * @param event packet 643 * @return mode 644 * @note: btstack_type 1 645 */ 646 static inline uint8_t hci_event_mode_change_get_mode(const uint8_t * event){ 647 return event[5]; 648 } 649 /** 650 * @brief Get field interval from event HCI_EVENT_MODE_CHANGE 651 * @param event packet 652 * @return interval 653 * @note: btstack_type 2 654 */ 655 static inline uint16_t hci_event_mode_change_get_interval(const uint8_t * event){ 656 return little_endian_read_16(event, 6); 657 } 658 659 /** 660 * @brief Get field bd_addr from event HCI_EVENT_PIN_CODE_REQUEST 661 * @param event packet 662 * @param Pointer to storage for bd_addr 663 * @note: btstack_type B 664 */ 665 static inline void hci_event_pin_code_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 666 reverse_bytes(&event[2], bd_addr, 6); 667 } 668 669 /** 670 * @brief Get field bd_addr from event HCI_EVENT_LINK_KEY_REQUEST 671 * @param event packet 672 * @param Pointer to storage for bd_addr 673 * @note: btstack_type B 674 */ 675 static inline void hci_event_link_key_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 676 reverse_bytes(&event[2], bd_addr, 6); 677 } 678 679 /** 680 * @brief Get field link_type from event HCI_EVENT_DATA_BUFFER_OVERFLOW 681 * @param event packet 682 * @return link_type 683 * @note: btstack_type 1 684 */ 685 static inline uint8_t hci_event_data_buffer_overflow_get_link_type(const uint8_t * event){ 686 return event[2]; 687 } 688 689 /** 690 * @brief Get field handle from event HCI_EVENT_MAX_SLOTS_CHANGED 691 * @param event packet 692 * @return handle 693 * @note: btstack_type H 694 */ 695 static inline hci_con_handle_t hci_event_max_slots_changed_get_handle(const uint8_t * event){ 696 return little_endian_read_16(event, 2); 697 } 698 /** 699 * @brief Get field lmp_max_slots from event HCI_EVENT_MAX_SLOTS_CHANGED 700 * @param event packet 701 * @return lmp_max_slots 702 * @note: btstack_type 1 703 */ 704 static inline uint8_t hci_event_max_slots_changed_get_lmp_max_slots(const uint8_t * event){ 705 return event[4]; 706 } 707 708 /** 709 * @brief Get field status from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 710 * @param event packet 711 * @return status 712 * @note: btstack_type 1 713 */ 714 static inline uint8_t hci_event_read_clock_offset_complete_get_status(const uint8_t * event){ 715 return event[2]; 716 } 717 /** 718 * @brief Get field handle from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 719 * @param event packet 720 * @return handle 721 * @note: btstack_type H 722 */ 723 static inline hci_con_handle_t hci_event_read_clock_offset_complete_get_handle(const uint8_t * event){ 724 return little_endian_read_16(event, 3); 725 } 726 /** 727 * @brief Get field clock_offset from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 728 * @param event packet 729 * @return clock_offset 730 * @note: btstack_type 2 731 */ 732 static inline uint16_t hci_event_read_clock_offset_complete_get_clock_offset(const uint8_t * event){ 733 return little_endian_read_16(event, 5); 734 } 735 736 /** 737 * @brief Get field status from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 738 * @param event packet 739 * @return status 740 * @note: btstack_type 1 741 */ 742 static inline uint8_t hci_event_connection_packet_type_changed_get_status(const uint8_t * event){ 743 return event[2]; 744 } 745 /** 746 * @brief Get field handle from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 747 * @param event packet 748 * @return handle 749 * @note: btstack_type H 750 */ 751 static inline hci_con_handle_t hci_event_connection_packet_type_changed_get_handle(const uint8_t * event){ 752 return little_endian_read_16(event, 3); 753 } 754 /** 755 * @brief Get field packet_types from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 756 * @param event packet 757 * @return packet_types 758 * @note: btstack_type 2 759 */ 760 static inline uint16_t hci_event_connection_packet_type_changed_get_packet_types(const uint8_t * event){ 761 return little_endian_read_16(event, 5); 762 } 763 764 /** 765 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 766 * @param event packet 767 * @return num_responses 768 * @note: btstack_type 1 769 */ 770 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){ 771 return event[2]; 772 } 773 /** 774 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 775 * @param event packet 776 * @param Pointer to storage for bd_addr 777 * @note: btstack_type B 778 */ 779 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 780 reverse_bytes(&event[3], bd_addr, 6); 781 } 782 /** 783 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 784 * @param event packet 785 * @return page_scan_repetition_mode 786 * @note: btstack_type 1 787 */ 788 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){ 789 return event[9]; 790 } 791 /** 792 * @brief Get field reserved from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 793 * @param event packet 794 * @return reserved 795 * @note: btstack_type 1 796 */ 797 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){ 798 return event[10]; 799 } 800 /** 801 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 802 * @param event packet 803 * @return class_of_device 804 * @note: btstack_type 3 805 */ 806 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){ 807 return little_endian_read_24(event, 11); 808 } 809 /** 810 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 811 * @param event packet 812 * @return clock_offset 813 * @note: btstack_type 2 814 */ 815 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){ 816 return little_endian_read_16(event, 14); 817 } 818 /** 819 * @brief Get field rssi from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 820 * @param event packet 821 * @return rssi 822 * @note: btstack_type 1 823 */ 824 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){ 825 return event[16]; 826 } 827 828 /** 829 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 830 * @param event packet 831 * @return status 832 * @note: btstack_type 1 833 */ 834 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){ 835 return event[2]; 836 } 837 /** 838 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 839 * @param event packet 840 * @return handle 841 * @note: btstack_type H 842 */ 843 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){ 844 return little_endian_read_16(event, 3); 845 } 846 /** 847 * @brief Get field bd_addr from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 848 * @param event packet 849 * @param Pointer to storage for bd_addr 850 * @note: btstack_type B 851 */ 852 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 853 reverse_bytes(&event[5], bd_addr, 6); 854 } 855 /** 856 * @brief Get field link_type from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 857 * @param event packet 858 * @return link_type 859 * @note: btstack_type 1 860 */ 861 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){ 862 return event[11]; 863 } 864 /** 865 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 866 * @param event packet 867 * @return transmission_interval 868 * @note: btstack_type 1 869 */ 870 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){ 871 return event[12]; 872 } 873 /** 874 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 875 * @param event packet 876 * @return retransmission_interval 877 * @note: btstack_type 1 878 */ 879 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){ 880 return event[13]; 881 } 882 /** 883 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 884 * @param event packet 885 * @return rx_packet_length 886 * @note: btstack_type 2 887 */ 888 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){ 889 return little_endian_read_16(event, 14); 890 } 891 /** 892 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 893 * @param event packet 894 * @return tx_packet_length 895 * @note: btstack_type 2 896 */ 897 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){ 898 return little_endian_read_16(event, 16); 899 } 900 /** 901 * @brief Get field air_mode from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 902 * @param event packet 903 * @return air_mode 904 * @note: btstack_type 1 905 */ 906 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){ 907 return event[18]; 908 } 909 910 /** 911 * @brief Get field num_responses from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 912 * @param event packet 913 * @return num_responses 914 * @note: btstack_type 1 915 */ 916 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){ 917 return event[2]; 918 } 919 /** 920 * @brief Get field bd_addr from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 921 * @param event packet 922 * @param Pointer to storage for bd_addr 923 * @note: btstack_type B 924 */ 925 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 926 reverse_bytes(&event[3], bd_addr, 6); 927 } 928 /** 929 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 930 * @param event packet 931 * @return page_scan_repetition_mode 932 * @note: btstack_type 1 933 */ 934 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){ 935 return event[9]; 936 } 937 /** 938 * @brief Get field reserved from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 939 * @param event packet 940 * @return reserved 941 * @note: btstack_type 1 942 */ 943 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){ 944 return event[10]; 945 } 946 /** 947 * @brief Get field class_of_device from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 948 * @param event packet 949 * @return class_of_device 950 * @note: btstack_type 3 951 */ 952 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){ 953 return little_endian_read_24(event, 11); 954 } 955 /** 956 * @brief Get field clock_offset from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 957 * @param event packet 958 * @return clock_offset 959 * @note: btstack_type 2 960 */ 961 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){ 962 return little_endian_read_16(event, 14); 963 } 964 /** 965 * @brief Get field rssi from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 966 * @param event packet 967 * @return rssi 968 * @note: btstack_type 1 969 */ 970 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){ 971 return event[16]; 972 } 973 974 /** 975 * @brief Get field status from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 976 * @param event packet 977 * @return status 978 * @note: btstack_type 1 979 */ 980 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){ 981 return event[2]; 982 } 983 /** 984 * @brief Get field handle from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 985 * @param event packet 986 * @return handle 987 * @note: btstack_type H 988 */ 989 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){ 990 return little_endian_read_16(event, 3); 991 } 992 993 /** 994 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_REQUEST 995 * @param event packet 996 * @param Pointer to storage for bd_addr 997 * @note: btstack_type B 998 */ 999 static inline void hci_event_io_capability_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1000 reverse_bytes(&event[2], bd_addr, 6); 1001 } 1002 1003 /** 1004 * @brief Get field bd_addr from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1005 * @param event packet 1006 * @param Pointer to storage for bd_addr 1007 * @note: btstack_type B 1008 */ 1009 static inline void hci_event_io_capability_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1010 reverse_bytes(&event[2], bd_addr, 6); 1011 } 1012 /** 1013 * @brief Get field io_capability from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1014 * @param event packet 1015 * @return io_capability 1016 * @note: btstack_type 1 1017 */ 1018 static inline uint8_t hci_event_io_capability_response_get_io_capability(const uint8_t * event){ 1019 return event[8]; 1020 } 1021 /** 1022 * @brief Get field oob_data_present from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1023 * @param event packet 1024 * @return oob_data_present 1025 * @note: btstack_type 1 1026 */ 1027 static inline uint8_t hci_event_io_capability_response_get_oob_data_present(const uint8_t * event){ 1028 return event[9]; 1029 } 1030 /** 1031 * @brief Get field authentication_requirements from event HCI_EVENT_IO_CAPABILITY_RESPONSE 1032 * @param event packet 1033 * @return authentication_requirements 1034 * @note: btstack_type 1 1035 */ 1036 static inline uint8_t hci_event_io_capability_response_get_authentication_requirements(const uint8_t * event){ 1037 return event[10]; 1038 } 1039 1040 /** 1041 * @brief Get field bd_addr from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1042 * @param event packet 1043 * @param Pointer to storage for bd_addr 1044 * @note: btstack_type B 1045 */ 1046 static inline void hci_event_user_confirmation_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1047 reverse_bytes(&event[2], bd_addr, 6); 1048 } 1049 /** 1050 * @brief Get field numeric_value from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1051 * @param event packet 1052 * @return numeric_value 1053 * @note: btstack_type 4 1054 */ 1055 static inline uint32_t hci_event_user_confirmation_request_get_numeric_value(const uint8_t * event){ 1056 return little_endian_read_32(event, 8); 1057 } 1058 1059 /** 1060 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_REQUEST 1061 * @param event packet 1062 * @param Pointer to storage for bd_addr 1063 * @note: btstack_type B 1064 */ 1065 static inline void hci_event_user_passkey_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1066 reverse_bytes(&event[2], bd_addr, 6); 1067 } 1068 1069 /** 1070 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_OOB_DATA_REQUEST 1071 * @param event packet 1072 * @param Pointer to storage for bd_addr 1073 * @note: btstack_type B 1074 */ 1075 static inline void hci_event_remote_oob_data_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1076 reverse_bytes(&event[2], bd_addr, 6); 1077 } 1078 1079 /** 1080 * @brief Get field status from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1081 * @param event packet 1082 * @return status 1083 * @note: btstack_type 1 1084 */ 1085 static inline uint8_t hci_event_simple_pairing_complete_get_status(const uint8_t * event){ 1086 return event[2]; 1087 } 1088 /** 1089 * @brief Get field bd_addr from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1090 * @param event packet 1091 * @param Pointer to storage for bd_addr 1092 * @note: btstack_type B 1093 */ 1094 static inline void hci_event_simple_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1095 reverse_bytes(&event[3], bd_addr, 6); 1096 } 1097 1098 /** 1099 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1100 * @param event packet 1101 * @param Pointer to storage for bd_addr 1102 * @note: btstack_type B 1103 */ 1104 static inline void hci_event_user_passkey_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1105 reverse_bytes(&event[2], bd_addr, 6); 1106 } 1107 /** 1108 * @brief Get field numeric_value from event HCI_EVENT_USER_PASSKEY_NOTIFICATION 1109 * @param event packet 1110 * @return numeric_value 1111 * @note: btstack_type 4 1112 */ 1113 static inline uint32_t hci_event_user_passkey_notification_get_numeric_value(const uint8_t * event){ 1114 return little_endian_read_32(event, 8); 1115 } 1116 1117 /** 1118 * @brief Get field bd_addr from event HCI_EVENT_KEYPRESS_NOTIFICATION 1119 * @param event packet 1120 * @param Pointer to storage for bd_addr 1121 * @note: btstack_type B 1122 */ 1123 static inline void hci_event_keypress_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1124 reverse_bytes(&event[2], bd_addr, 6); 1125 } 1126 /** 1127 * @brief Get field notification_type from event HCI_EVENT_KEYPRESS_NOTIFICATION 1128 * @param event packet 1129 * @return notification_type 1130 * @note: btstack_type 1 1131 */ 1132 static inline uint8_t hci_event_keypress_notification_get_notification_type(const uint8_t * event){ 1133 return event[8]; 1134 } 1135 1136 /** 1137 * @brief Get field state from event BTSTACK_EVENT_STATE 1138 * @param event packet 1139 * @return state 1140 * @note: btstack_type 1 1141 */ 1142 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){ 1143 return event[2]; 1144 } 1145 1146 /** 1147 * @brief Get field number_connections from event BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 1148 * @param event packet 1149 * @return number_connections 1150 * @note: btstack_type 1 1151 */ 1152 static inline uint8_t btstack_event_nr_connections_changed_get_number_connections(const uint8_t * event){ 1153 return event[2]; 1154 } 1155 1156 1157 /** 1158 * @brief Get field discoverable from event BTSTACK_EVENT_DISCOVERABLE_ENABLED 1159 * @param event packet 1160 * @return discoverable 1161 * @note: btstack_type 1 1162 */ 1163 static inline uint8_t btstack_event_discoverable_enabled_get_discoverable(const uint8_t * event){ 1164 return event[2]; 1165 } 1166 1167 /** 1168 * @brief Get field active from event HCI_EVENT_TRANSPORT_SLEEP_MODE 1169 * @param event packet 1170 * @return active 1171 * @note: btstack_type 1 1172 */ 1173 static inline uint8_t hci_event_transport_sleep_mode_get_active(const uint8_t * event){ 1174 return event[2]; 1175 } 1176 1177 /** 1178 * @brief Get field handle from event HCI_EVENT_SCO_CAN_SEND_NOW 1179 * @param event packet 1180 * @param Pointer to storage for handle 1181 * @note: btstack_type B 1182 */ 1183 static inline void hci_event_sco_can_send_now_get_handle(const uint8_t * event, bd_addr_t handle){ 1184 reverse_bytes(&event[2], handle, 6); 1185 } 1186 1187 /** 1188 * @brief Get field status from event L2CAP_EVENT_CHANNEL_OPENED 1189 * @param event packet 1190 * @return status 1191 * @note: btstack_type 1 1192 */ 1193 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){ 1194 return event[2]; 1195 } 1196 /** 1197 * @brief Get field address from event L2CAP_EVENT_CHANNEL_OPENED 1198 * @param event packet 1199 * @param Pointer to storage for address 1200 * @note: btstack_type B 1201 */ 1202 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1203 reverse_bytes(&event[3], address, 6); 1204 } 1205 /** 1206 * @brief Get field handle from event L2CAP_EVENT_CHANNEL_OPENED 1207 * @param event packet 1208 * @return handle 1209 * @note: btstack_type H 1210 */ 1211 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){ 1212 return little_endian_read_16(event, 9); 1213 } 1214 /** 1215 * @brief Get field psm from event L2CAP_EVENT_CHANNEL_OPENED 1216 * @param event packet 1217 * @return psm 1218 * @note: btstack_type 2 1219 */ 1220 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){ 1221 return little_endian_read_16(event, 11); 1222 } 1223 /** 1224 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_OPENED 1225 * @param event packet 1226 * @return local_cid 1227 * @note: btstack_type 2 1228 */ 1229 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){ 1230 return little_endian_read_16(event, 13); 1231 } 1232 /** 1233 * @brief Get field remote_cid from event L2CAP_EVENT_CHANNEL_OPENED 1234 * @param event packet 1235 * @return remote_cid 1236 * @note: btstack_type 2 1237 */ 1238 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){ 1239 return little_endian_read_16(event, 15); 1240 } 1241 /** 1242 * @brief Get field local_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1243 * @param event packet 1244 * @return local_mtu 1245 * @note: btstack_type 2 1246 */ 1247 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){ 1248 return little_endian_read_16(event, 17); 1249 } 1250 /** 1251 * @brief Get field remote_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1252 * @param event packet 1253 * @return remote_mtu 1254 * @note: btstack_type 2 1255 */ 1256 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){ 1257 return little_endian_read_16(event, 19); 1258 } 1259 /** 1260 * @brief Get field flush_timeout from event L2CAP_EVENT_CHANNEL_OPENED 1261 * @param event packet 1262 * @return flush_timeout 1263 * @note: btstack_type 2 1264 */ 1265 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){ 1266 return little_endian_read_16(event, 21); 1267 } 1268 /** 1269 * @brief Get field incoming from event L2CAP_EVENT_CHANNEL_OPENED 1270 * @param event packet 1271 * @return incoming 1272 * @note: btstack_type 1 1273 */ 1274 static inline uint8_t l2cap_event_channel_opened_get_incoming(const uint8_t * event){ 1275 return event[23]; 1276 } 1277 /** 1278 * @brief Get field mode from event L2CAP_EVENT_CHANNEL_OPENED 1279 * @param event packet 1280 * @return mode 1281 * @note: btstack_type 1 1282 */ 1283 static inline uint8_t l2cap_event_channel_opened_get_mode(const uint8_t * event){ 1284 return event[24]; 1285 } 1286 /** 1287 * @brief Get field fcs from event L2CAP_EVENT_CHANNEL_OPENED 1288 * @param event packet 1289 * @return fcs 1290 * @note: btstack_type 1 1291 */ 1292 static inline uint8_t l2cap_event_channel_opened_get_fcs(const uint8_t * event){ 1293 return event[25]; 1294 } 1295 1296 /** 1297 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_CLOSED 1298 * @param event packet 1299 * @return local_cid 1300 * @note: btstack_type 2 1301 */ 1302 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){ 1303 return little_endian_read_16(event, 2); 1304 } 1305 1306 /** 1307 * @brief Get field address from event L2CAP_EVENT_INCOMING_CONNECTION 1308 * @param event packet 1309 * @param Pointer to storage for address 1310 * @note: btstack_type B 1311 */ 1312 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1313 reverse_bytes(&event[2], address, 6); 1314 } 1315 /** 1316 * @brief Get field handle from event L2CAP_EVENT_INCOMING_CONNECTION 1317 * @param event packet 1318 * @return handle 1319 * @note: btstack_type H 1320 */ 1321 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){ 1322 return little_endian_read_16(event, 8); 1323 } 1324 /** 1325 * @brief Get field psm from event L2CAP_EVENT_INCOMING_CONNECTION 1326 * @param event packet 1327 * @return psm 1328 * @note: btstack_type 2 1329 */ 1330 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){ 1331 return little_endian_read_16(event, 10); 1332 } 1333 /** 1334 * @brief Get field local_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1335 * @param event packet 1336 * @return local_cid 1337 * @note: btstack_type 2 1338 */ 1339 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){ 1340 return little_endian_read_16(event, 12); 1341 } 1342 /** 1343 * @brief Get field remote_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1344 * @param event packet 1345 * @return remote_cid 1346 * @note: btstack_type 2 1347 */ 1348 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){ 1349 return little_endian_read_16(event, 14); 1350 } 1351 1352 /** 1353 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1354 * @param event packet 1355 * @return handle 1356 * @note: btstack_type H 1357 */ 1358 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){ 1359 return little_endian_read_16(event, 2); 1360 } 1361 /** 1362 * @brief Get field interval_min from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1363 * @param event packet 1364 * @return interval_min 1365 * @note: btstack_type 2 1366 */ 1367 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){ 1368 return little_endian_read_16(event, 4); 1369 } 1370 /** 1371 * @brief Get field interval_max from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1372 * @param event packet 1373 * @return interval_max 1374 * @note: btstack_type 2 1375 */ 1376 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){ 1377 return little_endian_read_16(event, 6); 1378 } 1379 /** 1380 * @brief Get field latencey from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1381 * @param event packet 1382 * @return latencey 1383 * @note: btstack_type 2 1384 */ 1385 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latencey(const uint8_t * event){ 1386 return little_endian_read_16(event, 8); 1387 } 1388 /** 1389 * @brief Get field timeout_multiplier from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1390 * @param event packet 1391 * @return timeout_multiplier 1392 * @note: btstack_type 2 1393 */ 1394 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){ 1395 return little_endian_read_16(event, 10); 1396 } 1397 1398 /** 1399 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1400 * @param event packet 1401 * @return handle 1402 * @note: btstack_type H 1403 */ 1404 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){ 1405 return little_endian_read_16(event, 2); 1406 } 1407 /** 1408 * @brief Get field result from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1409 * @param event packet 1410 * @return result 1411 * @note: btstack_type 2 1412 */ 1413 static inline uint16_t l2cap_event_connection_parameter_update_response_get_result(const uint8_t * event){ 1414 return little_endian_read_16(event, 4); 1415 } 1416 1417 /** 1418 * @brief Get field local_cid from event L2CAP_EVENT_CAN_SEND_NOW 1419 * @param event packet 1420 * @return local_cid 1421 * @note: btstack_type 2 1422 */ 1423 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){ 1424 return little_endian_read_16(event, 2); 1425 } 1426 1427 /** 1428 * @brief Get field address_type from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1429 * @param event packet 1430 * @return address_type 1431 * @note: btstack_type 1 1432 */ 1433 static inline uint8_t l2cap_event_le_incoming_connection_get_address_type(const uint8_t * event){ 1434 return event[2]; 1435 } 1436 /** 1437 * @brief Get field address from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1438 * @param event packet 1439 * @param Pointer to storage for address 1440 * @note: btstack_type B 1441 */ 1442 static inline void l2cap_event_le_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1443 reverse_bytes(&event[3], address, 6); 1444 } 1445 /** 1446 * @brief Get field handle from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1447 * @param event packet 1448 * @return handle 1449 * @note: btstack_type H 1450 */ 1451 static inline hci_con_handle_t l2cap_event_le_incoming_connection_get_handle(const uint8_t * event){ 1452 return little_endian_read_16(event, 9); 1453 } 1454 /** 1455 * @brief Get field psm from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1456 * @param event packet 1457 * @return psm 1458 * @note: btstack_type 2 1459 */ 1460 static inline uint16_t l2cap_event_le_incoming_connection_get_psm(const uint8_t * event){ 1461 return little_endian_read_16(event, 11); 1462 } 1463 /** 1464 * @brief Get field local_cid from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1465 * @param event packet 1466 * @return local_cid 1467 * @note: btstack_type 2 1468 */ 1469 static inline uint16_t l2cap_event_le_incoming_connection_get_local_cid(const uint8_t * event){ 1470 return little_endian_read_16(event, 13); 1471 } 1472 /** 1473 * @brief Get field remote_cid from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1474 * @param event packet 1475 * @return remote_cid 1476 * @note: btstack_type 2 1477 */ 1478 static inline uint16_t l2cap_event_le_incoming_connection_get_remote_cid(const uint8_t * event){ 1479 return little_endian_read_16(event, 15); 1480 } 1481 /** 1482 * @brief Get field remote_mtu from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1483 * @param event packet 1484 * @return remote_mtu 1485 * @note: btstack_type 2 1486 */ 1487 static inline uint16_t l2cap_event_le_incoming_connection_get_remote_mtu(const uint8_t * event){ 1488 return little_endian_read_16(event, 17); 1489 } 1490 1491 /** 1492 * @brief Get field status from event L2CAP_EVENT_LE_CHANNEL_OPENED 1493 * @param event packet 1494 * @return status 1495 * @note: btstack_type 1 1496 */ 1497 static inline uint8_t l2cap_event_le_channel_opened_get_status(const uint8_t * event){ 1498 return event[2]; 1499 } 1500 /** 1501 * @brief Get field address_type from event L2CAP_EVENT_LE_CHANNEL_OPENED 1502 * @param event packet 1503 * @return address_type 1504 * @note: btstack_type 1 1505 */ 1506 static inline uint8_t l2cap_event_le_channel_opened_get_address_type(const uint8_t * event){ 1507 return event[3]; 1508 } 1509 /** 1510 * @brief Get field address from event L2CAP_EVENT_LE_CHANNEL_OPENED 1511 * @param event packet 1512 * @param Pointer to storage for address 1513 * @note: btstack_type B 1514 */ 1515 static inline void l2cap_event_le_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1516 reverse_bytes(&event[4], address, 6); 1517 } 1518 /** 1519 * @brief Get field handle from event L2CAP_EVENT_LE_CHANNEL_OPENED 1520 * @param event packet 1521 * @return handle 1522 * @note: btstack_type H 1523 */ 1524 static inline hci_con_handle_t l2cap_event_le_channel_opened_get_handle(const uint8_t * event){ 1525 return little_endian_read_16(event, 10); 1526 } 1527 /** 1528 * @brief Get field incoming from event L2CAP_EVENT_LE_CHANNEL_OPENED 1529 * @param event packet 1530 * @return incoming 1531 * @note: btstack_type 1 1532 */ 1533 static inline uint8_t l2cap_event_le_channel_opened_get_incoming(const uint8_t * event){ 1534 return event[12]; 1535 } 1536 /** 1537 * @brief Get field psm from event L2CAP_EVENT_LE_CHANNEL_OPENED 1538 * @param event packet 1539 * @return psm 1540 * @note: btstack_type 2 1541 */ 1542 static inline uint16_t l2cap_event_le_channel_opened_get_psm(const uint8_t * event){ 1543 return little_endian_read_16(event, 13); 1544 } 1545 /** 1546 * @brief Get field local_cid from event L2CAP_EVENT_LE_CHANNEL_OPENED 1547 * @param event packet 1548 * @return local_cid 1549 * @note: btstack_type 2 1550 */ 1551 static inline uint16_t l2cap_event_le_channel_opened_get_local_cid(const uint8_t * event){ 1552 return little_endian_read_16(event, 15); 1553 } 1554 /** 1555 * @brief Get field remote_cid from event L2CAP_EVENT_LE_CHANNEL_OPENED 1556 * @param event packet 1557 * @return remote_cid 1558 * @note: btstack_type 2 1559 */ 1560 static inline uint16_t l2cap_event_le_channel_opened_get_remote_cid(const uint8_t * event){ 1561 return little_endian_read_16(event, 17); 1562 } 1563 /** 1564 * @brief Get field local_mtu from event L2CAP_EVENT_LE_CHANNEL_OPENED 1565 * @param event packet 1566 * @return local_mtu 1567 * @note: btstack_type 2 1568 */ 1569 static inline uint16_t l2cap_event_le_channel_opened_get_local_mtu(const uint8_t * event){ 1570 return little_endian_read_16(event, 19); 1571 } 1572 /** 1573 * @brief Get field remote_mtu from event L2CAP_EVENT_LE_CHANNEL_OPENED 1574 * @param event packet 1575 * @return remote_mtu 1576 * @note: btstack_type 2 1577 */ 1578 static inline uint16_t l2cap_event_le_channel_opened_get_remote_mtu(const uint8_t * event){ 1579 return little_endian_read_16(event, 21); 1580 } 1581 1582 /** 1583 * @brief Get field local_cid from event L2CAP_EVENT_LE_CHANNEL_CLOSED 1584 * @param event packet 1585 * @return local_cid 1586 * @note: btstack_type 2 1587 */ 1588 static inline uint16_t l2cap_event_le_channel_closed_get_local_cid(const uint8_t * event){ 1589 return little_endian_read_16(event, 2); 1590 } 1591 1592 /** 1593 * @brief Get field local_cid from event L2CAP_EVENT_LE_CAN_SEND_NOW 1594 * @param event packet 1595 * @return local_cid 1596 * @note: btstack_type 2 1597 */ 1598 static inline uint16_t l2cap_event_le_can_send_now_get_local_cid(const uint8_t * event){ 1599 return little_endian_read_16(event, 2); 1600 } 1601 1602 /** 1603 * @brief Get field local_cid from event L2CAP_EVENT_LE_PACKET_SENT 1604 * @param event packet 1605 * @return local_cid 1606 * @note: btstack_type 2 1607 */ 1608 static inline uint16_t l2cap_event_le_packet_sent_get_local_cid(const uint8_t * event){ 1609 return little_endian_read_16(event, 2); 1610 } 1611 1612 /** 1613 * @brief Get field local_cid from event L2CAP_EVENT_ERTM_BUFFER_RELEASED 1614 * @param event packet 1615 * @return local_cid 1616 * @note: btstack_type 2 1617 */ 1618 static inline uint16_t l2cap_event_ertm_buffer_released_get_local_cid(const uint8_t * event){ 1619 return little_endian_read_16(event, 2); 1620 } 1621 1622 1623 /** 1624 * @brief Get field status from event RFCOMM_EVENT_CHANNEL_OPENED 1625 * @param event packet 1626 * @return status 1627 * @note: btstack_type 1 1628 */ 1629 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){ 1630 return event[2]; 1631 } 1632 /** 1633 * @brief Get field bd_addr from event RFCOMM_EVENT_CHANNEL_OPENED 1634 * @param event packet 1635 * @param Pointer to storage for bd_addr 1636 * @note: btstack_type B 1637 */ 1638 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1639 reverse_bytes(&event[3], bd_addr, 6); 1640 } 1641 /** 1642 * @brief Get field con_handle from event RFCOMM_EVENT_CHANNEL_OPENED 1643 * @param event packet 1644 * @return con_handle 1645 * @note: btstack_type 2 1646 */ 1647 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){ 1648 return little_endian_read_16(event, 9); 1649 } 1650 /** 1651 * @brief Get field server_channel from event RFCOMM_EVENT_CHANNEL_OPENED 1652 * @param event packet 1653 * @return server_channel 1654 * @note: btstack_type 1 1655 */ 1656 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){ 1657 return event[11]; 1658 } 1659 /** 1660 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_OPENED 1661 * @param event packet 1662 * @return rfcomm_cid 1663 * @note: btstack_type 2 1664 */ 1665 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){ 1666 return little_endian_read_16(event, 12); 1667 } 1668 /** 1669 * @brief Get field max_frame_size from event RFCOMM_EVENT_CHANNEL_OPENED 1670 * @param event packet 1671 * @return max_frame_size 1672 * @note: btstack_type 2 1673 */ 1674 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){ 1675 return little_endian_read_16(event, 14); 1676 } 1677 /** 1678 * @brief Get field incoming from event RFCOMM_EVENT_CHANNEL_OPENED 1679 * @param event packet 1680 * @return incoming 1681 * @note: btstack_type 1 1682 */ 1683 static inline uint8_t rfcomm_event_channel_opened_get_incoming(const uint8_t * event){ 1684 return event[16]; 1685 } 1686 1687 /** 1688 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_CLOSED 1689 * @param event packet 1690 * @return rfcomm_cid 1691 * @note: btstack_type 2 1692 */ 1693 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){ 1694 return little_endian_read_16(event, 2); 1695 } 1696 1697 /** 1698 * @brief Get field bd_addr from event RFCOMM_EVENT_INCOMING_CONNECTION 1699 * @param event packet 1700 * @param Pointer to storage for bd_addr 1701 * @note: btstack_type B 1702 */ 1703 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1704 reverse_bytes(&event[2], bd_addr, 6); 1705 } 1706 /** 1707 * @brief Get field server_channel from event RFCOMM_EVENT_INCOMING_CONNECTION 1708 * @param event packet 1709 * @return server_channel 1710 * @note: btstack_type 1 1711 */ 1712 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){ 1713 return event[8]; 1714 } 1715 /** 1716 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_INCOMING_CONNECTION 1717 * @param event packet 1718 * @return rfcomm_cid 1719 * @note: btstack_type 2 1720 */ 1721 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){ 1722 return little_endian_read_16(event, 9); 1723 } 1724 1725 /** 1726 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_LINE_STATUS 1727 * @param event packet 1728 * @return rfcomm_cid 1729 * @note: btstack_type 2 1730 */ 1731 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){ 1732 return little_endian_read_16(event, 2); 1733 } 1734 /** 1735 * @brief Get field line_status from event RFCOMM_EVENT_REMOTE_LINE_STATUS 1736 * @param event packet 1737 * @return line_status 1738 * @note: btstack_type 1 1739 */ 1740 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){ 1741 return event[4]; 1742 } 1743 1744 /** 1745 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 1746 * @param event packet 1747 * @return rfcomm_cid 1748 * @note: btstack_type 2 1749 */ 1750 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){ 1751 return little_endian_read_16(event, 2); 1752 } 1753 /** 1754 * @brief Get field modem_status from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 1755 * @param event packet 1756 * @return modem_status 1757 * @note: btstack_type 1 1758 */ 1759 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){ 1760 return event[4]; 1761 } 1762 1763 /** 1764 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CAN_SEND_NOW 1765 * @param event packet 1766 * @return rfcomm_cid 1767 * @note: btstack_type 2 1768 */ 1769 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){ 1770 return little_endian_read_16(event, 2); 1771 } 1772 1773 /** 1774 * @brief Get field status from event SDP_EVENT_QUERY_COMPLETE 1775 * @param event packet 1776 * @return status 1777 * @note: btstack_type 1 1778 */ 1779 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){ 1780 return event[2]; 1781 } 1782 1783 /** 1784 * @brief Get field rfcomm_channel from event SDP_EVENT_QUERY_RFCOMM_SERVICE 1785 * @param event packet 1786 * @return rfcomm_channel 1787 * @note: btstack_type 1 1788 */ 1789 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){ 1790 return event[2]; 1791 } 1792 /** 1793 * @brief Get field name from event SDP_EVENT_QUERY_RFCOMM_SERVICE 1794 * @param event packet 1795 * @return name 1796 * @note: btstack_type T 1797 */ 1798 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){ 1799 return (const char *) &event[3]; 1800 } 1801 1802 /** 1803 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1804 * @param event packet 1805 * @return record_id 1806 * @note: btstack_type 2 1807 */ 1808 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){ 1809 return little_endian_read_16(event, 2); 1810 } 1811 /** 1812 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1813 * @param event packet 1814 * @return attribute_id 1815 * @note: btstack_type 2 1816 */ 1817 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){ 1818 return little_endian_read_16(event, 4); 1819 } 1820 /** 1821 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1822 * @param event packet 1823 * @return attribute_length 1824 * @note: btstack_type 2 1825 */ 1826 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){ 1827 return little_endian_read_16(event, 6); 1828 } 1829 /** 1830 * @brief Get field data_offset from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1831 * @param event packet 1832 * @return data_offset 1833 * @note: btstack_type 2 1834 */ 1835 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){ 1836 return little_endian_read_16(event, 8); 1837 } 1838 /** 1839 * @brief Get field data from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1840 * @param event packet 1841 * @return data 1842 * @note: btstack_type 1 1843 */ 1844 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){ 1845 return event[10]; 1846 } 1847 1848 /** 1849 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1850 * @param event packet 1851 * @return record_id 1852 * @note: btstack_type 2 1853 */ 1854 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){ 1855 return little_endian_read_16(event, 2); 1856 } 1857 /** 1858 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1859 * @param event packet 1860 * @return attribute_id 1861 * @note: btstack_type 2 1862 */ 1863 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){ 1864 return little_endian_read_16(event, 4); 1865 } 1866 /** 1867 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1868 * @param event packet 1869 * @return attribute_length 1870 * @note: btstack_type L 1871 */ 1872 static inline uint16_t sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){ 1873 return little_endian_read_16(event, 6); 1874 } 1875 /** 1876 * @brief Get field attribute_value from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1877 * @param event packet 1878 * @return attribute_value 1879 * @note: btstack_type V 1880 */ 1881 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){ 1882 return &event[8]; 1883 } 1884 1885 /** 1886 * @brief Get field total_count from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 1887 * @param event packet 1888 * @return total_count 1889 * @note: btstack_type 2 1890 */ 1891 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){ 1892 return little_endian_read_16(event, 2); 1893 } 1894 /** 1895 * @brief Get field record_index from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 1896 * @param event packet 1897 * @return record_index 1898 * @note: btstack_type 2 1899 */ 1900 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){ 1901 return little_endian_read_16(event, 4); 1902 } 1903 /** 1904 * @brief Get field record_handle from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 1905 * @param event packet 1906 * @return record_handle 1907 * @note: btstack_type 4 1908 */ 1909 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){ 1910 return little_endian_read_32(event, 6); 1911 } 1912 1913 #ifdef ENABLE_BLE 1914 /** 1915 * @brief Get field handle from event GATT_EVENT_QUERY_COMPLETE 1916 * @param event packet 1917 * @return handle 1918 * @note: btstack_type H 1919 */ 1920 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){ 1921 return little_endian_read_16(event, 2); 1922 } 1923 /** 1924 * @brief Get field att_status from event GATT_EVENT_QUERY_COMPLETE 1925 * @param event packet 1926 * @return att_status 1927 * @note: btstack_type 1 1928 */ 1929 static inline uint8_t gatt_event_query_complete_get_att_status(const uint8_t * event){ 1930 return event[4]; 1931 } 1932 #endif 1933 1934 #ifdef ENABLE_BLE 1935 /** 1936 * @brief Get field handle from event GATT_EVENT_SERVICE_QUERY_RESULT 1937 * @param event packet 1938 * @return handle 1939 * @note: btstack_type H 1940 */ 1941 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){ 1942 return little_endian_read_16(event, 2); 1943 } 1944 /** 1945 * @brief Get field service from event GATT_EVENT_SERVICE_QUERY_RESULT 1946 * @param event packet 1947 * @param Pointer to storage for service 1948 * @note: btstack_type X 1949 */ 1950 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 1951 gatt_client_deserialize_service(event, 4, service); 1952 } 1953 #endif 1954 1955 #ifdef ENABLE_BLE 1956 /** 1957 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 1958 * @param event packet 1959 * @return handle 1960 * @note: btstack_type H 1961 */ 1962 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){ 1963 return little_endian_read_16(event, 2); 1964 } 1965 /** 1966 * @brief Get field characteristic from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 1967 * @param event packet 1968 * @param Pointer to storage for characteristic 1969 * @note: btstack_type Y 1970 */ 1971 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){ 1972 gatt_client_deserialize_characteristic(event, 4, characteristic); 1973 } 1974 #endif 1975 1976 #ifdef ENABLE_BLE 1977 /** 1978 * @brief Get field handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 1979 * @param event packet 1980 * @return handle 1981 * @note: btstack_type H 1982 */ 1983 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){ 1984 return little_endian_read_16(event, 2); 1985 } 1986 /** 1987 * @brief Get field include_handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 1988 * @param event packet 1989 * @return include_handle 1990 * @note: btstack_type 2 1991 */ 1992 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){ 1993 return little_endian_read_16(event, 4); 1994 } 1995 /** 1996 * @brief Get field service from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 1997 * @param event packet 1998 * @param Pointer to storage for service 1999 * @note: btstack_type X 2000 */ 2001 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 2002 gatt_client_deserialize_service(event, 6, service); 2003 } 2004 #endif 2005 2006 #ifdef ENABLE_BLE 2007 /** 2008 * @brief Get field handle from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2009 * @param event packet 2010 * @return handle 2011 * @note: btstack_type H 2012 */ 2013 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){ 2014 return little_endian_read_16(event, 2); 2015 } 2016 /** 2017 * @brief Get field characteristic_descriptor from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 2018 * @param event packet 2019 * @param Pointer to storage for characteristic_descriptor 2020 * @note: btstack_type Z 2021 */ 2022 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){ 2023 gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor); 2024 } 2025 #endif 2026 2027 #ifdef ENABLE_BLE 2028 /** 2029 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2030 * @param event packet 2031 * @return handle 2032 * @note: btstack_type H 2033 */ 2034 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){ 2035 return little_endian_read_16(event, 2); 2036 } 2037 /** 2038 * @brief Get field value_handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2039 * @param event packet 2040 * @return value_handle 2041 * @note: btstack_type 2 2042 */ 2043 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2044 return little_endian_read_16(event, 4); 2045 } 2046 /** 2047 * @brief Get field value_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2048 * @param event packet 2049 * @return value_length 2050 * @note: btstack_type L 2051 */ 2052 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2053 return little_endian_read_16(event, 6); 2054 } 2055 /** 2056 * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 2057 * @param event packet 2058 * @return value 2059 * @note: btstack_type V 2060 */ 2061 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){ 2062 return &event[8]; 2063 } 2064 #endif 2065 2066 #ifdef ENABLE_BLE 2067 /** 2068 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2069 * @param event packet 2070 * @return handle 2071 * @note: btstack_type H 2072 */ 2073 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){ 2074 return little_endian_read_16(event, 2); 2075 } 2076 /** 2077 * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2078 * @param event packet 2079 * @return value_handle 2080 * @note: btstack_type 2 2081 */ 2082 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 2083 return little_endian_read_16(event, 4); 2084 } 2085 /** 2086 * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2087 * @param event packet 2088 * @return value_offset 2089 * @note: btstack_type 2 2090 */ 2091 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){ 2092 return little_endian_read_16(event, 6); 2093 } 2094 /** 2095 * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2096 * @param event packet 2097 * @return value_length 2098 * @note: btstack_type L 2099 */ 2100 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2101 return little_endian_read_16(event, 8); 2102 } 2103 /** 2104 * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2105 * @param event packet 2106 * @return value 2107 * @note: btstack_type V 2108 */ 2109 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){ 2110 return &event[10]; 2111 } 2112 #endif 2113 2114 #ifdef ENABLE_BLE 2115 /** 2116 * @brief Get field handle from event GATT_EVENT_NOTIFICATION 2117 * @param event packet 2118 * @return handle 2119 * @note: btstack_type H 2120 */ 2121 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){ 2122 return little_endian_read_16(event, 2); 2123 } 2124 /** 2125 * @brief Get field value_handle from event GATT_EVENT_NOTIFICATION 2126 * @param event packet 2127 * @return value_handle 2128 * @note: btstack_type 2 2129 */ 2130 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){ 2131 return little_endian_read_16(event, 4); 2132 } 2133 /** 2134 * @brief Get field value_length from event GATT_EVENT_NOTIFICATION 2135 * @param event packet 2136 * @return value_length 2137 * @note: btstack_type L 2138 */ 2139 static inline uint16_t gatt_event_notification_get_value_length(const uint8_t * event){ 2140 return little_endian_read_16(event, 6); 2141 } 2142 /** 2143 * @brief Get field value from event GATT_EVENT_NOTIFICATION 2144 * @param event packet 2145 * @return value 2146 * @note: btstack_type V 2147 */ 2148 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){ 2149 return &event[8]; 2150 } 2151 #endif 2152 2153 #ifdef ENABLE_BLE 2154 /** 2155 * @brief Get field handle from event GATT_EVENT_INDICATION 2156 * @param event packet 2157 * @return handle 2158 * @note: btstack_type H 2159 */ 2160 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){ 2161 return little_endian_read_16(event, 2); 2162 } 2163 /** 2164 * @brief Get field value_handle from event GATT_EVENT_INDICATION 2165 * @param event packet 2166 * @return value_handle 2167 * @note: btstack_type 2 2168 */ 2169 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){ 2170 return little_endian_read_16(event, 4); 2171 } 2172 /** 2173 * @brief Get field value_length from event GATT_EVENT_INDICATION 2174 * @param event packet 2175 * @return value_length 2176 * @note: btstack_type L 2177 */ 2178 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){ 2179 return little_endian_read_16(event, 6); 2180 } 2181 /** 2182 * @brief Get field value from event GATT_EVENT_INDICATION 2183 * @param event packet 2184 * @return value 2185 * @note: btstack_type V 2186 */ 2187 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){ 2188 return &event[8]; 2189 } 2190 #endif 2191 2192 #ifdef ENABLE_BLE 2193 /** 2194 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2195 * @param event packet 2196 * @return handle 2197 * @note: btstack_type H 2198 */ 2199 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2200 return little_endian_read_16(event, 2); 2201 } 2202 /** 2203 * @brief Get field descriptor_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2204 * @param event packet 2205 * @return descriptor_handle 2206 * @note: btstack_type 2 2207 */ 2208 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 2209 return little_endian_read_16(event, 4); 2210 } 2211 /** 2212 * @brief Get field descriptor_length from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2213 * @param event packet 2214 * @return descriptor_length 2215 * @note: btstack_type L 2216 */ 2217 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 2218 return little_endian_read_16(event, 6); 2219 } 2220 /** 2221 * @brief Get field descriptor from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2222 * @param event packet 2223 * @return descriptor 2224 * @note: btstack_type V 2225 */ 2226 static inline const uint8_t * gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 2227 return &event[8]; 2228 } 2229 #endif 2230 2231 #ifdef ENABLE_BLE 2232 /** 2233 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2234 * @param event packet 2235 * @return handle 2236 * @note: btstack_type H 2237 */ 2238 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2239 return little_endian_read_16(event, 2); 2240 } 2241 /** 2242 * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2243 * @param event packet 2244 * @return descriptor_offset 2245 * @note: btstack_type 2 2246 */ 2247 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){ 2248 return little_endian_read_16(event, 4); 2249 } 2250 /** 2251 * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2252 * @param event packet 2253 * @return descriptor_length 2254 * @note: btstack_type L 2255 */ 2256 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 2257 return little_endian_read_16(event, 6); 2258 } 2259 /** 2260 * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2261 * @param event packet 2262 * @return descriptor 2263 * @note: btstack_type V 2264 */ 2265 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 2266 return &event[8]; 2267 } 2268 #endif 2269 2270 #ifdef ENABLE_BLE 2271 /** 2272 * @brief Get field handle from event GATT_EVENT_MTU 2273 * @param event packet 2274 * @return handle 2275 * @note: btstack_type H 2276 */ 2277 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){ 2278 return little_endian_read_16(event, 2); 2279 } 2280 /** 2281 * @brief Get field MTU from event GATT_EVENT_MTU 2282 * @param event packet 2283 * @return MTU 2284 * @note: btstack_type 2 2285 */ 2286 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){ 2287 return little_endian_read_16(event, 4); 2288 } 2289 #endif 2290 2291 #ifdef ENABLE_BLE 2292 /** 2293 * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 2294 * @param event packet 2295 * @return handle 2296 * @note: btstack_type H 2297 */ 2298 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){ 2299 return little_endian_read_16(event, 2); 2300 } 2301 #endif 2302 2303 /** 2304 * @brief Get field address_type from event ATT_EVENT_CONNECTED 2305 * @param event packet 2306 * @return address_type 2307 * @note: btstack_type 1 2308 */ 2309 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){ 2310 return event[2]; 2311 } 2312 /** 2313 * @brief Get field address from event ATT_EVENT_CONNECTED 2314 * @param event packet 2315 * @param Pointer to storage for address 2316 * @note: btstack_type B 2317 */ 2318 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 2319 reverse_bytes(&event[3], address, 6); 2320 } 2321 /** 2322 * @brief Get field handle from event ATT_EVENT_CONNECTED 2323 * @param event packet 2324 * @return handle 2325 * @note: btstack_type H 2326 */ 2327 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){ 2328 return little_endian_read_16(event, 9); 2329 } 2330 2331 /** 2332 * @brief Get field handle from event ATT_EVENT_DISCONNECTED 2333 * @param event packet 2334 * @return handle 2335 * @note: btstack_type H 2336 */ 2337 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){ 2338 return little_endian_read_16(event, 2); 2339 } 2340 2341 /** 2342 * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 2343 * @param event packet 2344 * @return handle 2345 * @note: btstack_type H 2346 */ 2347 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){ 2348 return little_endian_read_16(event, 2); 2349 } 2350 /** 2351 * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 2352 * @param event packet 2353 * @return MTU 2354 * @note: btstack_type 2 2355 */ 2356 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){ 2357 return little_endian_read_16(event, 4); 2358 } 2359 2360 /** 2361 * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2362 * @param event packet 2363 * @return status 2364 * @note: btstack_type 1 2365 */ 2366 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){ 2367 return event[2]; 2368 } 2369 /** 2370 * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2371 * @param event packet 2372 * @return conn_handle 2373 * @note: btstack_type H 2374 */ 2375 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){ 2376 return little_endian_read_16(event, 3); 2377 } 2378 /** 2379 * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2380 * @param event packet 2381 * @return attribute_handle 2382 * @note: btstack_type 2 2383 */ 2384 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){ 2385 return little_endian_read_16(event, 5); 2386 } 2387 2388 2389 /** 2390 * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED 2391 * @param event packet 2392 * @return status 2393 * @note: btstack_type 1 2394 */ 2395 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){ 2396 return event[2]; 2397 } 2398 /** 2399 * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED 2400 * @param event packet 2401 * @return service_uuid 2402 * @note: btstack_type 2 2403 */ 2404 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){ 2405 return little_endian_read_16(event, 3); 2406 } 2407 2408 /** 2409 * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED 2410 * @param event packet 2411 * @return status 2412 * @note: btstack_type 1 2413 */ 2414 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){ 2415 return event[2]; 2416 } 2417 /** 2418 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED 2419 * @param event packet 2420 * @return bnep_cid 2421 * @note: btstack_type 2 2422 */ 2423 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){ 2424 return little_endian_read_16(event, 3); 2425 } 2426 /** 2427 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED 2428 * @param event packet 2429 * @return source_uuid 2430 * @note: btstack_type 2 2431 */ 2432 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){ 2433 return little_endian_read_16(event, 5); 2434 } 2435 /** 2436 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED 2437 * @param event packet 2438 * @return destination_uuid 2439 * @note: btstack_type 2 2440 */ 2441 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){ 2442 return little_endian_read_16(event, 7); 2443 } 2444 /** 2445 * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED 2446 * @param event packet 2447 * @return mtu 2448 * @note: btstack_type 2 2449 */ 2450 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){ 2451 return little_endian_read_16(event, 9); 2452 } 2453 /** 2454 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED 2455 * @param event packet 2456 * @param Pointer to storage for remote_address 2457 * @note: btstack_type B 2458 */ 2459 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2460 reverse_bytes(&event[11], remote_address, 6); 2461 } 2462 /** 2463 * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED 2464 * @param event packet 2465 * @return con_handle 2466 * @note: btstack_type H 2467 */ 2468 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){ 2469 return little_endian_read_16(event, 17); 2470 } 2471 2472 /** 2473 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED 2474 * @param event packet 2475 * @return bnep_cid 2476 * @note: btstack_type 2 2477 */ 2478 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){ 2479 return little_endian_read_16(event, 2); 2480 } 2481 /** 2482 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED 2483 * @param event packet 2484 * @return source_uuid 2485 * @note: btstack_type 2 2486 */ 2487 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){ 2488 return little_endian_read_16(event, 4); 2489 } 2490 /** 2491 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED 2492 * @param event packet 2493 * @return destination_uuid 2494 * @note: btstack_type 2 2495 */ 2496 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){ 2497 return little_endian_read_16(event, 6); 2498 } 2499 /** 2500 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED 2501 * @param event packet 2502 * @param Pointer to storage for remote_address 2503 * @note: btstack_type B 2504 */ 2505 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2506 reverse_bytes(&event[8], remote_address, 6); 2507 } 2508 2509 /** 2510 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT 2511 * @param event packet 2512 * @return bnep_cid 2513 * @note: btstack_type 2 2514 */ 2515 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){ 2516 return little_endian_read_16(event, 2); 2517 } 2518 /** 2519 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 2520 * @param event packet 2521 * @return source_uuid 2522 * @note: btstack_type 2 2523 */ 2524 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){ 2525 return little_endian_read_16(event, 4); 2526 } 2527 /** 2528 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 2529 * @param event packet 2530 * @return destination_uuid 2531 * @note: btstack_type 2 2532 */ 2533 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){ 2534 return little_endian_read_16(event, 6); 2535 } 2536 /** 2537 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT 2538 * @param event packet 2539 * @param Pointer to storage for remote_address 2540 * @note: btstack_type B 2541 */ 2542 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2543 reverse_bytes(&event[8], remote_address, 6); 2544 } 2545 /** 2546 * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT 2547 * @param event packet 2548 * @return channel_state 2549 * @note: btstack_type 1 2550 */ 2551 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){ 2552 return event[14]; 2553 } 2554 2555 /** 2556 * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW 2557 * @param event packet 2558 * @return bnep_cid 2559 * @note: btstack_type 2 2560 */ 2561 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){ 2562 return little_endian_read_16(event, 2); 2563 } 2564 /** 2565 * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW 2566 * @param event packet 2567 * @return source_uuid 2568 * @note: btstack_type 2 2569 */ 2570 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){ 2571 return little_endian_read_16(event, 4); 2572 } 2573 /** 2574 * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW 2575 * @param event packet 2576 * @return destination_uuid 2577 * @note: btstack_type 2 2578 */ 2579 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){ 2580 return little_endian_read_16(event, 6); 2581 } 2582 /** 2583 * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW 2584 * @param event packet 2585 * @param Pointer to storage for remote_address 2586 * @note: btstack_type B 2587 */ 2588 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2589 reverse_bytes(&event[8], remote_address, 6); 2590 } 2591 2592 #ifdef ENABLE_BLE 2593 /** 2594 * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST 2595 * @param event packet 2596 * @return handle 2597 * @note: btstack_type H 2598 */ 2599 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ 2600 return little_endian_read_16(event, 2); 2601 } 2602 /** 2603 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST 2604 * @param event packet 2605 * @return addr_type 2606 * @note: btstack_type 1 2607 */ 2608 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ 2609 return event[4]; 2610 } 2611 /** 2612 * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST 2613 * @param event packet 2614 * @param Pointer to storage for address 2615 * @note: btstack_type B 2616 */ 2617 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ 2618 reverse_bytes(&event[5], address, 6); 2619 } 2620 #endif 2621 2622 #ifdef ENABLE_BLE 2623 /** 2624 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2625 * @param event packet 2626 * @return handle 2627 * @note: btstack_type H 2628 */ 2629 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ 2630 return little_endian_read_16(event, 2); 2631 } 2632 /** 2633 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2634 * @param event packet 2635 * @return addr_type 2636 * @note: btstack_type 1 2637 */ 2638 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ 2639 return event[4]; 2640 } 2641 /** 2642 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2643 * @param event packet 2644 * @param Pointer to storage for address 2645 * @note: btstack_type B 2646 */ 2647 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ 2648 reverse_bytes(&event[5], address, 6); 2649 } 2650 /** 2651 * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2652 * @param event packet 2653 * @return passkey 2654 * @note: btstack_type 4 2655 */ 2656 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ 2657 return little_endian_read_32(event, 11); 2658 } 2659 #endif 2660 2661 #ifdef ENABLE_BLE 2662 /** 2663 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 2664 * @param event packet 2665 * @return handle 2666 * @note: btstack_type H 2667 */ 2668 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ 2669 return little_endian_read_16(event, 2); 2670 } 2671 /** 2672 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 2673 * @param event packet 2674 * @return addr_type 2675 * @note: btstack_type 1 2676 */ 2677 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ 2678 return event[4]; 2679 } 2680 /** 2681 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 2682 * @param event packet 2683 * @param Pointer to storage for address 2684 * @note: btstack_type B 2685 */ 2686 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ 2687 reverse_bytes(&event[5], address, 6); 2688 } 2689 #endif 2690 2691 #ifdef ENABLE_BLE 2692 /** 2693 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER 2694 * @param event packet 2695 * @return handle 2696 * @note: btstack_type H 2697 */ 2698 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ 2699 return little_endian_read_16(event, 2); 2700 } 2701 /** 2702 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER 2703 * @param event packet 2704 * @return addr_type 2705 * @note: btstack_type 1 2706 */ 2707 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ 2708 return event[4]; 2709 } 2710 /** 2711 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER 2712 * @param event packet 2713 * @param Pointer to storage for address 2714 * @note: btstack_type B 2715 */ 2716 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ 2717 reverse_bytes(&event[5], address, 6); 2718 } 2719 #endif 2720 2721 #ifdef ENABLE_BLE 2722 /** 2723 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2724 * @param event packet 2725 * @return handle 2726 * @note: btstack_type H 2727 */ 2728 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){ 2729 return little_endian_read_16(event, 2); 2730 } 2731 /** 2732 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2733 * @param event packet 2734 * @return addr_type 2735 * @note: btstack_type 1 2736 */ 2737 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){ 2738 return event[4]; 2739 } 2740 /** 2741 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2742 * @param event packet 2743 * @param Pointer to storage for address 2744 * @note: btstack_type B 2745 */ 2746 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){ 2747 reverse_bytes(&event[5], address, 6); 2748 } 2749 /** 2750 * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2751 * @param event packet 2752 * @return passkey 2753 * @note: btstack_type 4 2754 */ 2755 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){ 2756 return little_endian_read_32(event, 11); 2757 } 2758 #endif 2759 2760 #ifdef ENABLE_BLE 2761 /** 2762 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED 2763 * @param event packet 2764 * @return handle 2765 * @note: btstack_type H 2766 */ 2767 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ 2768 return little_endian_read_16(event, 2); 2769 } 2770 /** 2771 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED 2772 * @param event packet 2773 * @return addr_type 2774 * @note: btstack_type 1 2775 */ 2776 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ 2777 return event[4]; 2778 } 2779 /** 2780 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED 2781 * @param event packet 2782 * @param Pointer to storage for address 2783 * @note: btstack_type B 2784 */ 2785 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ 2786 reverse_bytes(&event[5], address, 6); 2787 } 2788 #endif 2789 2790 #ifdef ENABLE_BLE 2791 /** 2792 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED 2793 * @param event packet 2794 * @return handle 2795 * @note: btstack_type H 2796 */ 2797 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ 2798 return little_endian_read_16(event, 2); 2799 } 2800 /** 2801 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED 2802 * @param event packet 2803 * @return addr_type 2804 * @note: btstack_type 1 2805 */ 2806 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ 2807 return event[4]; 2808 } 2809 /** 2810 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED 2811 * @param event packet 2812 * @param Pointer to storage for address 2813 * @note: btstack_type B 2814 */ 2815 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ 2816 reverse_bytes(&event[5], address, 6); 2817 } 2818 #endif 2819 2820 #ifdef ENABLE_BLE 2821 /** 2822 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2823 * @param event packet 2824 * @return handle 2825 * @note: btstack_type H 2826 */ 2827 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ 2828 return little_endian_read_16(event, 2); 2829 } 2830 /** 2831 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2832 * @param event packet 2833 * @return addr_type 2834 * @note: btstack_type 1 2835 */ 2836 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ 2837 return event[4]; 2838 } 2839 /** 2840 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2841 * @param event packet 2842 * @param Pointer to storage for address 2843 * @note: btstack_type B 2844 */ 2845 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ 2846 reverse_bytes(&event[5], address, 6); 2847 } 2848 /** 2849 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2850 * @param event packet 2851 * @return identity_addr_type 2852 * @note: btstack_type 1 2853 */ 2854 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){ 2855 return event[11]; 2856 } 2857 /** 2858 * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2859 * @param event packet 2860 * @param Pointer to storage for identity_address 2861 * @note: btstack_type B 2862 */ 2863 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 2864 reverse_bytes(&event[12], identity_address, 6); 2865 } 2866 /** 2867 * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2868 * @param event packet 2869 * @return index 2870 * @note: btstack_type 2 2871 */ 2872 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){ 2873 return little_endian_read_16(event, 18); 2874 } 2875 #endif 2876 2877 #ifdef ENABLE_BLE 2878 /** 2879 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST 2880 * @param event packet 2881 * @return handle 2882 * @note: btstack_type H 2883 */ 2884 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){ 2885 return little_endian_read_16(event, 2); 2886 } 2887 /** 2888 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST 2889 * @param event packet 2890 * @return addr_type 2891 * @note: btstack_type 1 2892 */ 2893 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ 2894 return event[4]; 2895 } 2896 /** 2897 * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST 2898 * @param event packet 2899 * @param Pointer to storage for address 2900 * @note: btstack_type B 2901 */ 2902 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ 2903 reverse_bytes(&event[5], address, 6); 2904 } 2905 #endif 2906 2907 #ifdef ENABLE_BLE 2908 /** 2909 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT 2910 * @param event packet 2911 * @return handle 2912 * @note: btstack_type H 2913 */ 2914 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ 2915 return little_endian_read_16(event, 2); 2916 } 2917 /** 2918 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT 2919 * @param event packet 2920 * @return addr_type 2921 * @note: btstack_type 1 2922 */ 2923 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ 2924 return event[4]; 2925 } 2926 /** 2927 * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT 2928 * @param event packet 2929 * @param Pointer to storage for address 2930 * @note: btstack_type B 2931 */ 2932 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ 2933 reverse_bytes(&event[5], address, 6); 2934 } 2935 /** 2936 * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT 2937 * @param event packet 2938 * @return authorization_result 2939 * @note: btstack_type 1 2940 */ 2941 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ 2942 return event[11]; 2943 } 2944 #endif 2945 2946 #ifdef ENABLE_BLE 2947 /** 2948 * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION 2949 * @param event packet 2950 * @return handle 2951 * @note: btstack_type H 2952 */ 2953 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){ 2954 return little_endian_read_16(event, 2); 2955 } 2956 /** 2957 * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION 2958 * @param event packet 2959 * @return action 2960 * @note: btstack_type 1 2961 */ 2962 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){ 2963 return event[4]; 2964 } 2965 #endif 2966 2967 #ifdef ENABLE_BLE 2968 /** 2969 * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED 2970 * @param event packet 2971 * @return handle 2972 * @note: btstack_type H 2973 */ 2974 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){ 2975 return little_endian_read_16(event, 2); 2976 } 2977 /** 2978 * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED 2979 * @param event packet 2980 * @return addr_type 2981 * @note: btstack_type 1 2982 */ 2983 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){ 2984 return event[4]; 2985 } 2986 /** 2987 * @brief Get field address from event SM_EVENT_IDENTITY_CREATED 2988 * @param event packet 2989 * @param Pointer to storage for address 2990 * @note: btstack_type B 2991 */ 2992 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){ 2993 reverse_bytes(&event[5], address, 6); 2994 } 2995 /** 2996 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED 2997 * @param event packet 2998 * @return identity_addr_type 2999 * @note: btstack_type 1 3000 */ 3001 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){ 3002 return event[11]; 3003 } 3004 /** 3005 * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED 3006 * @param event packet 3007 * @param Pointer to storage for identity_address 3008 * @note: btstack_type B 3009 */ 3010 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3011 reverse_bytes(&event[12], identity_address, 6); 3012 } 3013 /** 3014 * @brief Get field index from event SM_EVENT_IDENTITY_CREATED 3015 * @param event packet 3016 * @return index 3017 * @note: btstack_type 2 3018 */ 3019 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){ 3020 return little_endian_read_16(event, 18); 3021 } 3022 #endif 3023 3024 #ifdef ENABLE_BLE 3025 /** 3026 * @brief Get field handle from event SM_EVENT_PAIRING_STARTED 3027 * @param event packet 3028 * @return handle 3029 * @note: btstack_type H 3030 */ 3031 static inline hci_con_handle_t sm_event_pairing_started_get_handle(const uint8_t * event){ 3032 return little_endian_read_16(event, 2); 3033 } 3034 /** 3035 * @brief Get field addr_type from event SM_EVENT_PAIRING_STARTED 3036 * @param event packet 3037 * @return addr_type 3038 * @note: btstack_type 1 3039 */ 3040 static inline uint8_t sm_event_pairing_started_get_addr_type(const uint8_t * event){ 3041 return event[4]; 3042 } 3043 /** 3044 * @brief Get field address from event SM_EVENT_PAIRING_STARTED 3045 * @param event packet 3046 * @param Pointer to storage for address 3047 * @note: btstack_type B 3048 */ 3049 static inline void sm_event_pairing_started_get_address(const uint8_t * event, bd_addr_t address){ 3050 reverse_bytes(&event[5], address, 6); 3051 } 3052 #endif 3053 3054 #ifdef ENABLE_BLE 3055 /** 3056 * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE 3057 * @param event packet 3058 * @return handle 3059 * @note: btstack_type H 3060 */ 3061 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){ 3062 return little_endian_read_16(event, 2); 3063 } 3064 /** 3065 * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE 3066 * @param event packet 3067 * @return addr_type 3068 * @note: btstack_type 1 3069 */ 3070 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){ 3071 return event[4]; 3072 } 3073 /** 3074 * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE 3075 * @param event packet 3076 * @param Pointer to storage for address 3077 * @note: btstack_type B 3078 */ 3079 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){ 3080 reverse_bytes(&event[5], address, 6); 3081 } 3082 /** 3083 * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE 3084 * @param event packet 3085 * @return status 3086 * @note: btstack_type 1 3087 */ 3088 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){ 3089 return event[11]; 3090 } 3091 /** 3092 * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE 3093 * @param event packet 3094 * @return reason 3095 * @note: btstack_type 1 3096 */ 3097 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){ 3098 return event[12]; 3099 } 3100 #endif 3101 3102 #ifdef ENABLE_BLE 3103 /** 3104 * @brief Get field handle from event SM_EVENT_REENCRYPTION_STARTED 3105 * @param event packet 3106 * @return handle 3107 * @note: btstack_type H 3108 */ 3109 static inline hci_con_handle_t sm_event_reencryption_started_get_handle(const uint8_t * event){ 3110 return little_endian_read_16(event, 2); 3111 } 3112 /** 3113 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_STARTED 3114 * @param event packet 3115 * @return addr_type 3116 * @note: btstack_type 1 3117 */ 3118 static inline uint8_t sm_event_reencryption_started_get_addr_type(const uint8_t * event){ 3119 return event[4]; 3120 } 3121 /** 3122 * @brief Get field address from event SM_EVENT_REENCRYPTION_STARTED 3123 * @param event packet 3124 * @param Pointer to storage for address 3125 * @note: btstack_type B 3126 */ 3127 static inline void sm_event_reencryption_started_get_address(const uint8_t * event, bd_addr_t address){ 3128 reverse_bytes(&event[5], address, 6); 3129 } 3130 #endif 3131 3132 #ifdef ENABLE_BLE 3133 /** 3134 * @brief Get field handle from event SM_EVENT_REENCRYPTION_COMPLETE 3135 * @param event packet 3136 * @return handle 3137 * @note: btstack_type H 3138 */ 3139 static inline hci_con_handle_t sm_event_reencryption_complete_get_handle(const uint8_t * event){ 3140 return little_endian_read_16(event, 2); 3141 } 3142 /** 3143 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_COMPLETE 3144 * @param event packet 3145 * @return addr_type 3146 * @note: btstack_type 1 3147 */ 3148 static inline uint8_t sm_event_reencryption_complete_get_addr_type(const uint8_t * event){ 3149 return event[4]; 3150 } 3151 /** 3152 * @brief Get field address from event SM_EVENT_REENCRYPTION_COMPLETE 3153 * @param event packet 3154 * @param Pointer to storage for address 3155 * @note: btstack_type B 3156 */ 3157 static inline void sm_event_reencryption_complete_get_address(const uint8_t * event, bd_addr_t address){ 3158 reverse_bytes(&event[5], address, 6); 3159 } 3160 /** 3161 * @brief Get field status from event SM_EVENT_REENCRYPTION_COMPLETE 3162 * @param event packet 3163 * @return status 3164 * @note: btstack_type 1 3165 */ 3166 static inline uint8_t sm_event_reencryption_complete_get_status(const uint8_t * event){ 3167 return event[11]; 3168 } 3169 #endif 3170 3171 /** 3172 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 3173 * @param event packet 3174 * @return handle 3175 * @note: btstack_type H 3176 */ 3177 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 3178 return little_endian_read_16(event, 2); 3179 } 3180 /** 3181 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 3182 * @param event packet 3183 * @return security_level 3184 * @note: btstack_type 1 3185 */ 3186 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 3187 return event[4]; 3188 } 3189 3190 /** 3191 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3192 * @param event packet 3193 * @return status 3194 * @note: btstack_type 1 3195 */ 3196 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 3197 return event[2]; 3198 } 3199 /** 3200 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3201 * @param event packet 3202 * @param Pointer to storage for address 3203 * @note: btstack_type B 3204 */ 3205 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 3206 reverse_bytes(&event[3], address, 6); 3207 } 3208 3209 /** 3210 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 3211 * @param event packet 3212 * @return advertising_event_type 3213 * @note: btstack_type 1 3214 */ 3215 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 3216 return event[2]; 3217 } 3218 /** 3219 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 3220 * @param event packet 3221 * @return address_type 3222 * @note: btstack_type 1 3223 */ 3224 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 3225 return event[3]; 3226 } 3227 /** 3228 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 3229 * @param event packet 3230 * @param Pointer to storage for address 3231 * @note: btstack_type B 3232 */ 3233 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 3234 reverse_bytes(&event[4], address, 6); 3235 } 3236 /** 3237 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 3238 * @param event packet 3239 * @return rssi 3240 * @note: btstack_type 1 3241 */ 3242 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 3243 return event[10]; 3244 } 3245 /** 3246 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 3247 * @param event packet 3248 * @return data_length 3249 * @note: btstack_type J 3250 */ 3251 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 3252 return event[11]; 3253 } 3254 /** 3255 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 3256 * @param event packet 3257 * @return data 3258 * @note: btstack_type V 3259 */ 3260 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 3261 return &event[12]; 3262 } 3263 3264 /** 3265 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 3266 * @param event packet 3267 * @param Pointer to storage for bd_addr 3268 * @note: btstack_type B 3269 */ 3270 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 3271 reverse_bytes(&event[2], bd_addr, 6); 3272 } 3273 /** 3274 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 3275 * @param event packet 3276 * @return page_scan_repetition_mode 3277 * @note: btstack_type 1 3278 */ 3279 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 3280 return event[8]; 3281 } 3282 /** 3283 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 3284 * @param event packet 3285 * @return class_of_device 3286 * @note: btstack_type 3 3287 */ 3288 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 3289 return little_endian_read_24(event, 9); 3290 } 3291 /** 3292 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 3293 * @param event packet 3294 * @return clock_offset 3295 * @note: btstack_type 2 3296 */ 3297 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 3298 return little_endian_read_16(event, 12); 3299 } 3300 /** 3301 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 3302 * @param event packet 3303 * @return rssi_available 3304 * @note: btstack_type 1 3305 */ 3306 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 3307 return event[14]; 3308 } 3309 /** 3310 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 3311 * @param event packet 3312 * @return rssi 3313 * @note: btstack_type 1 3314 */ 3315 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 3316 return event[15]; 3317 } 3318 /** 3319 * @brief Get field device_id_available from event GAP_EVENT_INQUIRY_RESULT 3320 * @param event packet 3321 * @return device_id_available 3322 * @note: btstack_type 1 3323 */ 3324 static inline uint8_t gap_event_inquiry_result_get_device_id_available(const uint8_t * event){ 3325 return event[16]; 3326 } 3327 /** 3328 * @brief Get field device_id_vendor_id_source from event GAP_EVENT_INQUIRY_RESULT 3329 * @param event packet 3330 * @return device_id_vendor_id_source 3331 * @note: btstack_type 2 3332 */ 3333 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id_source(const uint8_t * event){ 3334 return little_endian_read_16(event, 17); 3335 } 3336 /** 3337 * @brief Get field device_id_vendor_id from event GAP_EVENT_INQUIRY_RESULT 3338 * @param event packet 3339 * @return device_id_vendor_id 3340 * @note: btstack_type 2 3341 */ 3342 static inline uint16_t gap_event_inquiry_result_get_device_id_vendor_id(const uint8_t * event){ 3343 return little_endian_read_16(event, 19); 3344 } 3345 /** 3346 * @brief Get field device_id_product_id from event GAP_EVENT_INQUIRY_RESULT 3347 * @param event packet 3348 * @return device_id_product_id 3349 * @note: btstack_type 2 3350 */ 3351 static inline uint16_t gap_event_inquiry_result_get_device_id_product_id(const uint8_t * event){ 3352 return little_endian_read_16(event, 21); 3353 } 3354 /** 3355 * @brief Get field device_id_version from event GAP_EVENT_INQUIRY_RESULT 3356 * @param event packet 3357 * @return device_id_version 3358 * @note: btstack_type 2 3359 */ 3360 static inline uint16_t gap_event_inquiry_result_get_device_id_version(const uint8_t * event){ 3361 return little_endian_read_16(event, 23); 3362 } 3363 /** 3364 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 3365 * @param event packet 3366 * @return name_available 3367 * @note: btstack_type 1 3368 */ 3369 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 3370 return event[25]; 3371 } 3372 /** 3373 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 3374 * @param event packet 3375 * @return name_len 3376 * @note: btstack_type J 3377 */ 3378 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 3379 return event[26]; 3380 } 3381 /** 3382 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 3383 * @param event packet 3384 * @return name 3385 * @note: btstack_type V 3386 */ 3387 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 3388 return &event[27]; 3389 } 3390 3391 /** 3392 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 3393 * @param event packet 3394 * @return status 3395 * @note: btstack_type 1 3396 */ 3397 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 3398 return event[2]; 3399 } 3400 3401 /** 3402 * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT 3403 * @param event packet 3404 * @return con_handle 3405 * @note: btstack_type H 3406 */ 3407 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){ 3408 return little_endian_read_16(event, 2); 3409 } 3410 /** 3411 * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT 3412 * @param event packet 3413 * @return rssi 3414 * @note: btstack_type 1 3415 */ 3416 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){ 3417 return event[4]; 3418 } 3419 3420 /** 3421 * @brief Get field oob_data_present from event GAP_EVENT_LOCAL_OOB_DATA 3422 * @param event packet 3423 * @return oob_data_present 3424 * @note: btstack_type 1 3425 */ 3426 static inline uint8_t gap_event_local_oob_data_get_oob_data_present(const uint8_t * event){ 3427 return event[2]; 3428 } 3429 /** 3430 * @brief Get field c_192 from event GAP_EVENT_LOCAL_OOB_DATA 3431 * @param event packet 3432 * @param Pointer to storage for c_192 3433 * @note: btstack_type K 3434 */ 3435 static inline void gap_event_local_oob_data_get_c_192(const uint8_t * event, uint8_t * c_192){ 3436 reverse_bytes(&event[3], c_192, 16); 3437 } 3438 /** 3439 * @brief Get field r_192 from event GAP_EVENT_LOCAL_OOB_DATA 3440 * @param event packet 3441 * @param Pointer to storage for r_192 3442 * @note: btstack_type K 3443 */ 3444 static inline void gap_event_local_oob_data_get_r_192(const uint8_t * event, uint8_t * r_192){ 3445 reverse_bytes(&event[19], r_192, 16); 3446 } 3447 /** 3448 * @brief Get field c_256 from event GAP_EVENT_LOCAL_OOB_DATA 3449 * @param event packet 3450 * @param Pointer to storage for c_256 3451 * @note: btstack_type K 3452 */ 3453 static inline void gap_event_local_oob_data_get_c_256(const uint8_t * event, uint8_t * c_256){ 3454 reverse_bytes(&event[35], c_256, 16); 3455 } 3456 /** 3457 * @brief Get field r_256 from event GAP_EVENT_LOCAL_OOB_DATA 3458 * @param event packet 3459 * @param Pointer to storage for r_256 3460 * @note: btstack_type K 3461 */ 3462 static inline void gap_event_local_oob_data_get_r_256(const uint8_t * event, uint8_t * r_256){ 3463 reverse_bytes(&event[51], r_256, 16); 3464 } 3465 3466 /** 3467 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3468 * @param event packet 3469 * @return status 3470 * @note: btstack_type 1 3471 */ 3472 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 3473 return event[3]; 3474 } 3475 /** 3476 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3477 * @param event packet 3478 * @return connection_handle 3479 * @note: btstack_type H 3480 */ 3481 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 3482 return little_endian_read_16(event, 4); 3483 } 3484 /** 3485 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3486 * @param event packet 3487 * @return role 3488 * @note: btstack_type 1 3489 */ 3490 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 3491 return event[6]; 3492 } 3493 /** 3494 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3495 * @param event packet 3496 * @return peer_address_type 3497 * @note: btstack_type 1 3498 */ 3499 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 3500 return event[7]; 3501 } 3502 /** 3503 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3504 * @param event packet 3505 * @param Pointer to storage for peer_address 3506 * @note: btstack_type B 3507 */ 3508 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 3509 reverse_bytes(&event[8], peer_address, 6); 3510 } 3511 /** 3512 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3513 * @param event packet 3514 * @return conn_interval 3515 * @note: btstack_type 2 3516 */ 3517 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 3518 return little_endian_read_16(event, 14); 3519 } 3520 /** 3521 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3522 * @param event packet 3523 * @return conn_latency 3524 * @note: btstack_type 2 3525 */ 3526 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 3527 return little_endian_read_16(event, 16); 3528 } 3529 /** 3530 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3531 * @param event packet 3532 * @return supervision_timeout 3533 * @note: btstack_type 2 3534 */ 3535 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 3536 return little_endian_read_16(event, 18); 3537 } 3538 /** 3539 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3540 * @param event packet 3541 * @return master_clock_accuracy 3542 * @note: btstack_type 1 3543 */ 3544 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 3545 return event[20]; 3546 } 3547 3548 /** 3549 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3550 * @param event packet 3551 * @return status 3552 * @note: btstack_type 1 3553 */ 3554 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 3555 return event[3]; 3556 } 3557 /** 3558 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3559 * @param event packet 3560 * @return connection_handle 3561 * @note: btstack_type H 3562 */ 3563 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 3564 return little_endian_read_16(event, 4); 3565 } 3566 /** 3567 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3568 * @param event packet 3569 * @return conn_interval 3570 * @note: btstack_type 2 3571 */ 3572 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 3573 return little_endian_read_16(event, 6); 3574 } 3575 /** 3576 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3577 * @param event packet 3578 * @return conn_latency 3579 * @note: btstack_type 2 3580 */ 3581 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 3582 return little_endian_read_16(event, 8); 3583 } 3584 /** 3585 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3586 * @param event packet 3587 * @return supervision_timeout 3588 * @note: btstack_type 2 3589 */ 3590 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 3591 return little_endian_read_16(event, 10); 3592 } 3593 3594 /** 3595 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3596 * @param event packet 3597 * @return connection_handle 3598 * @note: btstack_type H 3599 */ 3600 static inline hci_con_handle_t hci_subevent_le_read_remote_used_features_complete_get_connection_handle(const uint8_t * event){ 3601 return little_endian_read_16(event, 3); 3602 } 3603 /** 3604 * @brief Get field random_number from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3605 * @param event packet 3606 * @return random_number 3607 * @note: btstack_type D 3608 */ 3609 static inline const uint8_t * hci_subevent_le_read_remote_used_features_complete_get_random_number(const uint8_t * event){ 3610 return (const uint8_t *) &event[5]; 3611 } 3612 /** 3613 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3614 * @param event packet 3615 * @return encryption_diversifier 3616 * @note: btstack_type 2 3617 */ 3618 static inline uint16_t hci_subevent_le_read_remote_used_features_complete_get_encryption_diversifier(const uint8_t * event){ 3619 return little_endian_read_16(event, 13); 3620 } 3621 3622 /** 3623 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3624 * @param event packet 3625 * @return connection_handle 3626 * @note: btstack_type H 3627 */ 3628 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 3629 return little_endian_read_16(event, 3); 3630 } 3631 /** 3632 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3633 * @param event packet 3634 * @return random_number 3635 * @note: btstack_type D 3636 */ 3637 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 3638 return (const uint8_t *) &event[5]; 3639 } 3640 /** 3641 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3642 * @param event packet 3643 * @return encryption_diversifier 3644 * @note: btstack_type 2 3645 */ 3646 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 3647 return little_endian_read_16(event, 13); 3648 } 3649 3650 /** 3651 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3652 * @param event packet 3653 * @return connection_handle 3654 * @note: btstack_type H 3655 */ 3656 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 3657 return little_endian_read_16(event, 3); 3658 } 3659 /** 3660 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3661 * @param event packet 3662 * @return interval_min 3663 * @note: btstack_type 2 3664 */ 3665 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 3666 return little_endian_read_16(event, 5); 3667 } 3668 /** 3669 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3670 * @param event packet 3671 * @return interval_max 3672 * @note: btstack_type 2 3673 */ 3674 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 3675 return little_endian_read_16(event, 7); 3676 } 3677 /** 3678 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3679 * @param event packet 3680 * @return latency 3681 * @note: btstack_type 2 3682 */ 3683 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 3684 return little_endian_read_16(event, 9); 3685 } 3686 /** 3687 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3688 * @param event packet 3689 * @return timeout 3690 * @note: btstack_type 2 3691 */ 3692 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 3693 return little_endian_read_16(event, 11); 3694 } 3695 3696 /** 3697 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3698 * @param event packet 3699 * @return connection_handle 3700 * @note: btstack_type H 3701 */ 3702 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 3703 return little_endian_read_16(event, 3); 3704 } 3705 /** 3706 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3707 * @param event packet 3708 * @return max_tx_octets 3709 * @note: btstack_type 2 3710 */ 3711 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 3712 return little_endian_read_16(event, 5); 3713 } 3714 /** 3715 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3716 * @param event packet 3717 * @return max_tx_time 3718 * @note: btstack_type 2 3719 */ 3720 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 3721 return little_endian_read_16(event, 7); 3722 } 3723 /** 3724 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3725 * @param event packet 3726 * @return max_rx_octets 3727 * @note: btstack_type 2 3728 */ 3729 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 3730 return little_endian_read_16(event, 9); 3731 } 3732 /** 3733 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3734 * @param event packet 3735 * @return max_rx_time 3736 * @note: btstack_type 2 3737 */ 3738 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 3739 return little_endian_read_16(event, 11); 3740 } 3741 3742 /** 3743 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3744 * @param event packet 3745 * @return status 3746 * @note: btstack_type 1 3747 */ 3748 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 3749 return event[3]; 3750 } 3751 /** 3752 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3753 * @param event packet 3754 * @param Pointer to storage for dhkey_x 3755 * @note: btstack_type Q 3756 */ 3757 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 3758 reverse_bytes(&event[4], dhkey_x, 32); 3759 } 3760 /** 3761 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3762 * @param event packet 3763 * @param Pointer to storage for dhkey_y 3764 * @note: btstack_type Q 3765 */ 3766 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 3767 reverse_bytes(&event[36], dhkey_y, 32); 3768 } 3769 3770 /** 3771 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 3772 * @param event packet 3773 * @return status 3774 * @note: btstack_type 1 3775 */ 3776 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 3777 return event[3]; 3778 } 3779 /** 3780 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 3781 * @param event packet 3782 * @param Pointer to storage for dhkey 3783 * @note: btstack_type Q 3784 */ 3785 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 3786 reverse_bytes(&event[4], dhkey, 32); 3787 } 3788 3789 /** 3790 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3791 * @param event packet 3792 * @return status 3793 * @note: btstack_type 1 3794 */ 3795 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_status(const uint8_t * event){ 3796 return event[3]; 3797 } 3798 /** 3799 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3800 * @param event packet 3801 * @return connection_handle 3802 * @note: btstack_type H 3803 */ 3804 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_get_connection_handle(const uint8_t * event){ 3805 return little_endian_read_16(event, 4); 3806 } 3807 /** 3808 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3809 * @param event packet 3810 * @return role 3811 * @note: btstack_type 1 3812 */ 3813 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_role(const uint8_t * event){ 3814 return event[6]; 3815 } 3816 /** 3817 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3818 * @param event packet 3819 * @return peer_address_type 3820 * @note: btstack_type 1 3821 */ 3822 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_peer_address_type(const uint8_t * event){ 3823 return event[7]; 3824 } 3825 /** 3826 * @brief Get field perr_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3827 * @param event packet 3828 * @param Pointer to storage for perr_addresss 3829 * @note: btstack_type B 3830 */ 3831 static inline void hci_subevent_le_enhanced_connection_complete_get_perr_addresss(const uint8_t * event, bd_addr_t perr_addresss){ 3832 reverse_bytes(&event[8], perr_addresss, 6); 3833 } 3834 /** 3835 * @brief Get field local_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3836 * @param event packet 3837 * @param Pointer to storage for local_resolvable_private_addres 3838 * @note: btstack_type B 3839 */ 3840 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){ 3841 reverse_bytes(&event[14], local_resolvable_private_addres, 6); 3842 } 3843 /** 3844 * @brief Get field peer_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3845 * @param event packet 3846 * @param Pointer to storage for peer_resolvable_private_addres 3847 * @note: btstack_type B 3848 */ 3849 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){ 3850 reverse_bytes(&event[20], peer_resolvable_private_addres, 6); 3851 } 3852 /** 3853 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3854 * @param event packet 3855 * @return conn_interval 3856 * @note: btstack_type 2 3857 */ 3858 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_interval(const uint8_t * event){ 3859 return little_endian_read_16(event, 26); 3860 } 3861 /** 3862 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3863 * @param event packet 3864 * @return conn_latency 3865 * @note: btstack_type 2 3866 */ 3867 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_latency(const uint8_t * event){ 3868 return little_endian_read_16(event, 28); 3869 } 3870 /** 3871 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3872 * @param event packet 3873 * @return supervision_timeout 3874 * @note: btstack_type 2 3875 */ 3876 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_supervision_timeout(const uint8_t * event){ 3877 return little_endian_read_16(event, 30); 3878 } 3879 /** 3880 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3881 * @param event packet 3882 * @return master_clock_accuracy 3883 * @note: btstack_type 1 3884 */ 3885 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 3886 return event[32]; 3887 } 3888 3889 /** 3890 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 3891 * @param event packet 3892 * @return status 3893 * @note: btstack_type 1 3894 */ 3895 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 3896 return event[3]; 3897 } 3898 3899 /** 3900 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 3901 * @param event packet 3902 * @return status 3903 * @note: btstack_type 1 3904 */ 3905 static inline uint8_t hsp_subevent_rfcomm_disconnection_complete_get_status(const uint8_t * event){ 3906 return event[3]; 3907 } 3908 3909 /** 3910 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 3911 * @param event packet 3912 * @return status 3913 * @note: btstack_type 1 3914 */ 3915 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 3916 return event[3]; 3917 } 3918 /** 3919 * @brief Get field handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 3920 * @param event packet 3921 * @return handle 3922 * @note: btstack_type H 3923 */ 3924 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_handle(const uint8_t * event){ 3925 return little_endian_read_16(event, 4); 3926 } 3927 3928 /** 3929 * @brief Get field status from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 3930 * @param event packet 3931 * @return status 3932 * @note: btstack_type 1 3933 */ 3934 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_status(const uint8_t * event){ 3935 return event[3]; 3936 } 3937 3938 3939 /** 3940 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 3941 * @param event packet 3942 * @return gain 3943 * @note: btstack_type 1 3944 */ 3945 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 3946 return event[3]; 3947 } 3948 3949 /** 3950 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 3951 * @param event packet 3952 * @return gain 3953 * @note: btstack_type 1 3954 */ 3955 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 3956 return event[3]; 3957 } 3958 3959 /** 3960 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 3961 * @param event packet 3962 * @return value_length 3963 * @note: btstack_type J 3964 */ 3965 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 3966 return event[3]; 3967 } 3968 /** 3969 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 3970 * @param event packet 3971 * @return value 3972 * @note: btstack_type V 3973 */ 3974 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 3975 return &event[4]; 3976 } 3977 3978 /** 3979 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 3980 * @param event packet 3981 * @return value_length 3982 * @note: btstack_type J 3983 */ 3984 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 3985 return event[3]; 3986 } 3987 /** 3988 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 3989 * @param event packet 3990 * @return value 3991 * @note: btstack_type V 3992 */ 3993 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 3994 return &event[4]; 3995 } 3996 3997 3998 /** 3999 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 4000 * @param event packet 4001 * @return status 4002 * @note: btstack_type 1 4003 */ 4004 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 4005 return event[3]; 4006 } 4007 /** 4008 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 4009 * @param event packet 4010 * @return acl_handle 4011 * @note: btstack_type H 4012 */ 4013 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_acl_handle(const uint8_t * event){ 4014 return little_endian_read_16(event, 4); 4015 } 4016 /** 4017 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 4018 * @param event packet 4019 * @param Pointer to storage for bd_addr 4020 * @note: btstack_type B 4021 */ 4022 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4023 reverse_bytes(&event[6], bd_addr, 6); 4024 } 4025 4026 /** 4027 * @brief Get field acl_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 4028 * @param event packet 4029 * @return acl_handle 4030 * @note: btstack_type H 4031 */ 4032 static inline hci_con_handle_t hfp_subevent_service_level_connection_released_get_acl_handle(const uint8_t * event){ 4033 return little_endian_read_16(event, 3); 4034 } 4035 4036 /** 4037 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 4038 * @param event packet 4039 * @return acl_handle 4040 * @note: btstack_type H 4041 */ 4042 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_acl_handle(const uint8_t * event){ 4043 return little_endian_read_16(event, 3); 4044 } 4045 /** 4046 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 4047 * @param event packet 4048 * @return status 4049 * @note: btstack_type 1 4050 */ 4051 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 4052 return event[5]; 4053 } 4054 /** 4055 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 4056 * @param event packet 4057 * @return sco_handle 4058 * @note: btstack_type H 4059 */ 4060 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_sco_handle(const uint8_t * event){ 4061 return little_endian_read_16(event, 6); 4062 } 4063 /** 4064 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 4065 * @param event packet 4066 * @param Pointer to storage for bd_addr 4067 * @note: btstack_type B 4068 */ 4069 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4070 reverse_bytes(&event[8], bd_addr, 6); 4071 } 4072 /** 4073 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 4074 * @param event packet 4075 * @return negotiated_codec 4076 * @note: btstack_type 1 4077 */ 4078 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 4079 return event[14]; 4080 } 4081 4082 /** 4083 * @brief Get field acl_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 4084 * @param event packet 4085 * @return acl_handle 4086 * @note: btstack_type H 4087 */ 4088 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_acl_handle(const uint8_t * event){ 4089 return little_endian_read_16(event, 3); 4090 } 4091 /** 4092 * @brief Get field sco_handle from event HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 4093 * @param event packet 4094 * @return sco_handle 4095 * @note: btstack_type H 4096 */ 4097 static inline hci_con_handle_t hfp_subevent_audio_connection_released_get_sco_handle(const uint8_t * event){ 4098 return little_endian_read_16(event, 5); 4099 } 4100 4101 /** 4102 * @brief Get field acl_handle from event HFP_SUBEVENT_COMPLETE 4103 * @param event packet 4104 * @return acl_handle 4105 * @note: btstack_type H 4106 */ 4107 static inline hci_con_handle_t hfp_subevent_complete_get_acl_handle(const uint8_t * event){ 4108 return little_endian_read_16(event, 3); 4109 } 4110 /** 4111 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 4112 * @param event packet 4113 * @return status 4114 * @note: btstack_type 1 4115 */ 4116 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 4117 return event[5]; 4118 } 4119 4120 /** 4121 * @brief Get field acl_handle from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 4122 * @param event packet 4123 * @return acl_handle 4124 * @note: btstack_type H 4125 */ 4126 static inline hci_con_handle_t hfp_subevent_ag_indicator_status_changed_get_acl_handle(const uint8_t * event){ 4127 return little_endian_read_16(event, 3); 4128 } 4129 /** 4130 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 4131 * @param event packet 4132 * @return indicator_index 4133 * @note: btstack_type 1 4134 */ 4135 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 4136 return event[5]; 4137 } 4138 /** 4139 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 4140 * @param event packet 4141 * @return indicator_status 4142 * @note: btstack_type 1 4143 */ 4144 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 4145 return event[6]; 4146 } 4147 /** 4148 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 4149 * @param event packet 4150 * @return indicator_min_range 4151 * @note: btstack_type 1 4152 */ 4153 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 4154 return event[7]; 4155 } 4156 /** 4157 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 4158 * @param event packet 4159 * @return indicator_max_range 4160 * @note: btstack_type 1 4161 */ 4162 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 4163 return event[8]; 4164 } 4165 /** 4166 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 4167 * @param event packet 4168 * @return indicator_mandatory 4169 * @note: btstack_type 1 4170 */ 4171 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 4172 return event[9]; 4173 } 4174 /** 4175 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 4176 * @param event packet 4177 * @return indicator_enabled 4178 * @note: btstack_type 1 4179 */ 4180 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 4181 return event[10]; 4182 } 4183 /** 4184 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 4185 * @param event packet 4186 * @return indicator_status_changed 4187 * @note: btstack_type 1 4188 */ 4189 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 4190 return event[11]; 4191 } 4192 /** 4193 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 4194 * @param event packet 4195 * @return indicator_name 4196 * @note: btstack_type T 4197 */ 4198 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 4199 return (const char *) &event[12]; 4200 } 4201 4202 /** 4203 * @brief Get field acl_handle from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 4204 * @param event packet 4205 * @return acl_handle 4206 * @note: btstack_type H 4207 */ 4208 static inline hci_con_handle_t hfp_subevent_network_operator_changed_get_acl_handle(const uint8_t * event){ 4209 return little_endian_read_16(event, 3); 4210 } 4211 /** 4212 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 4213 * @param event packet 4214 * @return network_operator_mode 4215 * @note: btstack_type 1 4216 */ 4217 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 4218 return event[5]; 4219 } 4220 /** 4221 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 4222 * @param event packet 4223 * @return network_operator_format 4224 * @note: btstack_type 1 4225 */ 4226 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 4227 return event[6]; 4228 } 4229 /** 4230 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 4231 * @param event packet 4232 * @return network_operator_name 4233 * @note: btstack_type T 4234 */ 4235 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 4236 return (const char *) &event[7]; 4237 } 4238 4239 /** 4240 * @brief Get field acl_handle from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 4241 * @param event packet 4242 * @return acl_handle 4243 * @note: btstack_type H 4244 */ 4245 static inline hci_con_handle_t hfp_subevent_extended_audio_gateway_error_get_acl_handle(const uint8_t * event){ 4246 return little_endian_read_16(event, 3); 4247 } 4248 /** 4249 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 4250 * @param event packet 4251 * @return error 4252 * @note: btstack_type 1 4253 */ 4254 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 4255 return event[5]; 4256 } 4257 4258 /** 4259 * @brief Get field acl_handle from event HFP_SUBEVENT_START_RINGINIG 4260 * @param event packet 4261 * @return acl_handle 4262 * @note: btstack_type H 4263 */ 4264 static inline hci_con_handle_t hfp_subevent_start_ringinig_get_acl_handle(const uint8_t * event){ 4265 return little_endian_read_16(event, 3); 4266 } 4267 4268 /** 4269 * @brief Get field acl_handle from event HFP_SUBEVENT_STOP_RINGINIG 4270 * @param event packet 4271 * @return acl_handle 4272 * @note: btstack_type H 4273 */ 4274 static inline hci_con_handle_t hfp_subevent_stop_ringinig_get_acl_handle(const uint8_t * event){ 4275 return little_endian_read_16(event, 3); 4276 } 4277 4278 /** 4279 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_TERMINATED 4280 * @param event packet 4281 * @return acl_handle 4282 * @note: btstack_type H 4283 */ 4284 static inline hci_con_handle_t hfp_subevent_call_terminated_get_acl_handle(const uint8_t * event){ 4285 return little_endian_read_16(event, 3); 4286 } 4287 4288 /** 4289 * @brief Get field acl_handle from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 4290 * @param event packet 4291 * @return acl_handle 4292 * @note: btstack_type H 4293 */ 4294 static inline hci_con_handle_t hfp_subevent_place_call_with_number_get_acl_handle(const uint8_t * event){ 4295 return little_endian_read_16(event, 3); 4296 } 4297 /** 4298 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 4299 * @param event packet 4300 * @return number 4301 * @note: btstack_type T 4302 */ 4303 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 4304 return (const char *) &event[5]; 4305 } 4306 4307 /** 4308 * @brief Get field acl_handle from event HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 4309 * @param event packet 4310 * @return acl_handle 4311 * @note: btstack_type H 4312 */ 4313 static inline hci_con_handle_t hfp_subevent_attach_number_to_voice_tag_get_acl_handle(const uint8_t * event){ 4314 return little_endian_read_16(event, 3); 4315 } 4316 4317 /** 4318 * @brief Get field acl_handle from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 4319 * @param event packet 4320 * @return acl_handle 4321 * @note: btstack_type H 4322 */ 4323 static inline hci_con_handle_t hfp_subevent_number_for_voice_tag_get_acl_handle(const uint8_t * event){ 4324 return little_endian_read_16(event, 3); 4325 } 4326 /** 4327 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 4328 * @param event packet 4329 * @return number 4330 * @note: btstack_type T 4331 */ 4332 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 4333 return (const char *) &event[5]; 4334 } 4335 4336 /** 4337 * @brief Get field acl_handle from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 4338 * @param event packet 4339 * @return acl_handle 4340 * @note: btstack_type H 4341 */ 4342 static inline hci_con_handle_t hfp_subevent_transmit_dtmf_codes_get_acl_handle(const uint8_t * event){ 4343 return little_endian_read_16(event, 3); 4344 } 4345 /** 4346 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 4347 * @param event packet 4348 * @return dtmf 4349 * @note: btstack_type T 4350 */ 4351 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 4352 return (const char *) &event[5]; 4353 } 4354 4355 /** 4356 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_ANSWERED 4357 * @param event packet 4358 * @return acl_handle 4359 * @note: btstack_type H 4360 */ 4361 static inline hci_con_handle_t hfp_subevent_call_answered_get_acl_handle(const uint8_t * event){ 4362 return little_endian_read_16(event, 3); 4363 } 4364 4365 /** 4366 * @brief Get field acl_handle from event HFP_SUBEVENT_CONFERENCE_CALL 4367 * @param event packet 4368 * @return acl_handle 4369 * @note: btstack_type H 4370 */ 4371 static inline hci_con_handle_t hfp_subevent_conference_call_get_acl_handle(const uint8_t * event){ 4372 return little_endian_read_16(event, 3); 4373 } 4374 4375 /** 4376 * @brief Get field acl_handle from event HFP_SUBEVENT_RING 4377 * @param event packet 4378 * @return acl_handle 4379 * @note: btstack_type H 4380 */ 4381 static inline hci_con_handle_t hfp_subevent_ring_get_acl_handle(const uint8_t * event){ 4382 return little_endian_read_16(event, 3); 4383 } 4384 4385 /** 4386 * @brief Get field acl_handle from event HFP_SUBEVENT_SPEAKER_VOLUME 4387 * @param event packet 4388 * @return acl_handle 4389 * @note: btstack_type H 4390 */ 4391 static inline hci_con_handle_t hfp_subevent_speaker_volume_get_acl_handle(const uint8_t * event){ 4392 return little_endian_read_16(event, 3); 4393 } 4394 /** 4395 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 4396 * @param event packet 4397 * @return gain 4398 * @note: btstack_type 1 4399 */ 4400 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 4401 return event[5]; 4402 } 4403 4404 /** 4405 * @brief Get field acl_handle from event HFP_SUBEVENT_MICROPHONE_VOLUME 4406 * @param event packet 4407 * @return acl_handle 4408 * @note: btstack_type H 4409 */ 4410 static inline hci_con_handle_t hfp_subevent_microphone_volume_get_acl_handle(const uint8_t * event){ 4411 return little_endian_read_16(event, 3); 4412 } 4413 /** 4414 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 4415 * @param event packet 4416 * @return gain 4417 * @note: btstack_type 1 4418 */ 4419 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 4420 return event[5]; 4421 } 4422 4423 /** 4424 * @brief Get field acl_handle from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 4425 * @param event packet 4426 * @return acl_handle 4427 * @note: btstack_type H 4428 */ 4429 static inline hci_con_handle_t hfp_subevent_call_waiting_notification_get_acl_handle(const uint8_t * event){ 4430 return little_endian_read_16(event, 3); 4431 } 4432 /** 4433 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 4434 * @param event packet 4435 * @return type 4436 * @note: btstack_type 1 4437 */ 4438 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 4439 return event[5]; 4440 } 4441 /** 4442 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 4443 * @param event packet 4444 * @return number 4445 * @note: btstack_type T 4446 */ 4447 static inline const char * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 4448 return (const char *) &event[6]; 4449 } 4450 4451 /** 4452 * @brief Get field acl_handle from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 4453 * @param event packet 4454 * @return acl_handle 4455 * @note: btstack_type H 4456 */ 4457 static inline hci_con_handle_t hfp_subevent_calling_line_identification_notification_get_acl_handle(const uint8_t * event){ 4458 return little_endian_read_16(event, 3); 4459 } 4460 /** 4461 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 4462 * @param event packet 4463 * @return type 4464 * @note: btstack_type 1 4465 */ 4466 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 4467 return event[5]; 4468 } 4469 /** 4470 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 4471 * @param event packet 4472 * @return number 4473 * @note: btstack_type T 4474 */ 4475 static inline const char * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 4476 return (const char *) &event[6]; 4477 } 4478 4479 /** 4480 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4481 * @param event packet 4482 * @return acl_handle 4483 * @note: btstack_type H 4484 */ 4485 static inline hci_con_handle_t hfp_subevent_enhanced_call_status_get_acl_handle(const uint8_t * event){ 4486 return little_endian_read_16(event, 3); 4487 } 4488 /** 4489 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4490 * @param event packet 4491 * @return clcc_idx 4492 * @note: btstack_type 1 4493 */ 4494 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 4495 return event[5]; 4496 } 4497 /** 4498 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4499 * @param event packet 4500 * @return clcc_dir 4501 * @note: btstack_type 1 4502 */ 4503 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 4504 return event[6]; 4505 } 4506 /** 4507 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4508 * @param event packet 4509 * @return clcc_status 4510 * @note: btstack_type 1 4511 */ 4512 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 4513 return event[7]; 4514 } 4515 /** 4516 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4517 * @param event packet 4518 * @return clcc_mode 4519 * @note: btstack_type 1 4520 */ 4521 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 4522 return event[8]; 4523 } 4524 /** 4525 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4526 * @param event packet 4527 * @return clcc_mpty 4528 * @note: btstack_type 1 4529 */ 4530 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 4531 return event[9]; 4532 } 4533 /** 4534 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4535 * @param event packet 4536 * @return bnip_type 4537 * @note: btstack_type 1 4538 */ 4539 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 4540 return event[10]; 4541 } 4542 /** 4543 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4544 * @param event packet 4545 * @return bnip_number 4546 * @note: btstack_type T 4547 */ 4548 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 4549 return (const char *) &event[11]; 4550 } 4551 4552 /** 4553 * @brief Get field acl_handle from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4554 * @param event packet 4555 * @return acl_handle 4556 * @note: btstack_type H 4557 */ 4558 static inline hci_con_handle_t hfp_subevent_subscriber_number_information_get_acl_handle(const uint8_t * event){ 4559 return little_endian_read_16(event, 3); 4560 } 4561 /** 4562 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4563 * @param event packet 4564 * @return status 4565 * @note: btstack_type 1 4566 */ 4567 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 4568 return event[5]; 4569 } 4570 /** 4571 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4572 * @param event packet 4573 * @return bnip_type 4574 * @note: btstack_type 1 4575 */ 4576 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 4577 return event[6]; 4578 } 4579 /** 4580 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4581 * @param event packet 4582 * @return bnip_number 4583 * @note: btstack_type T 4584 */ 4585 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 4586 return (const char *) &event[7]; 4587 } 4588 4589 /** 4590 * @brief Get field acl_handle from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 4591 * @param event packet 4592 * @return acl_handle 4593 * @note: btstack_type H 4594 */ 4595 static inline hci_con_handle_t hfp_subevent_response_and_hold_status_get_acl_handle(const uint8_t * event){ 4596 return little_endian_read_16(event, 3); 4597 } 4598 /** 4599 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 4600 * @param event packet 4601 * @return value 4602 * @note: btstack_type T 4603 */ 4604 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 4605 return (const char *) &event[5]; 4606 } 4607 4608 /** 4609 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_SENT 4610 * @param event packet 4611 * @return acl_handle 4612 * @note: btstack_type H 4613 */ 4614 static inline hci_con_handle_t hfp_subevent_at_message_sent_get_acl_handle(const uint8_t * event){ 4615 return little_endian_read_16(event, 3); 4616 } 4617 /** 4618 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_SENT 4619 * @param event packet 4620 * @return command 4621 * @note: btstack_type T 4622 */ 4623 static inline const char * hfp_subevent_at_message_sent_get_command(const uint8_t * event){ 4624 return (const char *) &event[5]; 4625 } 4626 4627 /** 4628 * @brief Get field acl_handle from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 4629 * @param event packet 4630 * @return acl_handle 4631 * @note: btstack_type H 4632 */ 4633 static inline hci_con_handle_t hfp_subevent_at_message_received_get_acl_handle(const uint8_t * event){ 4634 return little_endian_read_16(event, 3); 4635 } 4636 /** 4637 * @brief Get field command from event HFP_SUBEVENT_AT_MESSAGE_RECEIVED 4638 * @param event packet 4639 * @return command 4640 * @note: btstack_type T 4641 */ 4642 static inline const char * hfp_subevent_at_message_received_get_command(const uint8_t * event){ 4643 return (const char *) &event[5]; 4644 } 4645 4646 /** 4647 * @brief Get field acl_handle from event HFP_SUBEVENT_IN_BAND_RING_TONE 4648 * @param event packet 4649 * @return acl_handle 4650 * @note: btstack_type H 4651 */ 4652 static inline hci_con_handle_t hfp_subevent_in_band_ring_tone_get_acl_handle(const uint8_t * event){ 4653 return little_endian_read_16(event, 3); 4654 } 4655 /** 4656 * @brief Get field status from event HFP_SUBEVENT_IN_BAND_RING_TONE 4657 * @param event packet 4658 * @return status 4659 * @note: btstack_type 1 4660 */ 4661 static inline uint8_t hfp_subevent_in_band_ring_tone_get_status(const uint8_t * event){ 4662 return event[5]; 4663 } 4664 4665 /** 4666 * @brief Get field acl_handle from event HFP_SUBEVENT_VOICE_RECOGNITION_STATUS 4667 * @param event packet 4668 * @return acl_handle 4669 * @note: btstack_type H 4670 */ 4671 static inline hci_con_handle_t hfp_subevent_voice_recognition_status_get_acl_handle(const uint8_t * event){ 4672 return little_endian_read_16(event, 3); 4673 } 4674 /** 4675 * @brief Get field activated from event HFP_SUBEVENT_VOICE_RECOGNITION_STATUS 4676 * @param event packet 4677 * @return activated 4678 * @note: btstack_type 1 4679 */ 4680 static inline uint8_t hfp_subevent_voice_recognition_status_get_activated(const uint8_t * event){ 4681 return event[5]; 4682 } 4683 4684 /** 4685 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_STATUS 4686 * @param event packet 4687 * @return acl_handle 4688 * @note: btstack_type H 4689 */ 4690 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_status_get_acl_handle(const uint8_t * event){ 4691 return little_endian_read_16(event, 3); 4692 } 4693 /** 4694 * @brief Get field status from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_STATUS 4695 * @param event packet 4696 * @return status 4697 * @note: btstack_type 1 4698 */ 4699 static inline uint8_t hfp_subevent_enhanced_voice_recognition_status_get_status(const uint8_t * event){ 4700 return event[5]; 4701 } 4702 /** 4703 * @brief Get field state from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_STATUS 4704 * @param event packet 4705 * @return state 4706 * @note: btstack_type 1 4707 */ 4708 static inline uint8_t hfp_subevent_enhanced_voice_recognition_status_get_state(const uint8_t * event){ 4709 return event[6]; 4710 } 4711 4712 /** 4713 * @brief Get field acl_handle from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_TEXT 4714 * @param event packet 4715 * @return acl_handle 4716 * @note: btstack_type H 4717 */ 4718 static inline hci_con_handle_t hfp_subevent_enhanced_voice_recognition_text_get_acl_handle(const uint8_t * event){ 4719 return little_endian_read_16(event, 3); 4720 } 4721 /** 4722 * @brief Get field text_id from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_TEXT 4723 * @param event packet 4724 * @return text_id 4725 * @note: btstack_type 2 4726 */ 4727 static inline uint16_t hfp_subevent_enhanced_voice_recognition_text_get_text_id(const uint8_t * event){ 4728 return little_endian_read_16(event, 5); 4729 } 4730 /** 4731 * @brief Get field text_operation from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_TEXT 4732 * @param event packet 4733 * @return text_operation 4734 * @note: btstack_type 1 4735 */ 4736 static inline uint8_t hfp_subevent_enhanced_voice_recognition_text_get_text_operation(const uint8_t * event){ 4737 return event[7]; 4738 } 4739 /** 4740 * @brief Get field text_type from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_TEXT 4741 * @param event packet 4742 * @return text_type 4743 * @note: btstack_type 1 4744 */ 4745 static inline uint8_t hfp_subevent_enhanced_voice_recognition_text_get_text_type(const uint8_t * event){ 4746 return event[8]; 4747 } 4748 /** 4749 * @brief Get field text_length from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_TEXT 4750 * @param event packet 4751 * @return text_length 4752 * @note: btstack_type L 4753 */ 4754 static inline uint16_t hfp_subevent_enhanced_voice_recognition_text_get_text_length(const uint8_t * event){ 4755 return little_endian_read_16(event, 9); 4756 } 4757 /** 4758 * @brief Get field text from event HFP_SUBEVENT_ENHANCED_VOICE_RECOGNITION_TEXT 4759 * @param event packet 4760 * @return text 4761 * @note: btstack_type V 4762 */ 4763 static inline const uint8_t * hfp_subevent_enhanced_voice_recognition_text_get_text(const uint8_t * event){ 4764 return &event[11]; 4765 } 4766 4767 #ifdef ENABLE_BLE 4768 /** 4769 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 4770 * @param event packet 4771 * @return handle 4772 * @note: btstack_type H 4773 */ 4774 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 4775 return little_endian_read_16(event, 3); 4776 } 4777 #endif 4778 4779 #ifdef ENABLE_BLE 4780 /** 4781 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4782 * @param event packet 4783 * @return handle 4784 * @note: btstack_type H 4785 */ 4786 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 4787 return little_endian_read_16(event, 3); 4788 } 4789 /** 4790 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4791 * @param event packet 4792 * @return attribute_id 4793 * @note: btstack_type 2 4794 */ 4795 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 4796 return little_endian_read_16(event, 5); 4797 } 4798 /** 4799 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4800 * @param event packet 4801 * @return text 4802 * @note: btstack_type T 4803 */ 4804 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 4805 return (const char *) &event[7]; 4806 } 4807 #endif 4808 4809 #ifdef ENABLE_BLE 4810 /** 4811 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 4812 * @param event packet 4813 * @return handle 4814 * @note: btstack_type H 4815 */ 4816 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 4817 return little_endian_read_16(event, 3); 4818 } 4819 #endif 4820 4821 /** 4822 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4823 * @param event packet 4824 * @return avdtp_cid 4825 * @note: btstack_type 2 4826 */ 4827 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 4828 return little_endian_read_16(event, 3); 4829 } 4830 /** 4831 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4832 * @param event packet 4833 * @return local_seid 4834 * @note: btstack_type 1 4835 */ 4836 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 4837 return event[5]; 4838 } 4839 /** 4840 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4841 * @param event packet 4842 * @return is_initiator 4843 * @note: btstack_type 1 4844 */ 4845 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 4846 return event[6]; 4847 } 4848 /** 4849 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4850 * @param event packet 4851 * @return signal_identifier 4852 * @note: btstack_type 1 4853 */ 4854 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 4855 return event[7]; 4856 } 4857 4858 /** 4859 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 4860 * @param event packet 4861 * @return avdtp_cid 4862 * @note: btstack_type 2 4863 */ 4864 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 4865 return little_endian_read_16(event, 3); 4866 } 4867 /** 4868 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 4869 * @param event packet 4870 * @return local_seid 4871 * @note: btstack_type 1 4872 */ 4873 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 4874 return event[5]; 4875 } 4876 /** 4877 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 4878 * @param event packet 4879 * @return is_initiator 4880 * @note: btstack_type 1 4881 */ 4882 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 4883 return event[6]; 4884 } 4885 /** 4886 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 4887 * @param event packet 4888 * @return signal_identifier 4889 * @note: btstack_type 1 4890 */ 4891 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 4892 return event[7]; 4893 } 4894 4895 /** 4896 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4897 * @param event packet 4898 * @return avdtp_cid 4899 * @note: btstack_type 2 4900 */ 4901 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 4902 return little_endian_read_16(event, 3); 4903 } 4904 /** 4905 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4906 * @param event packet 4907 * @return local_seid 4908 * @note: btstack_type 1 4909 */ 4910 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 4911 return event[5]; 4912 } 4913 /** 4914 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4915 * @param event packet 4916 * @return is_initiator 4917 * @note: btstack_type 1 4918 */ 4919 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 4920 return event[6]; 4921 } 4922 /** 4923 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4924 * @param event packet 4925 * @return signal_identifier 4926 * @note: btstack_type 1 4927 */ 4928 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 4929 return event[7]; 4930 } 4931 4932 /** 4933 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4934 * @param event packet 4935 * @return avdtp_cid 4936 * @note: btstack_type 2 4937 */ 4938 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 4939 return little_endian_read_16(event, 3); 4940 } 4941 /** 4942 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4943 * @param event packet 4944 * @param Pointer to storage for bd_addr 4945 * @note: btstack_type B 4946 */ 4947 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4948 reverse_bytes(&event[5], bd_addr, 6); 4949 } 4950 /** 4951 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4952 * @param event packet 4953 * @return con_handle 4954 * @note: btstack_type 2 4955 */ 4956 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 4957 return little_endian_read_16(event, 11); 4958 } 4959 /** 4960 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4961 * @param event packet 4962 * @return status 4963 * @note: btstack_type 1 4964 */ 4965 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 4966 return event[13]; 4967 } 4968 4969 /** 4970 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 4971 * @param event packet 4972 * @return avdtp_cid 4973 * @note: btstack_type 2 4974 */ 4975 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 4976 return little_endian_read_16(event, 3); 4977 } 4978 4979 /** 4980 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4981 * @param event packet 4982 * @return avdtp_cid 4983 * @note: btstack_type 2 4984 */ 4985 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 4986 return little_endian_read_16(event, 3); 4987 } 4988 /** 4989 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4990 * @param event packet 4991 * @return remote_seid 4992 * @note: btstack_type 1 4993 */ 4994 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 4995 return event[5]; 4996 } 4997 /** 4998 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4999 * @param event packet 5000 * @return in_use 5001 * @note: btstack_type 1 5002 */ 5003 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 5004 return event[6]; 5005 } 5006 /** 5007 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 5008 * @param event packet 5009 * @return media_type 5010 * @note: btstack_type 1 5011 */ 5012 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 5013 return event[7]; 5014 } 5015 /** 5016 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 5017 * @param event packet 5018 * @return sep_type 5019 * @note: btstack_type 1 5020 */ 5021 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 5022 return event[8]; 5023 } 5024 5025 /** 5026 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 5027 * @param event packet 5028 * @return avdtp_cid 5029 * @note: btstack_type 2 5030 */ 5031 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 5032 return little_endian_read_16(event, 3); 5033 } 5034 /** 5035 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 5036 * @param event packet 5037 * @return remote_seid 5038 * @note: btstack_type 1 5039 */ 5040 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 5041 return event[5]; 5042 } 5043 /** 5044 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 5045 * @param event packet 5046 * @return media_type 5047 * @note: btstack_type 1 5048 */ 5049 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 5050 return event[6]; 5051 } 5052 /** 5053 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 5054 * @param event packet 5055 * @return sampling_frequency_bitmap 5056 * @note: btstack_type 1 5057 */ 5058 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 5059 return event[7]; 5060 } 5061 /** 5062 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 5063 * @param event packet 5064 * @return channel_mode_bitmap 5065 * @note: btstack_type 1 5066 */ 5067 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 5068 return event[8]; 5069 } 5070 /** 5071 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 5072 * @param event packet 5073 * @return block_length_bitmap 5074 * @note: btstack_type 1 5075 */ 5076 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 5077 return event[9]; 5078 } 5079 /** 5080 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 5081 * @param event packet 5082 * @return subbands_bitmap 5083 * @note: btstack_type 1 5084 */ 5085 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 5086 return event[10]; 5087 } 5088 /** 5089 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 5090 * @param event packet 5091 * @return allocation_method_bitmap 5092 * @note: btstack_type 1 5093 */ 5094 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 5095 return event[11]; 5096 } 5097 /** 5098 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 5099 * @param event packet 5100 * @return min_bitpool_value 5101 * @note: btstack_type 1 5102 */ 5103 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 5104 return event[12]; 5105 } 5106 /** 5107 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 5108 * @param event packet 5109 * @return max_bitpool_value 5110 * @note: btstack_type 1 5111 */ 5112 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 5113 return event[13]; 5114 } 5115 5116 /** 5117 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5118 * @param event packet 5119 * @return avdtp_cid 5120 * @note: btstack_type 2 5121 */ 5122 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ 5123 return little_endian_read_16(event, 3); 5124 } 5125 /** 5126 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5127 * @param event packet 5128 * @return remote_seid 5129 * @note: btstack_type 1 5130 */ 5131 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 5132 return event[5]; 5133 } 5134 /** 5135 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5136 * @param event packet 5137 * @return media_type 5138 * @note: btstack_type 1 5139 */ 5140 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 5141 return event[6]; 5142 } 5143 /** 5144 * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5145 * @param event packet 5146 * @return layer_bitmap 5147 * @note: btstack_type 1 5148 */ 5149 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 5150 return event[7]; 5151 } 5152 /** 5153 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5154 * @param event packet 5155 * @return crc 5156 * @note: btstack_type 1 5157 */ 5158 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 5159 return event[8]; 5160 } 5161 /** 5162 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5163 * @param event packet 5164 * @return channel_mode_bitmap 5165 * @note: btstack_type 1 5166 */ 5167 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 5168 return event[9]; 5169 } 5170 /** 5171 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5172 * @param event packet 5173 * @return media_payload_format 5174 * @note: btstack_type 1 5175 */ 5176 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 5177 return event[10]; 5178 } 5179 /** 5180 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5181 * @param event packet 5182 * @return sampling_frequency_bitmap 5183 * @note: btstack_type 1 5184 */ 5185 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 5186 return event[11]; 5187 } 5188 /** 5189 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5190 * @param event packet 5191 * @return vbr 5192 * @note: btstack_type 1 5193 */ 5194 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 5195 return event[12]; 5196 } 5197 /** 5198 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5199 * @param event packet 5200 * @return bit_rate_index_bitmap 5201 * @note: btstack_type 2 5202 */ 5203 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 5204 return little_endian_read_16(event, 13); 5205 } 5206 5207 /** 5208 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5209 * @param event packet 5210 * @return avdtp_cid 5211 * @note: btstack_type 2 5212 */ 5213 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ 5214 return little_endian_read_16(event, 3); 5215 } 5216 /** 5217 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5218 * @param event packet 5219 * @return remote_seid 5220 * @note: btstack_type 1 5221 */ 5222 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 5223 return event[5]; 5224 } 5225 /** 5226 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5227 * @param event packet 5228 * @return media_type 5229 * @note: btstack_type 1 5230 */ 5231 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 5232 return event[6]; 5233 } 5234 /** 5235 * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5236 * @param event packet 5237 * @return object_type_bitmap 5238 * @note: btstack_type 1 5239 */ 5240 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 5241 return event[7]; 5242 } 5243 /** 5244 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5245 * @param event packet 5246 * @return sampling_frequency_bitmap 5247 * @note: btstack_type 2 5248 */ 5249 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 5250 return little_endian_read_16(event, 8); 5251 } 5252 /** 5253 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5254 * @param event packet 5255 * @return channels_bitmap 5256 * @note: btstack_type 1 5257 */ 5258 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 5259 return event[10]; 5260 } 5261 /** 5262 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5263 * @param event packet 5264 * @return bit_rate 5265 * @note: btstack_type 3 5266 */ 5267 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 5268 return little_endian_read_24(event, 11); 5269 } 5270 /** 5271 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5272 * @param event packet 5273 * @return vbr 5274 * @note: btstack_type 1 5275 */ 5276 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 5277 return event[14]; 5278 } 5279 5280 /** 5281 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5282 * @param event packet 5283 * @return avdtp_cid 5284 * @note: btstack_type 2 5285 */ 5286 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ 5287 return little_endian_read_16(event, 3); 5288 } 5289 /** 5290 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5291 * @param event packet 5292 * @return remote_seid 5293 * @note: btstack_type 1 5294 */ 5295 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 5296 return event[5]; 5297 } 5298 /** 5299 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5300 * @param event packet 5301 * @return media_type 5302 * @note: btstack_type 1 5303 */ 5304 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 5305 return event[6]; 5306 } 5307 /** 5308 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5309 * @param event packet 5310 * @return version 5311 * @note: btstack_type 1 5312 */ 5313 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 5314 return event[7]; 5315 } 5316 /** 5317 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5318 * @param event packet 5319 * @return channel_mode_bitmap 5320 * @note: btstack_type 1 5321 */ 5322 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 5323 return event[8]; 5324 } 5325 /** 5326 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5327 * @param event packet 5328 * @return sampling_frequency_bitmap 5329 * @note: btstack_type 1 5330 */ 5331 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 5332 return event[9]; 5333 } 5334 /** 5335 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5336 * @param event packet 5337 * @return vbr 5338 * @note: btstack_type 1 5339 */ 5340 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 5341 return event[10]; 5342 } 5343 /** 5344 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5345 * @param event packet 5346 * @return bit_rate_index_bitmap 5347 * @note: btstack_type 3 5348 */ 5349 static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 5350 return little_endian_read_24(event, 11); 5351 } 5352 /** 5353 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5354 * @param event packet 5355 * @return maximum_sul 5356 * @note: btstack_type 2 5357 */ 5358 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 5359 return little_endian_read_16(event, 14); 5360 } 5361 5362 /** 5363 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 5364 * @param event packet 5365 * @return avdtp_cid 5366 * @note: btstack_type 2 5367 */ 5368 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 5369 return little_endian_read_16(event, 3); 5370 } 5371 /** 5372 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 5373 * @param event packet 5374 * @return remote_seid 5375 * @note: btstack_type 1 5376 */ 5377 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 5378 return event[5]; 5379 } 5380 /** 5381 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 5382 * @param event packet 5383 * @return media_type 5384 * @note: btstack_type 1 5385 */ 5386 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 5387 return event[6]; 5388 } 5389 /** 5390 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 5391 * @param event packet 5392 * @return media_codec_type 5393 * @note: btstack_type 2 5394 */ 5395 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 5396 return little_endian_read_16(event, 7); 5397 } 5398 /** 5399 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 5400 * @param event packet 5401 * @return media_codec_information_len 5402 * @note: btstack_type L 5403 */ 5404 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 5405 return little_endian_read_16(event, 9); 5406 } 5407 /** 5408 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 5409 * @param event packet 5410 * @return media_codec_information 5411 * @note: btstack_type V 5412 */ 5413 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 5414 return &event[11]; 5415 } 5416 5417 /** 5418 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 5419 * @param event packet 5420 * @return avdtp_cid 5421 * @note: btstack_type 2 5422 */ 5423 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 5424 return little_endian_read_16(event, 3); 5425 } 5426 /** 5427 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 5428 * @param event packet 5429 * @return remote_seid 5430 * @note: btstack_type 1 5431 */ 5432 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 5433 return event[5]; 5434 } 5435 5436 /** 5437 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 5438 * @param event packet 5439 * @return avdtp_cid 5440 * @note: btstack_type 2 5441 */ 5442 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 5443 return little_endian_read_16(event, 3); 5444 } 5445 /** 5446 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 5447 * @param event packet 5448 * @return remote_seid 5449 * @note: btstack_type 1 5450 */ 5451 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 5452 return event[5]; 5453 } 5454 5455 /** 5456 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 5457 * @param event packet 5458 * @return avdtp_cid 5459 * @note: btstack_type 2 5460 */ 5461 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 5462 return little_endian_read_16(event, 3); 5463 } 5464 /** 5465 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 5466 * @param event packet 5467 * @return remote_seid 5468 * @note: btstack_type 1 5469 */ 5470 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 5471 return event[5]; 5472 } 5473 /** 5474 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 5475 * @param event packet 5476 * @return recovery_type 5477 * @note: btstack_type 1 5478 */ 5479 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 5480 return event[6]; 5481 } 5482 /** 5483 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 5484 * @param event packet 5485 * @return maximum_recovery_window_size 5486 * @note: btstack_type 1 5487 */ 5488 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 5489 return event[7]; 5490 } 5491 /** 5492 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 5493 * @param event packet 5494 * @return maximum_number_media_packets 5495 * @note: btstack_type 1 5496 */ 5497 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 5498 return event[8]; 5499 } 5500 5501 /** 5502 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 5503 * @param event packet 5504 * @return avdtp_cid 5505 * @note: btstack_type 2 5506 */ 5507 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 5508 return little_endian_read_16(event, 3); 5509 } 5510 /** 5511 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 5512 * @param event packet 5513 * @return remote_seid 5514 * @note: btstack_type 1 5515 */ 5516 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 5517 return event[5]; 5518 } 5519 /** 5520 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 5521 * @param event packet 5522 * @return cp_type 5523 * @note: btstack_type 2 5524 */ 5525 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 5526 return little_endian_read_16(event, 6); 5527 } 5528 /** 5529 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 5530 * @param event packet 5531 * @return cp_type_value_len 5532 * @note: btstack_type L 5533 */ 5534 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 5535 return little_endian_read_16(event, 8); 5536 } 5537 /** 5538 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 5539 * @param event packet 5540 * @return cp_type_value 5541 * @note: btstack_type V 5542 */ 5543 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 5544 return &event[10]; 5545 } 5546 5547 /** 5548 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5549 * @param event packet 5550 * @return avdtp_cid 5551 * @note: btstack_type 2 5552 */ 5553 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 5554 return little_endian_read_16(event, 3); 5555 } 5556 /** 5557 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5558 * @param event packet 5559 * @return remote_seid 5560 * @note: btstack_type 1 5561 */ 5562 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 5563 return event[5]; 5564 } 5565 /** 5566 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5567 * @param event packet 5568 * @return fragmentation 5569 * @note: btstack_type 1 5570 */ 5571 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 5572 return event[6]; 5573 } 5574 /** 5575 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5576 * @param event packet 5577 * @return transport_identifiers_num 5578 * @note: btstack_type 1 5579 */ 5580 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 5581 return event[7]; 5582 } 5583 /** 5584 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5585 * @param event packet 5586 * @return transport_session_identifier_1 5587 * @note: btstack_type 1 5588 */ 5589 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 5590 return event[8]; 5591 } 5592 /** 5593 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5594 * @param event packet 5595 * @return transport_session_identifier_2 5596 * @note: btstack_type 1 5597 */ 5598 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 5599 return event[9]; 5600 } 5601 /** 5602 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5603 * @param event packet 5604 * @return transport_session_identifier_3 5605 * @note: btstack_type 1 5606 */ 5607 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 5608 return event[10]; 5609 } 5610 /** 5611 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5612 * @param event packet 5613 * @return tcid_1 5614 * @note: btstack_type 1 5615 */ 5616 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 5617 return event[11]; 5618 } 5619 /** 5620 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5621 * @param event packet 5622 * @return tcid_2 5623 * @note: btstack_type 1 5624 */ 5625 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 5626 return event[12]; 5627 } 5628 /** 5629 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5630 * @param event packet 5631 * @return tcid_3 5632 * @note: btstack_type 1 5633 */ 5634 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 5635 return event[13]; 5636 } 5637 5638 /** 5639 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 5640 * @param event packet 5641 * @return avdtp_cid 5642 * @note: btstack_type 2 5643 */ 5644 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 5645 return little_endian_read_16(event, 3); 5646 } 5647 /** 5648 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 5649 * @param event packet 5650 * @return remote_seid 5651 * @note: btstack_type 1 5652 */ 5653 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 5654 return event[5]; 5655 } 5656 5657 /** 5658 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 5659 * @param event packet 5660 * @return avdtp_cid 5661 * @note: btstack_type 2 5662 */ 5663 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 5664 return little_endian_read_16(event, 3); 5665 } 5666 /** 5667 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 5668 * @param event packet 5669 * @return remote_seid 5670 * @note: btstack_type 1 5671 */ 5672 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 5673 return event[5]; 5674 } 5675 /** 5676 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 5677 * @param event packet 5678 * @return back_ch 5679 * @note: btstack_type 1 5680 */ 5681 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 5682 return event[6]; 5683 } 5684 /** 5685 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 5686 * @param event packet 5687 * @return media 5688 * @note: btstack_type 1 5689 */ 5690 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 5691 return event[7]; 5692 } 5693 /** 5694 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 5695 * @param event packet 5696 * @return recovery 5697 * @note: btstack_type 1 5698 */ 5699 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 5700 return event[8]; 5701 } 5702 5703 /** 5704 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5705 * @param event packet 5706 * @return avdtp_cid 5707 * @note: btstack_type 2 5708 */ 5709 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 5710 return little_endian_read_16(event, 3); 5711 } 5712 /** 5713 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5714 * @param event packet 5715 * @return remote_seid 5716 * @note: btstack_type 1 5717 */ 5718 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 5719 return event[5]; 5720 } 5721 5722 /** 5723 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5724 * @param event packet 5725 * @return avdtp_cid 5726 * @note: btstack_type 2 5727 */ 5728 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 5729 return little_endian_read_16(event, 3); 5730 } 5731 /** 5732 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5733 * @param event packet 5734 * @return local_seid 5735 * @note: btstack_type 1 5736 */ 5737 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 5738 return event[5]; 5739 } 5740 /** 5741 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5742 * @param event packet 5743 * @return remote_seid 5744 * @note: btstack_type 1 5745 */ 5746 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 5747 return event[6]; 5748 } 5749 /** 5750 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5751 * @param event packet 5752 * @return reconfigure 5753 * @note: btstack_type 1 5754 */ 5755 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 5756 return event[7]; 5757 } 5758 /** 5759 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5760 * @param event packet 5761 * @return media_type 5762 * @note: btstack_type 1 5763 */ 5764 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 5765 return event[8]; 5766 } 5767 /** 5768 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5769 * @param event packet 5770 * @return sampling_frequency 5771 * @note: btstack_type 2 5772 */ 5773 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 5774 return little_endian_read_16(event, 9); 5775 } 5776 /** 5777 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5778 * @param event packet 5779 * @return channel_mode 5780 * @note: btstack_type 1 5781 */ 5782 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 5783 return event[11]; 5784 } 5785 /** 5786 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5787 * @param event packet 5788 * @return num_channels 5789 * @note: btstack_type 1 5790 */ 5791 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 5792 return event[12]; 5793 } 5794 /** 5795 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5796 * @param event packet 5797 * @return block_length 5798 * @note: btstack_type 1 5799 */ 5800 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 5801 return event[13]; 5802 } 5803 /** 5804 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5805 * @param event packet 5806 * @return subbands 5807 * @note: btstack_type 1 5808 */ 5809 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 5810 return event[14]; 5811 } 5812 /** 5813 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5814 * @param event packet 5815 * @return allocation_method 5816 * @note: btstack_type 1 5817 */ 5818 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 5819 return event[15]; 5820 } 5821 /** 5822 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5823 * @param event packet 5824 * @return min_bitpool_value 5825 * @note: btstack_type 1 5826 */ 5827 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 5828 return event[16]; 5829 } 5830 /** 5831 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5832 * @param event packet 5833 * @return max_bitpool_value 5834 * @note: btstack_type 1 5835 */ 5836 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 5837 return event[17]; 5838 } 5839 5840 /** 5841 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5842 * @param event packet 5843 * @return avdtp_cid 5844 * @note: btstack_type 2 5845 */ 5846 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ 5847 return little_endian_read_16(event, 3); 5848 } 5849 /** 5850 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5851 * @param event packet 5852 * @return local_seid 5853 * @note: btstack_type 1 5854 */ 5855 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 5856 return event[5]; 5857 } 5858 /** 5859 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5860 * @param event packet 5861 * @return remote_seid 5862 * @note: btstack_type 1 5863 */ 5864 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 5865 return event[6]; 5866 } 5867 /** 5868 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5869 * @param event packet 5870 * @return reconfigure 5871 * @note: btstack_type 1 5872 */ 5873 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 5874 return event[7]; 5875 } 5876 /** 5877 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5878 * @param event packet 5879 * @return media_type 5880 * @note: btstack_type 1 5881 */ 5882 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 5883 return event[8]; 5884 } 5885 /** 5886 * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5887 * @param event packet 5888 * @return layer 5889 * @note: btstack_type 1 5890 */ 5891 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 5892 return event[9]; 5893 } 5894 /** 5895 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5896 * @param event packet 5897 * @return crc 5898 * @note: btstack_type 1 5899 */ 5900 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 5901 return event[10]; 5902 } 5903 /** 5904 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5905 * @param event packet 5906 * @return channel_mode 5907 * @note: btstack_type 1 5908 */ 5909 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 5910 return event[11]; 5911 } 5912 /** 5913 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5914 * @param event packet 5915 * @return num_channels 5916 * @note: btstack_type 1 5917 */ 5918 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 5919 return event[12]; 5920 } 5921 /** 5922 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5923 * @param event packet 5924 * @return media_payload_format 5925 * @note: btstack_type 1 5926 */ 5927 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 5928 return event[13]; 5929 } 5930 /** 5931 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5932 * @param event packet 5933 * @return sampling_frequency 5934 * @note: btstack_type 2 5935 */ 5936 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 5937 return little_endian_read_16(event, 14); 5938 } 5939 /** 5940 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5941 * @param event packet 5942 * @return vbr 5943 * @note: btstack_type 1 5944 */ 5945 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 5946 return event[16]; 5947 } 5948 /** 5949 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5950 * @param event packet 5951 * @return bit_rate_index 5952 * @note: btstack_type 1 5953 */ 5954 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 5955 return event[17]; 5956 } 5957 5958 /** 5959 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5960 * @param event packet 5961 * @return avdtp_cid 5962 * @note: btstack_type 2 5963 */ 5964 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ 5965 return little_endian_read_16(event, 3); 5966 } 5967 /** 5968 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5969 * @param event packet 5970 * @return local_seid 5971 * @note: btstack_type 1 5972 */ 5973 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 5974 return event[5]; 5975 } 5976 /** 5977 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5978 * @param event packet 5979 * @return remote_seid 5980 * @note: btstack_type 1 5981 */ 5982 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 5983 return event[6]; 5984 } 5985 /** 5986 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5987 * @param event packet 5988 * @return reconfigure 5989 * @note: btstack_type 1 5990 */ 5991 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 5992 return event[7]; 5993 } 5994 /** 5995 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5996 * @param event packet 5997 * @return media_type 5998 * @note: btstack_type 1 5999 */ 6000 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 6001 return event[8]; 6002 } 6003 /** 6004 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6005 * @param event packet 6006 * @return object_type 6007 * @note: btstack_type 1 6008 */ 6009 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 6010 return event[9]; 6011 } 6012 /** 6013 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6014 * @param event packet 6015 * @return sampling_frequency 6016 * @note: btstack_type 3 6017 */ 6018 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 6019 return little_endian_read_24(event, 10); 6020 } 6021 /** 6022 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6023 * @param event packet 6024 * @return num_channels 6025 * @note: btstack_type 1 6026 */ 6027 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 6028 return event[13]; 6029 } 6030 /** 6031 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6032 * @param event packet 6033 * @return bit_rate 6034 * @note: btstack_type 3 6035 */ 6036 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 6037 return little_endian_read_24(event, 14); 6038 } 6039 /** 6040 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6041 * @param event packet 6042 * @return vbr 6043 * @note: btstack_type 1 6044 */ 6045 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 6046 return event[17]; 6047 } 6048 6049 /** 6050 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6051 * @param event packet 6052 * @return avdtp_cid 6053 * @note: btstack_type 2 6054 */ 6055 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ 6056 return little_endian_read_16(event, 3); 6057 } 6058 /** 6059 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6060 * @param event packet 6061 * @return local_seid 6062 * @note: btstack_type 1 6063 */ 6064 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 6065 return event[5]; 6066 } 6067 /** 6068 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6069 * @param event packet 6070 * @return remote_seid 6071 * @note: btstack_type 1 6072 */ 6073 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 6074 return event[6]; 6075 } 6076 /** 6077 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6078 * @param event packet 6079 * @return reconfigure 6080 * @note: btstack_type 1 6081 */ 6082 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 6083 return event[7]; 6084 } 6085 /** 6086 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6087 * @param event packet 6088 * @return media_type 6089 * @note: btstack_type 1 6090 */ 6091 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 6092 return event[8]; 6093 } 6094 /** 6095 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6096 * @param event packet 6097 * @return version 6098 * @note: btstack_type 1 6099 */ 6100 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 6101 return event[9]; 6102 } 6103 /** 6104 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6105 * @param event packet 6106 * @return channel_mode 6107 * @note: btstack_type 1 6108 */ 6109 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 6110 return event[10]; 6111 } 6112 /** 6113 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6114 * @param event packet 6115 * @return num_channels 6116 * @note: btstack_type 1 6117 */ 6118 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 6119 return event[11]; 6120 } 6121 /** 6122 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6123 * @param event packet 6124 * @return sampling_frequency 6125 * @note: btstack_type 2 6126 */ 6127 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 6128 return little_endian_read_16(event, 12); 6129 } 6130 /** 6131 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6132 * @param event packet 6133 * @return vbr 6134 * @note: btstack_type 1 6135 */ 6136 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 6137 return event[14]; 6138 } 6139 /** 6140 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6141 * @param event packet 6142 * @return bit_rate_index 6143 * @note: btstack_type 1 6144 */ 6145 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 6146 return event[15]; 6147 } 6148 /** 6149 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6150 * @param event packet 6151 * @return maximum_sul 6152 * @note: btstack_type 2 6153 */ 6154 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 6155 return little_endian_read_16(event, 16); 6156 } 6157 6158 /** 6159 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6160 * @param event packet 6161 * @return avdtp_cid 6162 * @note: btstack_type 2 6163 */ 6164 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 6165 return little_endian_read_16(event, 3); 6166 } 6167 /** 6168 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6169 * @param event packet 6170 * @return local_seid 6171 * @note: btstack_type 1 6172 */ 6173 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 6174 return event[5]; 6175 } 6176 /** 6177 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6178 * @param event packet 6179 * @return remote_seid 6180 * @note: btstack_type 1 6181 */ 6182 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 6183 return event[6]; 6184 } 6185 /** 6186 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6187 * @param event packet 6188 * @return reconfigure 6189 * @note: btstack_type 1 6190 */ 6191 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 6192 return event[7]; 6193 } 6194 /** 6195 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6196 * @param event packet 6197 * @return media_type 6198 * @note: btstack_type 1 6199 */ 6200 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 6201 return event[8]; 6202 } 6203 /** 6204 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6205 * @param event packet 6206 * @return media_codec_type 6207 * @note: btstack_type 2 6208 */ 6209 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 6210 return little_endian_read_16(event, 9); 6211 } 6212 /** 6213 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6214 * @param event packet 6215 * @return media_codec_information_len 6216 * @note: btstack_type L 6217 */ 6218 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 6219 return little_endian_read_16(event, 11); 6220 } 6221 /** 6222 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6223 * @param event packet 6224 * @return media_codec_information 6225 * @note: btstack_type V 6226 */ 6227 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 6228 return &event[13]; 6229 } 6230 6231 /** 6232 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 6233 * @param event packet 6234 * @return avdtp_cid 6235 * @note: btstack_type 2 6236 */ 6237 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 6238 return little_endian_read_16(event, 3); 6239 } 6240 /** 6241 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 6242 * @param event packet 6243 * @param Pointer to storage for bd_addr 6244 * @note: btstack_type B 6245 */ 6246 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6247 reverse_bytes(&event[5], bd_addr, 6); 6248 } 6249 /** 6250 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 6251 * @param event packet 6252 * @return local_seid 6253 * @note: btstack_type 1 6254 */ 6255 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 6256 return event[11]; 6257 } 6258 /** 6259 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 6260 * @param event packet 6261 * @return remote_seid 6262 * @note: btstack_type 1 6263 */ 6264 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 6265 return event[12]; 6266 } 6267 /** 6268 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 6269 * @param event packet 6270 * @return status 6271 * @note: btstack_type 1 6272 */ 6273 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 6274 return event[13]; 6275 } 6276 6277 /** 6278 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 6279 * @param event packet 6280 * @return avdtp_cid 6281 * @note: btstack_type 2 6282 */ 6283 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 6284 return little_endian_read_16(event, 3); 6285 } 6286 /** 6287 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 6288 * @param event packet 6289 * @return local_seid 6290 * @note: btstack_type 1 6291 */ 6292 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 6293 return event[5]; 6294 } 6295 6296 /** 6297 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 6298 * @param event packet 6299 * @return avdtp_cid 6300 * @note: btstack_type 2 6301 */ 6302 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 6303 return little_endian_read_16(event, 3); 6304 } 6305 /** 6306 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 6307 * @param event packet 6308 * @return local_seid 6309 * @note: btstack_type 1 6310 */ 6311 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 6312 return event[5]; 6313 } 6314 /** 6315 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 6316 * @param event packet 6317 * @return sequence_number 6318 * @note: btstack_type 2 6319 */ 6320 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 6321 return little_endian_read_16(event, 6); 6322 } 6323 6324 /** 6325 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 6326 * @param event packet 6327 * @return avdtp_cid 6328 * @note: btstack_type 2 6329 */ 6330 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 6331 return little_endian_read_16(event, 3); 6332 } 6333 6334 /** 6335 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 6336 * @param event packet 6337 * @return avdtp_cid 6338 * @note: btstack_type 2 6339 */ 6340 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 6341 return little_endian_read_16(event, 3); 6342 } 6343 /** 6344 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 6345 * @param event packet 6346 * @return local_seid 6347 * @note: btstack_type 1 6348 */ 6349 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 6350 return event[5]; 6351 } 6352 /** 6353 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 6354 * @param event packet 6355 * @return delay_100us 6356 * @note: btstack_type 2 6357 */ 6358 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 6359 return little_endian_read_16(event, 6); 6360 } 6361 6362 /** 6363 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 6364 * @param event packet 6365 * @return a2dp_cid 6366 * @note: btstack_type 2 6367 */ 6368 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 6369 return little_endian_read_16(event, 3); 6370 } 6371 /** 6372 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 6373 * @param event packet 6374 * @return local_seid 6375 * @note: btstack_type 1 6376 */ 6377 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 6378 return event[5]; 6379 } 6380 6381 /** 6382 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6383 * @param event packet 6384 * @return a2dp_cid 6385 * @note: btstack_type 2 6386 */ 6387 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 6388 return little_endian_read_16(event, 3); 6389 } 6390 /** 6391 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6392 * @param event packet 6393 * @return local_seid 6394 * @note: btstack_type 1 6395 */ 6396 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 6397 return event[5]; 6398 } 6399 /** 6400 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6401 * @param event packet 6402 * @return remote_seid 6403 * @note: btstack_type 1 6404 */ 6405 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 6406 return event[6]; 6407 } 6408 /** 6409 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6410 * @param event packet 6411 * @return reconfigure 6412 * @note: btstack_type 1 6413 */ 6414 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 6415 return event[7]; 6416 } 6417 /** 6418 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6419 * @param event packet 6420 * @return media_type 6421 * @note: btstack_type 1 6422 */ 6423 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 6424 return event[8]; 6425 } 6426 /** 6427 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6428 * @param event packet 6429 * @return sampling_frequency 6430 * @note: btstack_type 2 6431 */ 6432 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 6433 return little_endian_read_16(event, 9); 6434 } 6435 /** 6436 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6437 * @param event packet 6438 * @return channel_mode 6439 * @note: btstack_type 1 6440 */ 6441 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 6442 return event[11]; 6443 } 6444 /** 6445 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6446 * @param event packet 6447 * @return num_channels 6448 * @note: btstack_type 1 6449 */ 6450 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 6451 return event[12]; 6452 } 6453 /** 6454 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6455 * @param event packet 6456 * @return block_length 6457 * @note: btstack_type 1 6458 */ 6459 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 6460 return event[13]; 6461 } 6462 /** 6463 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6464 * @param event packet 6465 * @return subbands 6466 * @note: btstack_type 1 6467 */ 6468 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 6469 return event[14]; 6470 } 6471 /** 6472 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6473 * @param event packet 6474 * @return allocation_method 6475 * @note: btstack_type 1 6476 */ 6477 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 6478 return event[15]; 6479 } 6480 /** 6481 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6482 * @param event packet 6483 * @return min_bitpool_value 6484 * @note: btstack_type 1 6485 */ 6486 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 6487 return event[16]; 6488 } 6489 /** 6490 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6491 * @param event packet 6492 * @return max_bitpool_value 6493 * @note: btstack_type 1 6494 */ 6495 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 6496 return event[17]; 6497 } 6498 6499 /** 6500 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6501 * @param event packet 6502 * @return a2dp_cid 6503 * @note: btstack_type 2 6504 */ 6505 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_a2dp_cid(const uint8_t * event){ 6506 return little_endian_read_16(event, 3); 6507 } 6508 /** 6509 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6510 * @param event packet 6511 * @return local_seid 6512 * @note: btstack_type 1 6513 */ 6514 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 6515 return event[5]; 6516 } 6517 /** 6518 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6519 * @param event packet 6520 * @return remote_seid 6521 * @note: btstack_type 1 6522 */ 6523 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 6524 return event[6]; 6525 } 6526 /** 6527 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6528 * @param event packet 6529 * @return reconfigure 6530 * @note: btstack_type 1 6531 */ 6532 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 6533 return event[7]; 6534 } 6535 /** 6536 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6537 * @param event packet 6538 * @return media_type 6539 * @note: btstack_type 1 6540 */ 6541 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 6542 return event[8]; 6543 } 6544 /** 6545 * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6546 * @param event packet 6547 * @return layer 6548 * @note: btstack_type 1 6549 */ 6550 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 6551 return event[9]; 6552 } 6553 /** 6554 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6555 * @param event packet 6556 * @return crc 6557 * @note: btstack_type 1 6558 */ 6559 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 6560 return event[10]; 6561 } 6562 /** 6563 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6564 * @param event packet 6565 * @return channel_mode 6566 * @note: btstack_type 1 6567 */ 6568 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 6569 return event[11]; 6570 } 6571 /** 6572 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6573 * @param event packet 6574 * @return num_channels 6575 * @note: btstack_type 1 6576 */ 6577 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 6578 return event[12]; 6579 } 6580 /** 6581 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6582 * @param event packet 6583 * @return media_payload_format 6584 * @note: btstack_type 1 6585 */ 6586 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 6587 return event[13]; 6588 } 6589 /** 6590 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6591 * @param event packet 6592 * @return sampling_frequency 6593 * @note: btstack_type 2 6594 */ 6595 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 6596 return little_endian_read_16(event, 14); 6597 } 6598 /** 6599 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6600 * @param event packet 6601 * @return vbr 6602 * @note: btstack_type 1 6603 */ 6604 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 6605 return event[16]; 6606 } 6607 /** 6608 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6609 * @param event packet 6610 * @return bit_rate_index 6611 * @note: btstack_type 1 6612 */ 6613 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 6614 return event[17]; 6615 } 6616 6617 /** 6618 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6619 * @param event packet 6620 * @return a2dp_cid 6621 * @note: btstack_type 2 6622 */ 6623 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_a2dp_cid(const uint8_t * event){ 6624 return little_endian_read_16(event, 3); 6625 } 6626 /** 6627 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6628 * @param event packet 6629 * @return local_seid 6630 * @note: btstack_type 1 6631 */ 6632 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 6633 return event[5]; 6634 } 6635 /** 6636 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6637 * @param event packet 6638 * @return remote_seid 6639 * @note: btstack_type 1 6640 */ 6641 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 6642 return event[6]; 6643 } 6644 /** 6645 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6646 * @param event packet 6647 * @return reconfigure 6648 * @note: btstack_type 1 6649 */ 6650 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 6651 return event[7]; 6652 } 6653 /** 6654 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6655 * @param event packet 6656 * @return media_type 6657 * @note: btstack_type 1 6658 */ 6659 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 6660 return event[8]; 6661 } 6662 /** 6663 * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6664 * @param event packet 6665 * @return object_type 6666 * @note: btstack_type 1 6667 */ 6668 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 6669 return event[9]; 6670 } 6671 /** 6672 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6673 * @param event packet 6674 * @return sampling_frequency 6675 * @note: btstack_type 3 6676 */ 6677 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 6678 return little_endian_read_24(event, 10); 6679 } 6680 /** 6681 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6682 * @param event packet 6683 * @return num_channels 6684 * @note: btstack_type 1 6685 */ 6686 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 6687 return event[13]; 6688 } 6689 /** 6690 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6691 * @param event packet 6692 * @return bit_rate 6693 * @note: btstack_type 3 6694 */ 6695 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 6696 return little_endian_read_24(event, 14); 6697 } 6698 /** 6699 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6700 * @param event packet 6701 * @return vbr 6702 * @note: btstack_type 1 6703 */ 6704 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 6705 return event[17]; 6706 } 6707 6708 /** 6709 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6710 * @param event packet 6711 * @return a2dp_cid 6712 * @note: btstack_type 2 6713 */ 6714 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_a2dp_cid(const uint8_t * event){ 6715 return little_endian_read_16(event, 3); 6716 } 6717 /** 6718 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6719 * @param event packet 6720 * @return local_seid 6721 * @note: btstack_type 1 6722 */ 6723 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 6724 return event[5]; 6725 } 6726 /** 6727 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6728 * @param event packet 6729 * @return remote_seid 6730 * @note: btstack_type 1 6731 */ 6732 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 6733 return event[6]; 6734 } 6735 /** 6736 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6737 * @param event packet 6738 * @return reconfigure 6739 * @note: btstack_type 1 6740 */ 6741 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 6742 return event[7]; 6743 } 6744 /** 6745 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6746 * @param event packet 6747 * @return media_type 6748 * @note: btstack_type 1 6749 */ 6750 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 6751 return event[8]; 6752 } 6753 /** 6754 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6755 * @param event packet 6756 * @return version 6757 * @note: btstack_type 1 6758 */ 6759 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 6760 return event[9]; 6761 } 6762 /** 6763 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6764 * @param event packet 6765 * @return channel_mode 6766 * @note: btstack_type 1 6767 */ 6768 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 6769 return event[10]; 6770 } 6771 /** 6772 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6773 * @param event packet 6774 * @return num_channels 6775 * @note: btstack_type 1 6776 */ 6777 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 6778 return event[11]; 6779 } 6780 /** 6781 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6782 * @param event packet 6783 * @return sampling_frequency 6784 * @note: btstack_type 2 6785 */ 6786 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 6787 return little_endian_read_16(event, 12); 6788 } 6789 /** 6790 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6791 * @param event packet 6792 * @return vbr 6793 * @note: btstack_type 1 6794 */ 6795 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 6796 return event[14]; 6797 } 6798 /** 6799 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6800 * @param event packet 6801 * @return bit_rate_index 6802 * @note: btstack_type 1 6803 */ 6804 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 6805 return event[15]; 6806 } 6807 /** 6808 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6809 * @param event packet 6810 * @return maximum_sul 6811 * @note: btstack_type 2 6812 */ 6813 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 6814 return little_endian_read_16(event, 16); 6815 } 6816 6817 /** 6818 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6819 * @param event packet 6820 * @return a2dp_cid 6821 * @note: btstack_type 2 6822 */ 6823 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 6824 return little_endian_read_16(event, 3); 6825 } 6826 /** 6827 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6828 * @param event packet 6829 * @return local_seid 6830 * @note: btstack_type 1 6831 */ 6832 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 6833 return event[5]; 6834 } 6835 /** 6836 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6837 * @param event packet 6838 * @return remote_seid 6839 * @note: btstack_type 1 6840 */ 6841 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 6842 return event[6]; 6843 } 6844 /** 6845 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6846 * @param event packet 6847 * @return reconfigure 6848 * @note: btstack_type 1 6849 */ 6850 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 6851 return event[7]; 6852 } 6853 /** 6854 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6855 * @param event packet 6856 * @return media_type 6857 * @note: btstack_type 1 6858 */ 6859 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 6860 return event[8]; 6861 } 6862 /** 6863 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6864 * @param event packet 6865 * @return media_codec_type 6866 * @note: btstack_type 2 6867 */ 6868 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 6869 return little_endian_read_16(event, 9); 6870 } 6871 /** 6872 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6873 * @param event packet 6874 * @return media_codec_information_len 6875 * @note: btstack_type L 6876 */ 6877 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 6878 return little_endian_read_16(event, 11); 6879 } 6880 /** 6881 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6882 * @param event packet 6883 * @return media_codec_information 6884 * @note: btstack_type V 6885 */ 6886 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 6887 return &event[13]; 6888 } 6889 6890 /** 6891 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 6892 * @param event packet 6893 * @return a2dp_cid 6894 * @note: btstack_type 2 6895 */ 6896 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 6897 return little_endian_read_16(event, 3); 6898 } 6899 /** 6900 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 6901 * @param event packet 6902 * @param Pointer to storage for bd_addr 6903 * @note: btstack_type B 6904 */ 6905 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6906 reverse_bytes(&event[5], bd_addr, 6); 6907 } 6908 /** 6909 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 6910 * @param event packet 6911 * @return local_seid 6912 * @note: btstack_type 1 6913 */ 6914 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 6915 return event[11]; 6916 } 6917 /** 6918 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 6919 * @param event packet 6920 * @return remote_seid 6921 * @note: btstack_type 1 6922 */ 6923 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 6924 return event[12]; 6925 } 6926 /** 6927 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 6928 * @param event packet 6929 * @return status 6930 * @note: btstack_type 1 6931 */ 6932 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 6933 return event[13]; 6934 } 6935 6936 /** 6937 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 6938 * @param event packet 6939 * @return a2dp_cid 6940 * @note: btstack_type 2 6941 */ 6942 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 6943 return little_endian_read_16(event, 3); 6944 } 6945 /** 6946 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 6947 * @param event packet 6948 * @return local_seid 6949 * @note: btstack_type 1 6950 */ 6951 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 6952 return event[5]; 6953 } 6954 6955 /** 6956 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 6957 * @param event packet 6958 * @return a2dp_cid 6959 * @note: btstack_type 2 6960 */ 6961 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 6962 return little_endian_read_16(event, 3); 6963 } 6964 /** 6965 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 6966 * @param event packet 6967 * @return local_seid 6968 * @note: btstack_type 1 6969 */ 6970 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 6971 return event[5]; 6972 } 6973 6974 /** 6975 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 6976 * @param event packet 6977 * @return a2dp_cid 6978 * @note: btstack_type 2 6979 */ 6980 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 6981 return little_endian_read_16(event, 3); 6982 } 6983 /** 6984 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 6985 * @param event packet 6986 * @return local_seid 6987 * @note: btstack_type 1 6988 */ 6989 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 6990 return event[5]; 6991 } 6992 6993 /** 6994 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 6995 * @param event packet 6996 * @return a2dp_cid 6997 * @note: btstack_type 2 6998 */ 6999 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 7000 return little_endian_read_16(event, 3); 7001 } 7002 /** 7003 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 7004 * @param event packet 7005 * @return local_seid 7006 * @note: btstack_type 1 7007 */ 7008 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 7009 return event[5]; 7010 } 7011 7012 /** 7013 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 7014 * @param event packet 7015 * @return a2dp_cid 7016 * @note: btstack_type 2 7017 */ 7018 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 7019 return little_endian_read_16(event, 3); 7020 } 7021 /** 7022 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 7023 * @param event packet 7024 * @return local_seid 7025 * @note: btstack_type 1 7026 */ 7027 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 7028 return event[5]; 7029 } 7030 /** 7031 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 7032 * @param event packet 7033 * @return signal_identifier 7034 * @note: btstack_type 1 7035 */ 7036 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 7037 return event[6]; 7038 } 7039 7040 /** 7041 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 7042 * @param event packet 7043 * @return a2dp_cid 7044 * @note: btstack_type 2 7045 */ 7046 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 7047 return little_endian_read_16(event, 3); 7048 } 7049 /** 7050 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 7051 * @param event packet 7052 * @return local_seid 7053 * @note: btstack_type 1 7054 */ 7055 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 7056 return event[5]; 7057 } 7058 /** 7059 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 7060 * @param event packet 7061 * @return signal_identifier 7062 * @note: btstack_type 1 7063 */ 7064 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 7065 return event[6]; 7066 } 7067 7068 /** 7069 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7070 * @param event packet 7071 * @return a2dp_cid 7072 * @note: btstack_type 2 7073 */ 7074 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 7075 return little_endian_read_16(event, 3); 7076 } 7077 /** 7078 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7079 * @param event packet 7080 * @param Pointer to storage for bd_addr 7081 * @note: btstack_type B 7082 */ 7083 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7084 reverse_bytes(&event[5], bd_addr, 6); 7085 } 7086 /** 7087 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7088 * @param event packet 7089 * @return con_handle 7090 * @note: btstack_type 2 7091 */ 7092 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 7093 return little_endian_read_16(event, 11); 7094 } 7095 /** 7096 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 7097 * @param event packet 7098 * @return status 7099 * @note: btstack_type 1 7100 */ 7101 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 7102 return event[13]; 7103 } 7104 7105 /** 7106 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 7107 * @param event packet 7108 * @return a2dp_cid 7109 * @note: btstack_type 2 7110 */ 7111 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 7112 return little_endian_read_16(event, 3); 7113 } 7114 7115 /** 7116 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 7117 * @param event packet 7118 * @return a2dp_cid 7119 * @note: btstack_type 2 7120 */ 7121 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 7122 return little_endian_read_16(event, 3); 7123 } 7124 /** 7125 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 7126 * @param event packet 7127 * @return local_seid 7128 * @note: btstack_type 1 7129 */ 7130 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 7131 return event[5]; 7132 } 7133 /** 7134 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 7135 * @param event packet 7136 * @return status 7137 * @note: btstack_type 1 7138 */ 7139 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 7140 return event[6]; 7141 } 7142 7143 /** 7144 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7145 * @param event packet 7146 * @return a2dp_cid 7147 * @note: btstack_type 2 7148 */ 7149 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_a2dp_cid(const uint8_t * event){ 7150 return little_endian_read_16(event, 3); 7151 } 7152 /** 7153 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7154 * @param event packet 7155 * @return remote_seid 7156 * @note: btstack_type 1 7157 */ 7158 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 7159 return event[5]; 7160 } 7161 /** 7162 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7163 * @param event packet 7164 * @return media_type 7165 * @note: btstack_type 1 7166 */ 7167 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 7168 return event[6]; 7169 } 7170 /** 7171 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7172 * @param event packet 7173 * @return sampling_frequency_bitmap 7174 * @note: btstack_type 1 7175 */ 7176 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7177 return event[7]; 7178 } 7179 /** 7180 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7181 * @param event packet 7182 * @return channel_mode_bitmap 7183 * @note: btstack_type 1 7184 */ 7185 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 7186 return event[8]; 7187 } 7188 /** 7189 * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7190 * @param event packet 7191 * @return block_length_bitmap 7192 * @note: btstack_type 1 7193 */ 7194 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 7195 return event[9]; 7196 } 7197 /** 7198 * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7199 * @param event packet 7200 * @return subbands_bitmap 7201 * @note: btstack_type 1 7202 */ 7203 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 7204 return event[10]; 7205 } 7206 /** 7207 * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7208 * @param event packet 7209 * @return allocation_method_bitmap 7210 * @note: btstack_type 1 7211 */ 7212 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 7213 return event[11]; 7214 } 7215 /** 7216 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7217 * @param event packet 7218 * @return min_bitpool_value 7219 * @note: btstack_type 1 7220 */ 7221 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 7222 return event[12]; 7223 } 7224 /** 7225 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7226 * @param event packet 7227 * @return max_bitpool_value 7228 * @note: btstack_type 1 7229 */ 7230 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 7231 return event[13]; 7232 } 7233 7234 /** 7235 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7236 * @param event packet 7237 * @return a2dp_cid 7238 * @note: btstack_type 2 7239 */ 7240 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_a2dp_cid(const uint8_t * event){ 7241 return little_endian_read_16(event, 3); 7242 } 7243 /** 7244 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7245 * @param event packet 7246 * @return remote_seid 7247 * @note: btstack_type 1 7248 */ 7249 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 7250 return event[5]; 7251 } 7252 /** 7253 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7254 * @param event packet 7255 * @return media_type 7256 * @note: btstack_type 1 7257 */ 7258 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 7259 return event[6]; 7260 } 7261 /** 7262 * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7263 * @param event packet 7264 * @return layer_bitmap 7265 * @note: btstack_type 1 7266 */ 7267 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 7268 return event[7]; 7269 } 7270 /** 7271 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7272 * @param event packet 7273 * @return crc 7274 * @note: btstack_type 1 7275 */ 7276 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 7277 return event[8]; 7278 } 7279 /** 7280 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7281 * @param event packet 7282 * @return channel_mode_bitmap 7283 * @note: btstack_type 1 7284 */ 7285 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 7286 return event[9]; 7287 } 7288 /** 7289 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7290 * @param event packet 7291 * @return media_payload_format 7292 * @note: btstack_type 1 7293 */ 7294 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 7295 return event[10]; 7296 } 7297 /** 7298 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7299 * @param event packet 7300 * @return sampling_frequency_bitmap 7301 * @note: btstack_type 1 7302 */ 7303 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7304 return event[11]; 7305 } 7306 /** 7307 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7308 * @param event packet 7309 * @return vbr 7310 * @note: btstack_type 1 7311 */ 7312 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 7313 return event[12]; 7314 } 7315 /** 7316 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7317 * @param event packet 7318 * @return bit_rate_index_bitmap 7319 * @note: btstack_type 2 7320 */ 7321 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 7322 return little_endian_read_16(event, 13); 7323 } 7324 7325 /** 7326 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7327 * @param event packet 7328 * @return a2dp_cid 7329 * @note: btstack_type 2 7330 */ 7331 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_a2dp_cid(const uint8_t * event){ 7332 return little_endian_read_16(event, 3); 7333 } 7334 /** 7335 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7336 * @param event packet 7337 * @return remote_seid 7338 * @note: btstack_type 1 7339 */ 7340 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 7341 return event[5]; 7342 } 7343 /** 7344 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7345 * @param event packet 7346 * @return media_type 7347 * @note: btstack_type 1 7348 */ 7349 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 7350 return event[6]; 7351 } 7352 /** 7353 * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7354 * @param event packet 7355 * @return object_type_bitmap 7356 * @note: btstack_type 1 7357 */ 7358 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 7359 return event[7]; 7360 } 7361 /** 7362 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7363 * @param event packet 7364 * @return sampling_frequency_bitmap 7365 * @note: btstack_type 2 7366 */ 7367 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7368 return little_endian_read_16(event, 8); 7369 } 7370 /** 7371 * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7372 * @param event packet 7373 * @return channels_bitmap 7374 * @note: btstack_type 1 7375 */ 7376 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 7377 return event[10]; 7378 } 7379 /** 7380 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7381 * @param event packet 7382 * @return bit_rate 7383 * @note: btstack_type 3 7384 */ 7385 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 7386 return little_endian_read_24(event, 11); 7387 } 7388 /** 7389 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7390 * @param event packet 7391 * @return vbr 7392 * @note: btstack_type 1 7393 */ 7394 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 7395 return event[14]; 7396 } 7397 7398 /** 7399 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7400 * @param event packet 7401 * @return a2dp_cid 7402 * @note: btstack_type 2 7403 */ 7404 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_a2dp_cid(const uint8_t * event){ 7405 return little_endian_read_16(event, 3); 7406 } 7407 /** 7408 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7409 * @param event packet 7410 * @return remote_seid 7411 * @note: btstack_type 1 7412 */ 7413 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 7414 return event[5]; 7415 } 7416 /** 7417 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7418 * @param event packet 7419 * @return media_type 7420 * @note: btstack_type 1 7421 */ 7422 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 7423 return event[6]; 7424 } 7425 /** 7426 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7427 * @param event packet 7428 * @return version 7429 * @note: btstack_type 1 7430 */ 7431 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 7432 return event[7]; 7433 } 7434 /** 7435 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7436 * @param event packet 7437 * @return channel_mode_bitmap 7438 * @note: btstack_type 1 7439 */ 7440 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 7441 return event[8]; 7442 } 7443 /** 7444 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7445 * @param event packet 7446 * @return sampling_frequency_bitmap 7447 * @note: btstack_type 1 7448 */ 7449 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7450 return event[9]; 7451 } 7452 /** 7453 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7454 * @param event packet 7455 * @return vbr 7456 * @note: btstack_type 1 7457 */ 7458 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 7459 return event[10]; 7460 } 7461 /** 7462 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7463 * @param event packet 7464 * @return bit_rate_index_bitmap 7465 * @note: btstack_type 3 7466 */ 7467 static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 7468 return little_endian_read_24(event, 11); 7469 } 7470 /** 7471 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7472 * @param event packet 7473 * @return maximum_sul 7474 * @note: btstack_type 2 7475 */ 7476 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 7477 return little_endian_read_16(event, 14); 7478 } 7479 7480 /** 7481 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7482 * @param event packet 7483 * @return a2dp_cid 7484 * @note: btstack_type 2 7485 */ 7486 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_a2dp_cid(const uint8_t * event){ 7487 return little_endian_read_16(event, 3); 7488 } 7489 /** 7490 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7491 * @param event packet 7492 * @return remote_seid 7493 * @note: btstack_type 1 7494 */ 7495 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 7496 return event[5]; 7497 } 7498 /** 7499 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7500 * @param event packet 7501 * @return media_type 7502 * @note: btstack_type 1 7503 */ 7504 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 7505 return event[6]; 7506 } 7507 /** 7508 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7509 * @param event packet 7510 * @return media_codec_type 7511 * @note: btstack_type 2 7512 */ 7513 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 7514 return little_endian_read_16(event, 7); 7515 } 7516 /** 7517 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7518 * @param event packet 7519 * @return media_codec_information_len 7520 * @note: btstack_type L 7521 */ 7522 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 7523 return little_endian_read_16(event, 9); 7524 } 7525 /** 7526 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7527 * @param event packet 7528 * @return media_codec_information 7529 * @note: btstack_type V 7530 */ 7531 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 7532 return &event[11]; 7533 } 7534 7535 /** 7536 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 7537 * @param event packet 7538 * @return a2dp_cid 7539 * @note: btstack_type 2 7540 */ 7541 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_a2dp_cid(const uint8_t * event){ 7542 return little_endian_read_16(event, 3); 7543 } 7544 /** 7545 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 7546 * @param event packet 7547 * @return remote_seid 7548 * @note: btstack_type 1 7549 */ 7550 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 7551 return event[5]; 7552 } 7553 7554 /** 7555 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 7556 * @param event packet 7557 * @return a2dp_cid 7558 * @note: btstack_type 2 7559 */ 7560 static inline uint16_t a2dp_subevent_signaling_delay_report_get_a2dp_cid(const uint8_t * event){ 7561 return little_endian_read_16(event, 3); 7562 } 7563 /** 7564 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 7565 * @param event packet 7566 * @return local_seid 7567 * @note: btstack_type 1 7568 */ 7569 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 7570 return event[5]; 7571 } 7572 /** 7573 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 7574 * @param event packet 7575 * @return delay_100us 7576 * @note: btstack_type 2 7577 */ 7578 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 7579 return little_endian_read_16(event, 6); 7580 } 7581 7582 /** 7583 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 7584 * @param event packet 7585 * @return a2dp_cid 7586 * @note: btstack_type 2 7587 */ 7588 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_a2dp_cid(const uint8_t * event){ 7589 return little_endian_read_16(event, 3); 7590 } 7591 /** 7592 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 7593 * @param event packet 7594 * @return remote_seid 7595 * @note: btstack_type 1 7596 */ 7597 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 7598 return event[5]; 7599 } 7600 7601 /** 7602 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 7603 * @param event packet 7604 * @return a2dp_cid 7605 * @note: btstack_type 2 7606 */ 7607 static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_a2dp_cid(const uint8_t * event){ 7608 return little_endian_read_16(event, 3); 7609 } 7610 7611 /** 7612 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 7613 * @param event packet 7614 * @return avrcp_cid 7615 * @note: btstack_type 2 7616 */ 7617 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 7618 return little_endian_read_16(event, 3); 7619 } 7620 /** 7621 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 7622 * @param event packet 7623 * @return command_type 7624 * @note: btstack_type 1 7625 */ 7626 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 7627 return event[5]; 7628 } 7629 /** 7630 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 7631 * @param event packet 7632 * @return play_status 7633 * @note: btstack_type 1 7634 */ 7635 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 7636 return event[6]; 7637 } 7638 7639 /** 7640 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 7641 * @param event packet 7642 * @return avrcp_cid 7643 * @note: btstack_type 2 7644 */ 7645 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 7646 return little_endian_read_16(event, 3); 7647 } 7648 /** 7649 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 7650 * @param event packet 7651 * @return command_type 7652 * @note: btstack_type 1 7653 */ 7654 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 7655 return event[5]; 7656 } 7657 7658 /** 7659 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 7660 * @param event packet 7661 * @return avrcp_cid 7662 * @note: btstack_type 2 7663 */ 7664 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 7665 return little_endian_read_16(event, 3); 7666 } 7667 /** 7668 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 7669 * @param event packet 7670 * @return command_type 7671 * @note: btstack_type 1 7672 */ 7673 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 7674 return event[5]; 7675 } 7676 7677 /** 7678 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 7679 * @param event packet 7680 * @return avrcp_cid 7681 * @note: btstack_type 2 7682 */ 7683 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){ 7684 return little_endian_read_16(event, 3); 7685 } 7686 /** 7687 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 7688 * @param event packet 7689 * @return command_type 7690 * @note: btstack_type 1 7691 */ 7692 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 7693 return event[5]; 7694 } 7695 7696 /** 7697 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 7698 * @param event packet 7699 * @return avrcp_cid 7700 * @note: btstack_type 2 7701 */ 7702 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 7703 return little_endian_read_16(event, 3); 7704 } 7705 /** 7706 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 7707 * @param event packet 7708 * @return command_type 7709 * @note: btstack_type 1 7710 */ 7711 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 7712 return event[5]; 7713 } 7714 /** 7715 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 7716 * @param event packet 7717 * @return playback_position 7718 * @note: btstack_type 4 7719 */ 7720 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 7721 return little_endian_read_32(event, 6); 7722 } 7723 7724 /** 7725 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 7726 * @param event packet 7727 * @return avrcp_cid 7728 * @note: btstack_type 2 7729 */ 7730 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 7731 return little_endian_read_16(event, 3); 7732 } 7733 /** 7734 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 7735 * @param event packet 7736 * @return command_type 7737 * @note: btstack_type 1 7738 */ 7739 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 7740 return event[5]; 7741 } 7742 /** 7743 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 7744 * @param event packet 7745 * @return battery_status 7746 * @note: btstack_type 1 7747 */ 7748 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 7749 return event[6]; 7750 } 7751 7752 /** 7753 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 7754 * @param event packet 7755 * @return avrcp_cid 7756 * @note: btstack_type 2 7757 */ 7758 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 7759 return little_endian_read_16(event, 3); 7760 } 7761 /** 7762 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 7763 * @param event packet 7764 * @return command_type 7765 * @note: btstack_type 1 7766 */ 7767 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 7768 return event[5]; 7769 } 7770 /** 7771 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 7772 * @param event packet 7773 * @return system_status 7774 * @note: btstack_type 1 7775 */ 7776 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 7777 return event[6]; 7778 } 7779 7780 /** 7781 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 7782 * @param event packet 7783 * @return avrcp_cid 7784 * @note: btstack_type 2 7785 */ 7786 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 7787 return little_endian_read_16(event, 3); 7788 } 7789 /** 7790 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 7791 * @param event packet 7792 * @return command_type 7793 * @note: btstack_type 1 7794 */ 7795 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 7796 return event[5]; 7797 } 7798 7799 /** 7800 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 7801 * @param event packet 7802 * @return avrcp_cid 7803 * @note: btstack_type 2 7804 */ 7805 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 7806 return little_endian_read_16(event, 3); 7807 } 7808 /** 7809 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 7810 * @param event packet 7811 * @return command_type 7812 * @note: btstack_type 1 7813 */ 7814 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 7815 return event[5]; 7816 } 7817 7818 /** 7819 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 7820 * @param event packet 7821 * @return avrcp_cid 7822 * @note: btstack_type 2 7823 */ 7824 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 7825 return little_endian_read_16(event, 3); 7826 } 7827 /** 7828 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 7829 * @param event packet 7830 * @return command_type 7831 * @note: btstack_type 1 7832 */ 7833 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 7834 return event[5]; 7835 } 7836 /** 7837 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 7838 * @param event packet 7839 * @return uid_counter 7840 * @note: btstack_type 2 7841 */ 7842 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 7843 return little_endian_read_16(event, 6); 7844 } 7845 7846 /** 7847 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 7848 * @param event packet 7849 * @return avrcp_cid 7850 * @note: btstack_type 2 7851 */ 7852 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 7853 return little_endian_read_16(event, 3); 7854 } 7855 /** 7856 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 7857 * @param event packet 7858 * @return command_type 7859 * @note: btstack_type 1 7860 */ 7861 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 7862 return event[5]; 7863 } 7864 /** 7865 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 7866 * @param event packet 7867 * @return absolute_volume 7868 * @note: btstack_type 1 7869 */ 7870 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 7871 return event[6]; 7872 } 7873 7874 /** 7875 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 7876 * @param event packet 7877 * @return avrcp_cid 7878 * @note: btstack_type 2 7879 */ 7880 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 7881 return little_endian_read_16(event, 3); 7882 } 7883 /** 7884 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 7885 * @param event packet 7886 * @return command_type 7887 * @note: btstack_type 1 7888 */ 7889 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 7890 return event[5]; 7891 } 7892 /** 7893 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 7894 * @param event packet 7895 * @return absolute_volume 7896 * @note: btstack_type 1 7897 */ 7898 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 7899 return event[6]; 7900 } 7901 7902 /** 7903 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 7904 * @param event packet 7905 * @return avrcp_cid 7906 * @note: btstack_type 2 7907 */ 7908 static inline uint16_t avrcp_subevent_enable_notification_complete_get_avrcp_cid(const uint8_t * event){ 7909 return little_endian_read_16(event, 3); 7910 } 7911 /** 7912 * @brief Get field command_type from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 7913 * @param event packet 7914 * @return command_type 7915 * @note: btstack_type 1 7916 */ 7917 static inline uint8_t avrcp_subevent_enable_notification_complete_get_command_type(const uint8_t * event){ 7918 return event[5]; 7919 } 7920 /** 7921 * @brief Get field notification_id from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 7922 * @param event packet 7923 * @return notification_id 7924 * @note: btstack_type 1 7925 */ 7926 static inline uint8_t avrcp_subevent_enable_notification_complete_get_notification_id(const uint8_t * event){ 7927 return event[6]; 7928 } 7929 7930 /** 7931 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 7932 * @param event packet 7933 * @return status 7934 * @note: btstack_type 1 7935 */ 7936 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 7937 return event[3]; 7938 } 7939 /** 7940 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 7941 * @param event packet 7942 * @return avrcp_cid 7943 * @note: btstack_type 2 7944 */ 7945 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 7946 return little_endian_read_16(event, 4); 7947 } 7948 /** 7949 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 7950 * @param event packet 7951 * @param Pointer to storage for bd_addr 7952 * @note: btstack_type B 7953 */ 7954 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7955 reverse_bytes(&event[6], bd_addr, 6); 7956 } 7957 /** 7958 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 7959 * @param event packet 7960 * @return con_handle 7961 * @note: btstack_type 2 7962 */ 7963 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 7964 return little_endian_read_16(event, 12); 7965 } 7966 7967 /** 7968 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 7969 * @param event packet 7970 * @return avrcp_cid 7971 * @note: btstack_type 2 7972 */ 7973 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 7974 return little_endian_read_16(event, 3); 7975 } 7976 7977 /** 7978 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 7979 * @param event packet 7980 * @return avrcp_cid 7981 * @note: btstack_type 2 7982 */ 7983 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 7984 return little_endian_read_16(event, 3); 7985 } 7986 /** 7987 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 7988 * @param event packet 7989 * @return command_type 7990 * @note: btstack_type 1 7991 */ 7992 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 7993 return event[5]; 7994 } 7995 /** 7996 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 7997 * @param event packet 7998 * @return repeat_mode 7999 * @note: btstack_type 1 8000 */ 8001 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 8002 return event[6]; 8003 } 8004 /** 8005 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 8006 * @param event packet 8007 * @return shuffle_mode 8008 * @note: btstack_type 1 8009 */ 8010 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 8011 return event[7]; 8012 } 8013 8014 /** 8015 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 8016 * @param event packet 8017 * @return avrcp_cid 8018 * @note: btstack_type 2 8019 */ 8020 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 8021 return little_endian_read_16(event, 3); 8022 } 8023 /** 8024 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 8025 * @param event packet 8026 * @return command_type 8027 * @note: btstack_type 1 8028 */ 8029 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 8030 return event[5]; 8031 } 8032 /** 8033 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 8034 * @param event packet 8035 * @return song_length 8036 * @note: btstack_type 4 8037 */ 8038 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 8039 return little_endian_read_32(event, 6); 8040 } 8041 /** 8042 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 8043 * @param event packet 8044 * @return song_position 8045 * @note: btstack_type 4 8046 */ 8047 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 8048 return little_endian_read_32(event, 10); 8049 } 8050 /** 8051 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 8052 * @param event packet 8053 * @return play_status 8054 * @note: btstack_type 1 8055 */ 8056 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 8057 return event[14]; 8058 } 8059 8060 /** 8061 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 8062 * @param event packet 8063 * @return avrcp_cid 8064 * @note: btstack_type 2 8065 */ 8066 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 8067 return little_endian_read_16(event, 3); 8068 } 8069 /** 8070 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 8071 * @param event packet 8072 * @return command_type 8073 * @note: btstack_type 1 8074 */ 8075 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 8076 return event[5]; 8077 } 8078 /** 8079 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 8080 * @param event packet 8081 * @return operation_id 8082 * @note: btstack_type 1 8083 */ 8084 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 8085 return event[6]; 8086 } 8087 8088 /** 8089 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 8090 * @param event packet 8091 * @return avrcp_cid 8092 * @note: btstack_type 2 8093 */ 8094 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 8095 return little_endian_read_16(event, 3); 8096 } 8097 /** 8098 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 8099 * @param event packet 8100 * @return command_type 8101 * @note: btstack_type 1 8102 */ 8103 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 8104 return event[5]; 8105 } 8106 /** 8107 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 8108 * @param event packet 8109 * @return operation_id 8110 * @note: btstack_type 1 8111 */ 8112 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 8113 return event[6]; 8114 } 8115 8116 /** 8117 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 8118 * @param event packet 8119 * @return avrcp_cid 8120 * @note: btstack_type 2 8121 */ 8122 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 8123 return little_endian_read_16(event, 3); 8124 } 8125 /** 8126 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 8127 * @param event packet 8128 * @return command_type 8129 * @note: btstack_type 1 8130 */ 8131 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 8132 return event[5]; 8133 } 8134 8135 /** 8136 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COMPANY_IDS_QUERY 8137 * @param event packet 8138 * @return avrcp_cid 8139 * @note: btstack_type 2 8140 */ 8141 static inline uint16_t avrcp_subevent_company_ids_query_get_avrcp_cid(const uint8_t * event){ 8142 return little_endian_read_16(event, 3); 8143 } 8144 8145 /** 8146 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_EVENT_IDS_QUERY 8147 * @param event packet 8148 * @return avrcp_cid 8149 * @note: btstack_type 2 8150 */ 8151 static inline uint16_t avrcp_subevent_event_ids_query_get_avrcp_cid(const uint8_t * event){ 8152 return little_endian_read_16(event, 3); 8153 } 8154 8155 /** 8156 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 8157 * @param event packet 8158 * @return avrcp_cid 8159 * @note: btstack_type 2 8160 */ 8161 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 8162 return little_endian_read_16(event, 3); 8163 } 8164 8165 /** 8166 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 8167 * @param event packet 8168 * @return avrcp_cid 8169 * @note: btstack_type 2 8170 */ 8171 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 8172 return little_endian_read_16(event, 3); 8173 } 8174 /** 8175 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 8176 * @param event packet 8177 * @return operation_id 8178 * @note: btstack_type 1 8179 */ 8180 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 8181 return event[5]; 8182 } 8183 /** 8184 * @brief Get field button_pressed from event AVRCP_SUBEVENT_OPERATION 8185 * @param event packet 8186 * @return button_pressed 8187 * @note: btstack_type 1 8188 */ 8189 static inline uint8_t avrcp_subevent_operation_get_button_pressed(const uint8_t * event){ 8190 return event[6]; 8191 } 8192 /** 8193 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 8194 * @param event packet 8195 * @return operands_length 8196 * @note: btstack_type 1 8197 */ 8198 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 8199 return event[7]; 8200 } 8201 /** 8202 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 8203 * @param event packet 8204 * @return operand 8205 * @note: btstack_type 1 8206 */ 8207 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 8208 return event[8]; 8209 } 8210 8211 /** 8212 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 8213 * @param event packet 8214 * @return avrcp_cid 8215 * @note: btstack_type 2 8216 */ 8217 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 8218 return little_endian_read_16(event, 3); 8219 } 8220 /** 8221 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 8222 * @param event packet 8223 * @return command_type 8224 * @note: btstack_type 1 8225 */ 8226 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 8227 return event[5]; 8228 } 8229 /** 8230 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 8231 * @param event packet 8232 * @return track 8233 * @note: btstack_type 1 8234 */ 8235 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 8236 return event[6]; 8237 } 8238 8239 /** 8240 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 8241 * @param event packet 8242 * @return avrcp_cid 8243 * @note: btstack_type 2 8244 */ 8245 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 8246 return little_endian_read_16(event, 3); 8247 } 8248 /** 8249 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 8250 * @param event packet 8251 * @return command_type 8252 * @note: btstack_type 1 8253 */ 8254 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 8255 return event[5]; 8256 } 8257 /** 8258 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 8259 * @param event packet 8260 * @return total_tracks 8261 * @note: btstack_type 1 8262 */ 8263 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 8264 return event[6]; 8265 } 8266 8267 /** 8268 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 8269 * @param event packet 8270 * @return avrcp_cid 8271 * @note: btstack_type 2 8272 */ 8273 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 8274 return little_endian_read_16(event, 3); 8275 } 8276 /** 8277 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 8278 * @param event packet 8279 * @return command_type 8280 * @note: btstack_type 1 8281 */ 8282 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 8283 return event[5]; 8284 } 8285 /** 8286 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 8287 * @param event packet 8288 * @return song_length 8289 * @note: btstack_type 4 8290 */ 8291 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 8292 return little_endian_read_32(event, 6); 8293 } 8294 8295 /** 8296 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 8297 * @param event packet 8298 * @return avrcp_cid 8299 * @note: btstack_type 2 8300 */ 8301 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 8302 return little_endian_read_16(event, 3); 8303 } 8304 /** 8305 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 8306 * @param event packet 8307 * @return command_type 8308 * @note: btstack_type 1 8309 */ 8310 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 8311 return event[5]; 8312 } 8313 /** 8314 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 8315 * @param event packet 8316 * @return value_len 8317 * @note: btstack_type J 8318 */ 8319 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 8320 return event[6]; 8321 } 8322 /** 8323 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 8324 * @param event packet 8325 * @return value 8326 * @note: btstack_type V 8327 */ 8328 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 8329 return &event[7]; 8330 } 8331 8332 /** 8333 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 8334 * @param event packet 8335 * @return avrcp_cid 8336 * @note: btstack_type 2 8337 */ 8338 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 8339 return little_endian_read_16(event, 3); 8340 } 8341 /** 8342 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 8343 * @param event packet 8344 * @return command_type 8345 * @note: btstack_type 1 8346 */ 8347 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 8348 return event[5]; 8349 } 8350 /** 8351 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 8352 * @param event packet 8353 * @return value_len 8354 * @note: btstack_type J 8355 */ 8356 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 8357 return event[6]; 8358 } 8359 /** 8360 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 8361 * @param event packet 8362 * @return value 8363 * @note: btstack_type V 8364 */ 8365 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 8366 return &event[7]; 8367 } 8368 8369 /** 8370 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 8371 * @param event packet 8372 * @return avrcp_cid 8373 * @note: btstack_type 2 8374 */ 8375 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 8376 return little_endian_read_16(event, 3); 8377 } 8378 /** 8379 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 8380 * @param event packet 8381 * @return command_type 8382 * @note: btstack_type 1 8383 */ 8384 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 8385 return event[5]; 8386 } 8387 /** 8388 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 8389 * @param event packet 8390 * @return value_len 8391 * @note: btstack_type J 8392 */ 8393 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 8394 return event[6]; 8395 } 8396 /** 8397 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 8398 * @param event packet 8399 * @return value 8400 * @note: btstack_type V 8401 */ 8402 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 8403 return &event[7]; 8404 } 8405 8406 /** 8407 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 8408 * @param event packet 8409 * @return avrcp_cid 8410 * @note: btstack_type 2 8411 */ 8412 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 8413 return little_endian_read_16(event, 3); 8414 } 8415 /** 8416 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 8417 * @param event packet 8418 * @return command_type 8419 * @note: btstack_type 1 8420 */ 8421 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 8422 return event[5]; 8423 } 8424 /** 8425 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 8426 * @param event packet 8427 * @return value_len 8428 * @note: btstack_type J 8429 */ 8430 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 8431 return event[6]; 8432 } 8433 /** 8434 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 8435 * @param event packet 8436 * @return value 8437 * @note: btstack_type V 8438 */ 8439 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 8440 return &event[7]; 8441 } 8442 8443 /** 8444 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 8445 * @param event packet 8446 * @return avrcp_cid 8447 * @note: btstack_type 2 8448 */ 8449 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 8450 return little_endian_read_16(event, 3); 8451 } 8452 /** 8453 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 8454 * @param event packet 8455 * @return command_type 8456 * @note: btstack_type 1 8457 */ 8458 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 8459 return event[5]; 8460 } 8461 /** 8462 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 8463 * @param event packet 8464 * @return status 8465 * @note: btstack_type 1 8466 */ 8467 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 8468 return event[6]; 8469 } 8470 8471 /** 8472 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 8473 * @param event packet 8474 * @return avrcp_cid 8475 * @note: btstack_type 2 8476 */ 8477 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 8478 return little_endian_read_16(event, 3); 8479 } 8480 /** 8481 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 8482 * @param event packet 8483 * @return command_type 8484 * @note: btstack_type 1 8485 */ 8486 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 8487 return event[5]; 8488 } 8489 /** 8490 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 8491 * @param event packet 8492 * @return playback_position_ms 8493 * @note: btstack_type 4 8494 */ 8495 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 8496 return little_endian_read_32(event, 6); 8497 } 8498 8499 /** 8500 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 8501 * @param event packet 8502 * @return avrcp_cid 8503 * @note: btstack_type 2 8504 */ 8505 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 8506 return little_endian_read_16(event, 3); 8507 } 8508 /** 8509 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 8510 * @param event packet 8511 * @return command_type 8512 * @note: btstack_type 1 8513 */ 8514 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 8515 return event[5]; 8516 } 8517 /** 8518 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 8519 * @param event packet 8520 * @return status 8521 * @note: btstack_type 1 8522 */ 8523 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 8524 return event[6]; 8525 } 8526 /** 8527 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 8528 * @param event packet 8529 * @return event_id 8530 * @note: btstack_type 1 8531 */ 8532 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 8533 return event[7]; 8534 } 8535 8536 /** 8537 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 8538 * @param event packet 8539 * @return avrcp_cid 8540 * @note: btstack_type 2 8541 */ 8542 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){ 8543 return little_endian_read_16(event, 3); 8544 } 8545 /** 8546 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 8547 * @param event packet 8548 * @return command_type 8549 * @note: btstack_type 1 8550 */ 8551 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 8552 return event[5]; 8553 } 8554 /** 8555 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 8556 * @param event packet 8557 * @return status 8558 * @note: btstack_type 1 8559 */ 8560 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 8561 return event[6]; 8562 } 8563 8564 /** 8565 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 8566 * @param event packet 8567 * @return avrcp_cid 8568 * @note: btstack_type 2 8569 */ 8570 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 8571 return little_endian_read_16(event, 3); 8572 } 8573 /** 8574 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 8575 * @param event packet 8576 * @return command_type 8577 * @note: btstack_type 1 8578 */ 8579 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 8580 return event[5]; 8581 } 8582 /** 8583 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 8584 * @param event packet 8585 * @return status 8586 * @note: btstack_type 1 8587 */ 8588 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 8589 return event[6]; 8590 } 8591 /** 8592 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 8593 * @param event packet 8594 * @return company_id 8595 * @note: btstack_type 3 8596 */ 8597 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 8598 return little_endian_read_24(event, 7); 8599 } 8600 8601 /** 8602 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 8603 * @param event packet 8604 * @return avrcp_cid 8605 * @note: btstack_type 2 8606 */ 8607 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){ 8608 return little_endian_read_16(event, 3); 8609 } 8610 /** 8611 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 8612 * @param event packet 8613 * @return command_type 8614 * @note: btstack_type 1 8615 */ 8616 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 8617 return event[5]; 8618 } 8619 /** 8620 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 8621 * @param event packet 8622 * @return status 8623 * @note: btstack_type 1 8624 */ 8625 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 8626 return event[6]; 8627 } 8628 8629 /** 8630 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 8631 * @param event packet 8632 * @param Pointer to storage for bd_addr 8633 * @note: btstack_type B 8634 */ 8635 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8636 reverse_bytes(&event[3], bd_addr, 6); 8637 } 8638 /** 8639 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 8640 * @param event packet 8641 * @return browsing_cid 8642 * @note: btstack_type 2 8643 */ 8644 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 8645 return little_endian_read_16(event, 9); 8646 } 8647 8648 /** 8649 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 8650 * @param event packet 8651 * @return status 8652 * @note: btstack_type 1 8653 */ 8654 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 8655 return event[3]; 8656 } 8657 /** 8658 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 8659 * @param event packet 8660 * @param Pointer to storage for bd_addr 8661 * @note: btstack_type B 8662 */ 8663 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8664 reverse_bytes(&event[4], bd_addr, 6); 8665 } 8666 /** 8667 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 8668 * @param event packet 8669 * @return browsing_cid 8670 * @note: btstack_type 2 8671 */ 8672 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 8673 return little_endian_read_16(event, 10); 8674 } 8675 8676 /** 8677 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 8678 * @param event packet 8679 * @return browsing_cid 8680 * @note: btstack_type 2 8681 */ 8682 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 8683 return little_endian_read_16(event, 3); 8684 } 8685 8686 /** 8687 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 8688 * @param event packet 8689 * @return browsing_cid 8690 * @note: btstack_type 2 8691 */ 8692 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 8693 return little_endian_read_16(event, 3); 8694 } 8695 /** 8696 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 8697 * @param event packet 8698 * @return uid_counter 8699 * @note: btstack_type 2 8700 */ 8701 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 8702 return little_endian_read_16(event, 5); 8703 } 8704 /** 8705 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 8706 * @param event packet 8707 * @return browsing_status 8708 * @note: btstack_type 1 8709 */ 8710 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 8711 return event[7]; 8712 } 8713 /** 8714 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 8715 * @param event packet 8716 * @return bluetooth_status 8717 * @note: btstack_type 1 8718 */ 8719 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 8720 return event[8]; 8721 } 8722 8723 /** 8724 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 8725 * @param event packet 8726 * @return browsing_cid 8727 * @note: btstack_type 2 8728 */ 8729 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 8730 return little_endian_read_16(event, 3); 8731 } 8732 /** 8733 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 8734 * @param event packet 8735 * @return scope 8736 * @note: btstack_type 1 8737 */ 8738 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 8739 return event[5]; 8740 } 8741 /** 8742 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 8743 * @param event packet 8744 * @return attr_bitmap 8745 * @note: btstack_type 4 8746 */ 8747 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 8748 return little_endian_read_32(event, 6); 8749 } 8750 8751 /** 8752 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 8753 * @param event packet 8754 * @return browsing_cid 8755 * @note: btstack_type 2 8756 */ 8757 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 8758 return little_endian_read_16(event, 3); 8759 } 8760 /** 8761 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 8762 * @param event packet 8763 * @return scope 8764 * @note: btstack_type 1 8765 */ 8766 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 8767 return event[5]; 8768 } 8769 8770 /** 8771 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 8772 * @param event packet 8773 * @return browsing_cid 8774 * @note: btstack_type 2 8775 */ 8776 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_browsing_cid(const uint8_t * event){ 8777 return little_endian_read_16(event, 3); 8778 } 8779 /** 8780 * @brief Get field player_id from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 8781 * @param event packet 8782 * @return player_id 8783 * @note: btstack_type 2 8784 */ 8785 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_player_id(const uint8_t * event){ 8786 return little_endian_read_16(event, 5); 8787 } 8788 8789 /** 8790 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 8791 * @param event packet 8792 * @return goep_cid 8793 * @note: btstack_type 2 8794 */ 8795 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 8796 return little_endian_read_16(event, 3); 8797 } 8798 /** 8799 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 8800 * @param event packet 8801 * @return status 8802 * @note: btstack_type 1 8803 */ 8804 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 8805 return event[5]; 8806 } 8807 /** 8808 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 8809 * @param event packet 8810 * @param Pointer to storage for bd_addr 8811 * @note: btstack_type B 8812 */ 8813 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8814 reverse_bytes(&event[6], bd_addr, 6); 8815 } 8816 /** 8817 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 8818 * @param event packet 8819 * @return con_handle 8820 * @note: btstack_type H 8821 */ 8822 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 8823 return little_endian_read_16(event, 12); 8824 } 8825 /** 8826 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 8827 * @param event packet 8828 * @return incoming 8829 * @note: btstack_type 1 8830 */ 8831 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 8832 return event[14]; 8833 } 8834 8835 /** 8836 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 8837 * @param event packet 8838 * @return goep_cid 8839 * @note: btstack_type 2 8840 */ 8841 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 8842 return little_endian_read_16(event, 3); 8843 } 8844 8845 /** 8846 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 8847 * @param event packet 8848 * @return goep_cid 8849 * @note: btstack_type 2 8850 */ 8851 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 8852 return little_endian_read_16(event, 3); 8853 } 8854 8855 /** 8856 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 8857 * @param event packet 8858 * @return pbap_cid 8859 * @note: btstack_type 2 8860 */ 8861 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 8862 return little_endian_read_16(event, 3); 8863 } 8864 /** 8865 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 8866 * @param event packet 8867 * @return status 8868 * @note: btstack_type 1 8869 */ 8870 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 8871 return event[5]; 8872 } 8873 /** 8874 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 8875 * @param event packet 8876 * @param Pointer to storage for bd_addr 8877 * @note: btstack_type B 8878 */ 8879 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8880 reverse_bytes(&event[6], bd_addr, 6); 8881 } 8882 /** 8883 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 8884 * @param event packet 8885 * @return con_handle 8886 * @note: btstack_type H 8887 */ 8888 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 8889 return little_endian_read_16(event, 12); 8890 } 8891 /** 8892 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 8893 * @param event packet 8894 * @return incoming 8895 * @note: btstack_type 1 8896 */ 8897 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 8898 return event[14]; 8899 } 8900 8901 /** 8902 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 8903 * @param event packet 8904 * @return goep_cid 8905 * @note: btstack_type 2 8906 */ 8907 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 8908 return little_endian_read_16(event, 3); 8909 } 8910 8911 /** 8912 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 8913 * @param event packet 8914 * @return goep_cid 8915 * @note: btstack_type 2 8916 */ 8917 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 8918 return little_endian_read_16(event, 3); 8919 } 8920 /** 8921 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 8922 * @param event packet 8923 * @return status 8924 * @note: btstack_type 1 8925 */ 8926 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 8927 return event[5]; 8928 } 8929 8930 /** 8931 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 8932 * @param event packet 8933 * @return goep_cid 8934 * @note: btstack_type 2 8935 */ 8936 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 8937 return little_endian_read_16(event, 3); 8938 } 8939 /** 8940 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 8941 * @param event packet 8942 * @return status 8943 * @note: btstack_type 1 8944 */ 8945 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 8946 return event[5]; 8947 } 8948 /** 8949 * @brief Get field phoneboook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 8950 * @param event packet 8951 * @return phoneboook_size 8952 * @note: btstack_type 2 8953 */ 8954 static inline uint16_t pbap_subevent_phonebook_size_get_phoneboook_size(const uint8_t * event){ 8955 return little_endian_read_16(event, 6); 8956 } 8957 8958 /** 8959 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 8960 * @param event packet 8961 * @return goep_cid 8962 * @note: btstack_type 2 8963 */ 8964 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 8965 return little_endian_read_16(event, 3); 8966 } 8967 /** 8968 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 8969 * @param event packet 8970 * @return user_id_required 8971 * @note: btstack_type 1 8972 */ 8973 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 8974 return event[5]; 8975 } 8976 /** 8977 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 8978 * @param event packet 8979 * @return full_access 8980 * @note: btstack_type 1 8981 */ 8982 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 8983 return event[6]; 8984 } 8985 8986 /** 8987 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 8988 * @param event packet 8989 * @return goep_cid 8990 * @note: btstack_type 2 8991 */ 8992 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 8993 return little_endian_read_16(event, 3); 8994 } 8995 /** 8996 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 8997 * @param event packet 8998 * @return name_len 8999 * @note: btstack_type J 9000 */ 9001 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 9002 return event[5]; 9003 } 9004 /** 9005 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 9006 * @param event packet 9007 * @return name 9008 * @note: btstack_type V 9009 */ 9010 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 9011 return &event[6]; 9012 } 9013 /** 9014 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 9015 * @param event packet 9016 * @return handle_len 9017 * @note: btstack_type J 9018 */ 9019 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 9020 return event[6u + event[5]]; 9021 } 9022 /** 9023 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 9024 * @param event packet 9025 * @return handle 9026 * @note: btstack_type V 9027 */ 9028 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 9029 return &event[6u + event[5] + 1u]; 9030 } 9031 9032 /** 9033 * @brief Get field hid_cid from event HID_SUBEVENT_INCOMING_CONNECTION 9034 * @param event packet 9035 * @return hid_cid 9036 * @note: btstack_type 2 9037 */ 9038 static inline uint16_t hid_subevent_incoming_connection_get_hid_cid(const uint8_t * event){ 9039 return little_endian_read_16(event, 3); 9040 } 9041 /** 9042 * @brief Get field address from event HID_SUBEVENT_INCOMING_CONNECTION 9043 * @param event packet 9044 * @param Pointer to storage for address 9045 * @note: btstack_type B 9046 */ 9047 static inline void hid_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 9048 reverse_bytes(&event[5], address, 6); 9049 } 9050 /** 9051 * @brief Get field handle from event HID_SUBEVENT_INCOMING_CONNECTION 9052 * @param event packet 9053 * @return handle 9054 * @note: btstack_type H 9055 */ 9056 static inline hci_con_handle_t hid_subevent_incoming_connection_get_handle(const uint8_t * event){ 9057 return little_endian_read_16(event, 11); 9058 } 9059 9060 /** 9061 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 9062 * @param event packet 9063 * @return hid_cid 9064 * @note: btstack_type 2 9065 */ 9066 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 9067 return little_endian_read_16(event, 3); 9068 } 9069 /** 9070 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 9071 * @param event packet 9072 * @return status 9073 * @note: btstack_type 1 9074 */ 9075 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 9076 return event[5]; 9077 } 9078 /** 9079 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 9080 * @param event packet 9081 * @param Pointer to storage for bd_addr 9082 * @note: btstack_type B 9083 */ 9084 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 9085 reverse_bytes(&event[6], bd_addr, 6); 9086 } 9087 /** 9088 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 9089 * @param event packet 9090 * @return con_handle 9091 * @note: btstack_type H 9092 */ 9093 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 9094 return little_endian_read_16(event, 12); 9095 } 9096 /** 9097 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 9098 * @param event packet 9099 * @return incoming 9100 * @note: btstack_type 1 9101 */ 9102 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 9103 return event[14]; 9104 } 9105 9106 /** 9107 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 9108 * @param event packet 9109 * @return hid_cid 9110 * @note: btstack_type 2 9111 */ 9112 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 9113 return little_endian_read_16(event, 3); 9114 } 9115 9116 /** 9117 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 9118 * @param event packet 9119 * @return hid_cid 9120 * @note: btstack_type 2 9121 */ 9122 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 9123 return little_endian_read_16(event, 3); 9124 } 9125 9126 /** 9127 * @brief Get field hid_cid from event HID_SUBEVENT_SUSPEND 9128 * @param event packet 9129 * @return hid_cid 9130 * @note: btstack_type 2 9131 */ 9132 static inline uint16_t hid_subevent_suspend_get_hid_cid(const uint8_t * event){ 9133 return little_endian_read_16(event, 3); 9134 } 9135 9136 /** 9137 * @brief Get field hid_cid from event HID_SUBEVENT_EXIT_SUSPEND 9138 * @param event packet 9139 * @return hid_cid 9140 * @note: btstack_type 2 9141 */ 9142 static inline uint16_t hid_subevent_exit_suspend_get_hid_cid(const uint8_t * event){ 9143 return little_endian_read_16(event, 3); 9144 } 9145 9146 /** 9147 * @brief Get field hid_cid from event HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 9148 * @param event packet 9149 * @return hid_cid 9150 * @note: btstack_type 2 9151 */ 9152 static inline uint16_t hid_subevent_virtual_cable_unplug_get_hid_cid(const uint8_t * event){ 9153 return little_endian_read_16(event, 3); 9154 } 9155 9156 /** 9157 * @brief Get field hid_cid from event HID_SUBEVENT_GET_REPORT_RESPONSE 9158 * @param event packet 9159 * @return hid_cid 9160 * @note: btstack_type 2 9161 */ 9162 static inline uint16_t hid_subevent_get_report_response_get_hid_cid(const uint8_t * event){ 9163 return little_endian_read_16(event, 3); 9164 } 9165 /** 9166 * @brief Get field handshake_status from event HID_SUBEVENT_GET_REPORT_RESPONSE 9167 * @param event packet 9168 * @return handshake_status 9169 * @note: btstack_type 1 9170 */ 9171 static inline uint8_t hid_subevent_get_report_response_get_handshake_status(const uint8_t * event){ 9172 return event[5]; 9173 } 9174 /** 9175 * @brief Get field report_len from event HID_SUBEVENT_GET_REPORT_RESPONSE 9176 * @param event packet 9177 * @return report_len 9178 * @note: btstack_type L 9179 */ 9180 static inline uint16_t hid_subevent_get_report_response_get_report_len(const uint8_t * event){ 9181 return little_endian_read_16(event, 6); 9182 } 9183 /** 9184 * @brief Get field report from event HID_SUBEVENT_GET_REPORT_RESPONSE 9185 * @param event packet 9186 * @return report 9187 * @note: btstack_type V 9188 */ 9189 static inline const uint8_t * hid_subevent_get_report_response_get_report(const uint8_t * event){ 9190 return &event[8]; 9191 } 9192 9193 /** 9194 * @brief Get field hid_cid from event HID_SUBEVENT_SET_REPORT_RESPONSE 9195 * @param event packet 9196 * @return hid_cid 9197 * @note: btstack_type 2 9198 */ 9199 static inline uint16_t hid_subevent_set_report_response_get_hid_cid(const uint8_t * event){ 9200 return little_endian_read_16(event, 3); 9201 } 9202 /** 9203 * @brief Get field handshake_status from event HID_SUBEVENT_SET_REPORT_RESPONSE 9204 * @param event packet 9205 * @return handshake_status 9206 * @note: btstack_type 1 9207 */ 9208 static inline uint8_t hid_subevent_set_report_response_get_handshake_status(const uint8_t * event){ 9209 return event[5]; 9210 } 9211 9212 /** 9213 * @brief Get field hid_cid from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 9214 * @param event packet 9215 * @return hid_cid 9216 * @note: btstack_type 2 9217 */ 9218 static inline uint16_t hid_subevent_get_protocol_response_get_hid_cid(const uint8_t * event){ 9219 return little_endian_read_16(event, 3); 9220 } 9221 /** 9222 * @brief Get field handshake_status from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 9223 * @param event packet 9224 * @return handshake_status 9225 * @note: btstack_type 1 9226 */ 9227 static inline uint8_t hid_subevent_get_protocol_response_get_handshake_status(const uint8_t * event){ 9228 return event[5]; 9229 } 9230 /** 9231 * @brief Get field protocol_mode from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 9232 * @param event packet 9233 * @return protocol_mode 9234 * @note: btstack_type 1 9235 */ 9236 static inline uint8_t hid_subevent_get_protocol_response_get_protocol_mode(const uint8_t * event){ 9237 return event[6]; 9238 } 9239 9240 /** 9241 * @brief Get field hid_cid from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 9242 * @param event packet 9243 * @return hid_cid 9244 * @note: btstack_type 2 9245 */ 9246 static inline uint16_t hid_subevent_set_protocol_response_get_hid_cid(const uint8_t * event){ 9247 return little_endian_read_16(event, 3); 9248 } 9249 /** 9250 * @brief Get field handshake_status from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 9251 * @param event packet 9252 * @return handshake_status 9253 * @note: btstack_type 1 9254 */ 9255 static inline uint8_t hid_subevent_set_protocol_response_get_handshake_status(const uint8_t * event){ 9256 return event[5]; 9257 } 9258 /** 9259 * @brief Get field protocol_mode from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 9260 * @param event packet 9261 * @return protocol_mode 9262 * @note: btstack_type 1 9263 */ 9264 static inline uint8_t hid_subevent_set_protocol_response_get_protocol_mode(const uint8_t * event){ 9265 return event[6]; 9266 } 9267 9268 /** 9269 * @brief Get field hid_cid from event HID_SUBEVENT_REPORT 9270 * @param event packet 9271 * @return hid_cid 9272 * @note: btstack_type 2 9273 */ 9274 static inline uint16_t hid_subevent_report_get_hid_cid(const uint8_t * event){ 9275 return little_endian_read_16(event, 3); 9276 } 9277 /** 9278 * @brief Get field report_len from event HID_SUBEVENT_REPORT 9279 * @param event packet 9280 * @return report_len 9281 * @note: btstack_type L 9282 */ 9283 static inline uint16_t hid_subevent_report_get_report_len(const uint8_t * event){ 9284 return little_endian_read_16(event, 5); 9285 } 9286 /** 9287 * @brief Get field report from event HID_SUBEVENT_REPORT 9288 * @param event packet 9289 * @return report 9290 * @note: btstack_type V 9291 */ 9292 static inline const uint8_t * hid_subevent_report_get_report(const uint8_t * event){ 9293 return &event[7]; 9294 } 9295 9296 /** 9297 * @brief Get field hid_cid from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 9298 * @param event packet 9299 * @return hid_cid 9300 * @note: btstack_type 2 9301 */ 9302 static inline uint16_t hid_subevent_descriptor_available_get_hid_cid(const uint8_t * event){ 9303 return little_endian_read_16(event, 3); 9304 } 9305 /** 9306 * @brief Get field status from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 9307 * @param event packet 9308 * @return status 9309 * @note: btstack_type 1 9310 */ 9311 static inline uint8_t hid_subevent_descriptor_available_get_status(const uint8_t * event){ 9312 return event[5]; 9313 } 9314 9315 /** 9316 * @brief Get field hid_cid from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 9317 * @param event packet 9318 * @return hid_cid 9319 * @note: btstack_type 2 9320 */ 9321 static inline uint16_t hid_subevent_sniff_subrating_params_get_hid_cid(const uint8_t * event){ 9322 return little_endian_read_16(event, 3); 9323 } 9324 /** 9325 * @brief Get field host_max_latency from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 9326 * @param event packet 9327 * @return host_max_latency 9328 * @note: btstack_type 2 9329 */ 9330 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_max_latency(const uint8_t * event){ 9331 return little_endian_read_16(event, 5); 9332 } 9333 /** 9334 * @brief Get field host_min_timeout from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 9335 * @param event packet 9336 * @return host_min_timeout 9337 * @note: btstack_type 2 9338 */ 9339 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_min_timeout(const uint8_t * event){ 9340 return little_endian_read_16(event, 7); 9341 } 9342 9343 /** 9344 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 9345 * @param event packet 9346 * @return con_handle 9347 * @note: btstack_type 2 9348 */ 9349 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 9350 return little_endian_read_16(event, 3); 9351 } 9352 9353 /** 9354 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 9355 * @param event packet 9356 * @return con_handle 9357 * @note: btstack_type 2 9358 */ 9359 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 9360 return little_endian_read_16(event, 3); 9361 } 9362 /** 9363 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 9364 * @param event packet 9365 * @return protocol_mode 9366 * @note: btstack_type 1 9367 */ 9368 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 9369 return event[5]; 9370 } 9371 9372 /** 9373 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 9374 * @param event packet 9375 * @return con_handle 9376 * @note: btstack_type 2 9377 */ 9378 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 9379 return little_endian_read_16(event, 3); 9380 } 9381 /** 9382 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 9383 * @param event packet 9384 * @return enable 9385 * @note: btstack_type 1 9386 */ 9387 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 9388 return event[5]; 9389 } 9390 9391 /** 9392 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 9393 * @param event packet 9394 * @return con_handle 9395 * @note: btstack_type 2 9396 */ 9397 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 9398 return little_endian_read_16(event, 3); 9399 } 9400 /** 9401 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 9402 * @param event packet 9403 * @return enable 9404 * @note: btstack_type 1 9405 */ 9406 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 9407 return event[5]; 9408 } 9409 9410 /** 9411 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 9412 * @param event packet 9413 * @return con_handle 9414 * @note: btstack_type 2 9415 */ 9416 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 9417 return little_endian_read_16(event, 3); 9418 } 9419 /** 9420 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 9421 * @param event packet 9422 * @return enable 9423 * @note: btstack_type 1 9424 */ 9425 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 9426 return event[5]; 9427 } 9428 9429 /** 9430 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 9431 * @param event packet 9432 * @return con_handle 9433 * @note: btstack_type 2 9434 */ 9435 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 9436 return little_endian_read_16(event, 3); 9437 } 9438 /** 9439 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 9440 * @param event packet 9441 * @return enable 9442 * @note: btstack_type 1 9443 */ 9444 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 9445 return event[5]; 9446 } 9447 9448 /** 9449 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 9450 * @param event packet 9451 * @return con_handle 9452 * @note: btstack_type 2 9453 */ 9454 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 9455 return little_endian_read_16(event, 3); 9456 } 9457 /** 9458 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 9459 * @param event packet 9460 * @return enable 9461 * @note: btstack_type 1 9462 */ 9463 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 9464 return event[5]; 9465 } 9466 9467 /** 9468 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 9469 * @param event packet 9470 * @return con_handle 9471 * @note: btstack_type 2 9472 */ 9473 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 9474 return little_endian_read_16(event, 3); 9475 } 9476 9477 /** 9478 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 9479 * @param event packet 9480 * @return con_handle 9481 * @note: btstack_type 2 9482 */ 9483 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 9484 return little_endian_read_16(event, 3); 9485 } 9486 9487 /** 9488 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 9489 * @param event packet 9490 * @return con_handle 9491 * @note: btstack_type 2 9492 */ 9493 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 9494 return little_endian_read_16(event, 3); 9495 } 9496 /** 9497 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 9498 * @param event packet 9499 * @return measurement_type 9500 * @note: btstack_type 1 9501 */ 9502 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 9503 return event[5]; 9504 } 9505 /** 9506 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 9507 * @param event packet 9508 * @return is_enhanced 9509 * @note: btstack_type 1 9510 */ 9511 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 9512 return event[6]; 9513 } 9514 9515 /** 9516 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 9517 * @param event packet 9518 * @return con_handle 9519 * @note: btstack_type 2 9520 */ 9521 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 9522 return little_endian_read_16(event, 3); 9523 } 9524 9525 /** 9526 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 9527 * @param event packet 9528 * @return con_handle 9529 * @note: btstack_type 2 9530 */ 9531 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 9532 return little_endian_read_16(event, 3); 9533 } 9534 9535 /** 9536 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 9537 * @param event packet 9538 * @return hids_cid 9539 * @note: btstack_type 2 9540 */ 9541 static inline uint16_t gattservice_subevent_battery_service_connected_get_hids_cid(const uint8_t * event){ 9542 return little_endian_read_16(event, 3); 9543 } 9544 /** 9545 * @brief Get field status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 9546 * @param event packet 9547 * @return status 9548 * @note: btstack_type 1 9549 */ 9550 static inline uint8_t gattservice_subevent_battery_service_connected_get_status(const uint8_t * event){ 9551 return event[5]; 9552 } 9553 /** 9554 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 9555 * @param event packet 9556 * @return num_instances 9557 * @note: btstack_type 1 9558 */ 9559 static inline uint8_t gattservice_subevent_battery_service_connected_get_num_instances(const uint8_t * event){ 9560 return event[6]; 9561 } 9562 /** 9563 * @brief Get field poll_bitmap from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 9564 * @param event packet 9565 * @return poll_bitmap 9566 * @note: btstack_type 1 9567 */ 9568 static inline uint8_t gattservice_subevent_battery_service_connected_get_poll_bitmap(const uint8_t * event){ 9569 return event[7]; 9570 } 9571 9572 /** 9573 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 9574 * @param event packet 9575 * @return hids_cid 9576 * @note: btstack_type 2 9577 */ 9578 static inline uint16_t gattservice_subevent_battery_service_level_get_hids_cid(const uint8_t * event){ 9579 return little_endian_read_16(event, 3); 9580 } 9581 /** 9582 * @brief Get field sevice_index from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 9583 * @param event packet 9584 * @return sevice_index 9585 * @note: btstack_type 1 9586 */ 9587 static inline uint8_t gattservice_subevent_battery_service_level_get_sevice_index(const uint8_t * event){ 9588 return event[5]; 9589 } 9590 /** 9591 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 9592 * @param event packet 9593 * @return att_status 9594 * @note: btstack_type 1 9595 */ 9596 static inline uint8_t gattservice_subevent_battery_service_level_get_att_status(const uint8_t * event){ 9597 return event[6]; 9598 } 9599 /** 9600 * @brief Get field level from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 9601 * @param event packet 9602 * @return level 9603 * @note: btstack_type 1 9604 */ 9605 static inline uint8_t gattservice_subevent_battery_service_level_get_level(const uint8_t * event){ 9606 return event[7]; 9607 } 9608 9609 /** 9610 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 9611 * @param event packet 9612 * @return con_handle 9613 * @note: btstack_type H 9614 */ 9615 static inline hci_con_handle_t gattservice_subevent_device_information_done_get_con_handle(const uint8_t * event){ 9616 return little_endian_read_16(event, 3); 9617 } 9618 /** 9619 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 9620 * @param event packet 9621 * @return att_status 9622 * @note: btstack_type 1 9623 */ 9624 static inline uint8_t gattservice_subevent_device_information_done_get_att_status(const uint8_t * event){ 9625 return event[5]; 9626 } 9627 9628 /** 9629 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 9630 * @param event packet 9631 * @return con_handle 9632 * @note: btstack_type H 9633 */ 9634 static inline hci_con_handle_t gattservice_subevent_device_information_manufacturer_name_get_con_handle(const uint8_t * event){ 9635 return little_endian_read_16(event, 3); 9636 } 9637 /** 9638 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 9639 * @param event packet 9640 * @return att_status 9641 * @note: btstack_type 1 9642 */ 9643 static inline uint8_t gattservice_subevent_device_information_manufacturer_name_get_att_status(const uint8_t * event){ 9644 return event[5]; 9645 } 9646 /** 9647 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 9648 * @param event packet 9649 * @return value 9650 * @note: btstack_type T 9651 */ 9652 static inline const char * gattservice_subevent_device_information_manufacturer_name_get_value(const uint8_t * event){ 9653 return (const char *) &event[6]; 9654 } 9655 9656 /** 9657 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 9658 * @param event packet 9659 * @return con_handle 9660 * @note: btstack_type H 9661 */ 9662 static inline hci_con_handle_t gattservice_subevent_device_information_model_number_get_con_handle(const uint8_t * event){ 9663 return little_endian_read_16(event, 3); 9664 } 9665 /** 9666 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 9667 * @param event packet 9668 * @return att_status 9669 * @note: btstack_type 1 9670 */ 9671 static inline uint8_t gattservice_subevent_device_information_model_number_get_att_status(const uint8_t * event){ 9672 return event[5]; 9673 } 9674 /** 9675 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 9676 * @param event packet 9677 * @return value 9678 * @note: btstack_type T 9679 */ 9680 static inline const char * gattservice_subevent_device_information_model_number_get_value(const uint8_t * event){ 9681 return (const char *) &event[6]; 9682 } 9683 9684 /** 9685 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 9686 * @param event packet 9687 * @return con_handle 9688 * @note: btstack_type H 9689 */ 9690 static inline hci_con_handle_t gattservice_subevent_device_information_serial_number_get_con_handle(const uint8_t * event){ 9691 return little_endian_read_16(event, 3); 9692 } 9693 /** 9694 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 9695 * @param event packet 9696 * @return att_status 9697 * @note: btstack_type 1 9698 */ 9699 static inline uint8_t gattservice_subevent_device_information_serial_number_get_att_status(const uint8_t * event){ 9700 return event[5]; 9701 } 9702 /** 9703 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 9704 * @param event packet 9705 * @return value 9706 * @note: btstack_type T 9707 */ 9708 static inline const char * gattservice_subevent_device_information_serial_number_get_value(const uint8_t * event){ 9709 return (const char *) &event[6]; 9710 } 9711 9712 /** 9713 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 9714 * @param event packet 9715 * @return con_handle 9716 * @note: btstack_type H 9717 */ 9718 static inline hci_con_handle_t gattservice_subevent_device_information_hardware_revision_get_con_handle(const uint8_t * event){ 9719 return little_endian_read_16(event, 3); 9720 } 9721 /** 9722 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 9723 * @param event packet 9724 * @return att_status 9725 * @note: btstack_type 1 9726 */ 9727 static inline uint8_t gattservice_subevent_device_information_hardware_revision_get_att_status(const uint8_t * event){ 9728 return event[5]; 9729 } 9730 /** 9731 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 9732 * @param event packet 9733 * @return value 9734 * @note: btstack_type T 9735 */ 9736 static inline const char * gattservice_subevent_device_information_hardware_revision_get_value(const uint8_t * event){ 9737 return (const char *) &event[6]; 9738 } 9739 9740 /** 9741 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 9742 * @param event packet 9743 * @return con_handle 9744 * @note: btstack_type H 9745 */ 9746 static inline hci_con_handle_t gattservice_subevent_device_information_firmware_revision_get_con_handle(const uint8_t * event){ 9747 return little_endian_read_16(event, 3); 9748 } 9749 /** 9750 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 9751 * @param event packet 9752 * @return att_status 9753 * @note: btstack_type 1 9754 */ 9755 static inline uint8_t gattservice_subevent_device_information_firmware_revision_get_att_status(const uint8_t * event){ 9756 return event[5]; 9757 } 9758 /** 9759 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 9760 * @param event packet 9761 * @return value 9762 * @note: btstack_type T 9763 */ 9764 static inline const char * gattservice_subevent_device_information_firmware_revision_get_value(const uint8_t * event){ 9765 return (const char *) &event[6]; 9766 } 9767 9768 /** 9769 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 9770 * @param event packet 9771 * @return con_handle 9772 * @note: btstack_type H 9773 */ 9774 static inline hci_con_handle_t gattservice_subevent_device_information_software_revision_get_con_handle(const uint8_t * event){ 9775 return little_endian_read_16(event, 3); 9776 } 9777 /** 9778 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 9779 * @param event packet 9780 * @return att_status 9781 * @note: btstack_type 1 9782 */ 9783 static inline uint8_t gattservice_subevent_device_information_software_revision_get_att_status(const uint8_t * event){ 9784 return event[5]; 9785 } 9786 /** 9787 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 9788 * @param event packet 9789 * @return value 9790 * @note: btstack_type T 9791 */ 9792 static inline const char * gattservice_subevent_device_information_software_revision_get_value(const uint8_t * event){ 9793 return (const char *) &event[6]; 9794 } 9795 9796 /** 9797 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 9798 * @param event packet 9799 * @return con_handle 9800 * @note: btstack_type H 9801 */ 9802 static inline hci_con_handle_t gattservice_subevent_device_information_system_id_get_con_handle(const uint8_t * event){ 9803 return little_endian_read_16(event, 3); 9804 } 9805 /** 9806 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 9807 * @param event packet 9808 * @return att_status 9809 * @note: btstack_type 1 9810 */ 9811 static inline uint8_t gattservice_subevent_device_information_system_id_get_att_status(const uint8_t * event){ 9812 return event[5]; 9813 } 9814 /** 9815 * @brief Get field manufacturer_id_low from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 9816 * @param event packet 9817 * @return manufacturer_id_low 9818 * @note: btstack_type 4 9819 */ 9820 static inline uint32_t gattservice_subevent_device_information_system_id_get_manufacturer_id_low(const uint8_t * event){ 9821 return little_endian_read_32(event, 6); 9822 } 9823 /** 9824 * @brief Get field manufacturer_id_high from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 9825 * @param event packet 9826 * @return manufacturer_id_high 9827 * @note: btstack_type 1 9828 */ 9829 static inline uint8_t gattservice_subevent_device_information_system_id_get_manufacturer_id_high(const uint8_t * event){ 9830 return event[10]; 9831 } 9832 /** 9833 * @brief Get field organizationally_unique_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 9834 * @param event packet 9835 * @return organizationally_unique_id 9836 * @note: btstack_type 3 9837 */ 9838 static inline uint32_t gattservice_subevent_device_information_system_id_get_organizationally_unique_id(const uint8_t * event){ 9839 return little_endian_read_24(event, 11); 9840 } 9841 9842 /** 9843 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 9844 * @param event packet 9845 * @return con_handle 9846 * @note: btstack_type H 9847 */ 9848 static inline hci_con_handle_t gattservice_subevent_device_information_ieee_regulatory_certification_get_con_handle(const uint8_t * event){ 9849 return little_endian_read_16(event, 3); 9850 } 9851 /** 9852 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 9853 * @param event packet 9854 * @return att_status 9855 * @note: btstack_type 1 9856 */ 9857 static inline uint8_t gattservice_subevent_device_information_ieee_regulatory_certification_get_att_status(const uint8_t * event){ 9858 return event[5]; 9859 } 9860 /** 9861 * @brief Get field value_a from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 9862 * @param event packet 9863 * @return value_a 9864 * @note: btstack_type 2 9865 */ 9866 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_a(const uint8_t * event){ 9867 return little_endian_read_16(event, 6); 9868 } 9869 /** 9870 * @brief Get field value_b from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 9871 * @param event packet 9872 * @return value_b 9873 * @note: btstack_type 2 9874 */ 9875 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_b(const uint8_t * event){ 9876 return little_endian_read_16(event, 8); 9877 } 9878 9879 /** 9880 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 9881 * @param event packet 9882 * @return con_handle 9883 * @note: btstack_type H 9884 */ 9885 static inline hci_con_handle_t gattservice_subevent_device_information_pnp_id_get_con_handle(const uint8_t * event){ 9886 return little_endian_read_16(event, 3); 9887 } 9888 /** 9889 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 9890 * @param event packet 9891 * @return att_status 9892 * @note: btstack_type 1 9893 */ 9894 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_att_status(const uint8_t * event){ 9895 return event[5]; 9896 } 9897 /** 9898 * @brief Get field vendor_source_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 9899 * @param event packet 9900 * @return vendor_source_id 9901 * @note: btstack_type 1 9902 */ 9903 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_vendor_source_id(const uint8_t * event){ 9904 return event[6]; 9905 } 9906 /** 9907 * @brief Get field vendor_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 9908 * @param event packet 9909 * @return vendor_id 9910 * @note: btstack_type 2 9911 */ 9912 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_vendor_id(const uint8_t * event){ 9913 return little_endian_read_16(event, 7); 9914 } 9915 /** 9916 * @brief Get field product_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 9917 * @param event packet 9918 * @return product_id 9919 * @note: btstack_type 2 9920 */ 9921 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_id(const uint8_t * event){ 9922 return little_endian_read_16(event, 9); 9923 } 9924 /** 9925 * @brief Get field product_version from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 9926 * @param event packet 9927 * @return product_version 9928 * @note: btstack_type 2 9929 */ 9930 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_version(const uint8_t * event){ 9931 return little_endian_read_16(event, 11); 9932 } 9933 9934 /** 9935 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 9936 * @param event packet 9937 * @return con_handle 9938 * @note: btstack_type H 9939 */ 9940 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_connected_get_con_handle(const uint8_t * event){ 9941 return little_endian_read_16(event, 3); 9942 } 9943 /** 9944 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 9945 * @param event packet 9946 * @return att_status 9947 * @note: btstack_type 1 9948 */ 9949 static inline uint8_t gattservice_subevent_scan_parameters_service_connected_get_att_status(const uint8_t * event){ 9950 return event[5]; 9951 } 9952 9953 /** 9954 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 9955 * @param event packet 9956 * @return con_handle 9957 * @note: btstack_type H 9958 */ 9959 static inline hci_con_handle_t gattservice_subevent_spp_service_connected_get_con_handle(const uint8_t * event){ 9960 return little_endian_read_16(event, 3); 9961 } 9962 9963 /** 9964 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 9965 * @param event packet 9966 * @return con_handle 9967 * @note: btstack_type H 9968 */ 9969 static inline hci_con_handle_t gattservice_subevent_spp_service_disconnected_get_con_handle(const uint8_t * event){ 9970 return little_endian_read_16(event, 3); 9971 } 9972 9973 /** 9974 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 9975 * @param event packet 9976 * @return hids_cid 9977 * @note: btstack_type 2 9978 */ 9979 static inline uint16_t gattservice_subevent_hid_service_connected_get_hids_cid(const uint8_t * event){ 9980 return little_endian_read_16(event, 3); 9981 } 9982 /** 9983 * @brief Get field status from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 9984 * @param event packet 9985 * @return status 9986 * @note: btstack_type 1 9987 */ 9988 static inline uint8_t gattservice_subevent_hid_service_connected_get_status(const uint8_t * event){ 9989 return event[5]; 9990 } 9991 /** 9992 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 9993 * @param event packet 9994 * @return protocol_mode 9995 * @note: btstack_type 1 9996 */ 9997 static inline uint8_t gattservice_subevent_hid_service_connected_get_protocol_mode(const uint8_t * event){ 9998 return event[6]; 9999 } 10000 /** 10001 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 10002 * @param event packet 10003 * @return num_instances 10004 * @note: btstack_type 1 10005 */ 10006 static inline uint8_t gattservice_subevent_hid_service_connected_get_num_instances(const uint8_t * event){ 10007 return event[7]; 10008 } 10009 10010 /** 10011 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT 10012 * @param event packet 10013 * @return hids_cid 10014 * @note: btstack_type 2 10015 */ 10016 static inline uint16_t gattservice_subevent_hid_report_get_hids_cid(const uint8_t * event){ 10017 return little_endian_read_16(event, 3); 10018 } 10019 /** 10020 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT 10021 * @param event packet 10022 * @return service_index 10023 * @note: btstack_type 1 10024 */ 10025 static inline uint8_t gattservice_subevent_hid_report_get_service_index(const uint8_t * event){ 10026 return event[5]; 10027 } 10028 /** 10029 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT 10030 * @param event packet 10031 * @return report_id 10032 * @note: btstack_type 1 10033 */ 10034 static inline uint8_t gattservice_subevent_hid_report_get_report_id(const uint8_t * event){ 10035 return event[6]; 10036 } 10037 /** 10038 * @brief Get field report_len from event GATTSERVICE_SUBEVENT_HID_REPORT 10039 * @param event packet 10040 * @return report_len 10041 * @note: btstack_type L 10042 */ 10043 static inline uint16_t gattservice_subevent_hid_report_get_report_len(const uint8_t * event){ 10044 return little_endian_read_16(event, 7); 10045 } 10046 /** 10047 * @brief Get field report from event GATTSERVICE_SUBEVENT_HID_REPORT 10048 * @param event packet 10049 * @return report 10050 * @note: btstack_type V 10051 */ 10052 static inline const uint8_t * gattservice_subevent_hid_report_get_report(const uint8_t * event){ 10053 return &event[9]; 10054 } 10055 10056 /** 10057 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_INFORMATION 10058 * @param event packet 10059 * @return hids_cid 10060 * @note: btstack_type 2 10061 */ 10062 static inline uint16_t gattservice_subevent_hid_information_get_hids_cid(const uint8_t * event){ 10063 return little_endian_read_16(event, 3); 10064 } 10065 /** 10066 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_INFORMATION 10067 * @param event packet 10068 * @return service_index 10069 * @note: btstack_type 1 10070 */ 10071 static inline uint8_t gattservice_subevent_hid_information_get_service_index(const uint8_t * event){ 10072 return event[5]; 10073 } 10074 /** 10075 * @brief Get field base_usb_hid_version from event GATTSERVICE_SUBEVENT_HID_INFORMATION 10076 * @param event packet 10077 * @return base_usb_hid_version 10078 * @note: btstack_type 2 10079 */ 10080 static inline uint16_t gattservice_subevent_hid_information_get_base_usb_hid_version(const uint8_t * event){ 10081 return little_endian_read_16(event, 6); 10082 } 10083 /** 10084 * @brief Get field country_code from event GATTSERVICE_SUBEVENT_HID_INFORMATION 10085 * @param event packet 10086 * @return country_code 10087 * @note: btstack_type 1 10088 */ 10089 static inline uint8_t gattservice_subevent_hid_information_get_country_code(const uint8_t * event){ 10090 return event[8]; 10091 } 10092 /** 10093 * @brief Get field remote_wake from event GATTSERVICE_SUBEVENT_HID_INFORMATION 10094 * @param event packet 10095 * @return remote_wake 10096 * @note: btstack_type 1 10097 */ 10098 static inline uint8_t gattservice_subevent_hid_information_get_remote_wake(const uint8_t * event){ 10099 return event[9]; 10100 } 10101 /** 10102 * @brief Get field normally_connectable from event GATTSERVICE_SUBEVENT_HID_INFORMATION 10103 * @param event packet 10104 * @return normally_connectable 10105 * @note: btstack_type 1 10106 */ 10107 static inline uint8_t gattservice_subevent_hid_information_get_normally_connectable(const uint8_t * event){ 10108 return event[10]; 10109 } 10110 10111 /** 10112 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 10113 * @param event packet 10114 * @return hids_cid 10115 * @note: btstack_type 2 10116 */ 10117 static inline uint16_t gattservice_subevent_hid_protocol_mode_get_hids_cid(const uint8_t * event){ 10118 return little_endian_read_16(event, 3); 10119 } 10120 /** 10121 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 10122 * @param event packet 10123 * @return service_index 10124 * @note: btstack_type 1 10125 */ 10126 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_service_index(const uint8_t * event){ 10127 return event[5]; 10128 } 10129 /** 10130 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 10131 * @param event packet 10132 * @return protocol_mode 10133 * @note: btstack_type 1 10134 */ 10135 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_protocol_mode(const uint8_t * event){ 10136 return event[6]; 10137 } 10138 10139 /** 10140 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 10141 * @param event packet 10142 * @return hids_cid 10143 * @note: btstack_type 2 10144 */ 10145 static inline uint16_t gattservice_subevent_hid_service_reports_notification_get_hids_cid(const uint8_t * event){ 10146 return little_endian_read_16(event, 3); 10147 } 10148 /** 10149 * @brief Get field configuration from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 10150 * @param event packet 10151 * @return configuration 10152 * @note: btstack_type 1 10153 */ 10154 static inline uint8_t gattservice_subevent_hid_service_reports_notification_get_configuration(const uint8_t * event){ 10155 return event[5]; 10156 } 10157 10158 /** 10159 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 10160 * @param event packet 10161 * @return con_handle 10162 * @note: btstack_type H 10163 */ 10164 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_con_handle(const uint8_t * event){ 10165 return little_endian_read_16(event, 3); 10166 } 10167 /** 10168 * @brief Get field max_scan_interval from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 10169 * @param event packet 10170 * @return max_scan_interval 10171 * @note: btstack_type 2 10172 */ 10173 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_max_scan_interval(const uint8_t * event){ 10174 return little_endian_read_16(event, 5); 10175 } 10176 /** 10177 * @brief Get field min_scan_window from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 10178 * @param event packet 10179 * @return min_scan_window 10180 * @note: btstack_type 2 10181 */ 10182 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_min_scan_window(const uint8_t * event){ 10183 return little_endian_read_16(event, 7); 10184 } 10185 10186 /** 10187 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_OPENED 10188 * @param event packet 10189 * @return map_cid 10190 * @note: btstack_type 2 10191 */ 10192 static inline uint16_t map_subevent_connection_opened_get_map_cid(const uint8_t * event){ 10193 return little_endian_read_16(event, 3); 10194 } 10195 /** 10196 * @brief Get field status from event MAP_SUBEVENT_CONNECTION_OPENED 10197 * @param event packet 10198 * @return status 10199 * @note: btstack_type 1 10200 */ 10201 static inline uint8_t map_subevent_connection_opened_get_status(const uint8_t * event){ 10202 return event[5]; 10203 } 10204 /** 10205 * @brief Get field bd_addr from event MAP_SUBEVENT_CONNECTION_OPENED 10206 * @param event packet 10207 * @param Pointer to storage for bd_addr 10208 * @note: btstack_type B 10209 */ 10210 static inline void map_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10211 reverse_bytes(&event[6], bd_addr, 6); 10212 } 10213 /** 10214 * @brief Get field con_handle from event MAP_SUBEVENT_CONNECTION_OPENED 10215 * @param event packet 10216 * @return con_handle 10217 * @note: btstack_type H 10218 */ 10219 static inline hci_con_handle_t map_subevent_connection_opened_get_con_handle(const uint8_t * event){ 10220 return little_endian_read_16(event, 12); 10221 } 10222 /** 10223 * @brief Get field incoming from event MAP_SUBEVENT_CONNECTION_OPENED 10224 * @param event packet 10225 * @return incoming 10226 * @note: btstack_type 1 10227 */ 10228 static inline uint8_t map_subevent_connection_opened_get_incoming(const uint8_t * event){ 10229 return event[14]; 10230 } 10231 10232 /** 10233 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_CLOSED 10234 * @param event packet 10235 * @return map_cid 10236 * @note: btstack_type 2 10237 */ 10238 static inline uint16_t map_subevent_connection_closed_get_map_cid(const uint8_t * event){ 10239 return little_endian_read_16(event, 3); 10240 } 10241 10242 /** 10243 * @brief Get field map_cid from event MAP_SUBEVENT_OPERATION_COMPLETED 10244 * @param event packet 10245 * @return map_cid 10246 * @note: btstack_type 2 10247 */ 10248 static inline uint16_t map_subevent_operation_completed_get_map_cid(const uint8_t * event){ 10249 return little_endian_read_16(event, 3); 10250 } 10251 /** 10252 * @brief Get field status from event MAP_SUBEVENT_OPERATION_COMPLETED 10253 * @param event packet 10254 * @return status 10255 * @note: btstack_type 1 10256 */ 10257 static inline uint8_t map_subevent_operation_completed_get_status(const uint8_t * event){ 10258 return event[5]; 10259 } 10260 10261 /** 10262 * @brief Get field map_cid from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 10263 * @param event packet 10264 * @return map_cid 10265 * @note: btstack_type 2 10266 */ 10267 static inline uint16_t map_subevent_folder_listing_item_get_map_cid(const uint8_t * event){ 10268 return little_endian_read_16(event, 3); 10269 } 10270 /** 10271 * @brief Get field name_len from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 10272 * @param event packet 10273 * @return name_len 10274 * @note: btstack_type L 10275 */ 10276 static inline uint16_t map_subevent_folder_listing_item_get_name_len(const uint8_t * event){ 10277 return little_endian_read_16(event, 5); 10278 } 10279 /** 10280 * @brief Get field name from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 10281 * @param event packet 10282 * @return name 10283 * @note: btstack_type V 10284 */ 10285 static inline const uint8_t * map_subevent_folder_listing_item_get_name(const uint8_t * event){ 10286 return &event[7]; 10287 } 10288 10289 /** 10290 * @brief Get field map_cid from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 10291 * @param event packet 10292 * @return map_cid 10293 * @note: btstack_type 2 10294 */ 10295 static inline uint16_t map_subevent_message_listing_item_get_map_cid(const uint8_t * event){ 10296 return little_endian_read_16(event, 3); 10297 } 10298 /** 10299 * @brief Get field handle from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 10300 * @param event packet 10301 * @return handle 10302 * @note: btstack_type D 10303 */ 10304 static inline const uint8_t * map_subevent_message_listing_item_get_handle(const uint8_t * event){ 10305 return (const uint8_t *) &event[5]; 10306 } 10307 10308 /** 10309 * @brief Get field map_cid from event MAP_SUBEVENT_PARSING_DONE 10310 * @param event packet 10311 * @return map_cid 10312 * @note: btstack_type 2 10313 */ 10314 static inline uint16_t map_subevent_parsing_done_get_map_cid(const uint8_t * event){ 10315 return little_endian_read_16(event, 3); 10316 } 10317 10318 10319 /** 10320 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 10321 * @param event packet 10322 * @return status 10323 * @note: btstack_type 1 10324 */ 10325 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 10326 return event[3]; 10327 } 10328 10329 /** 10330 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 10331 * @param event packet 10332 * @return status 10333 * @note: btstack_type 1 10334 */ 10335 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 10336 return event[3]; 10337 } 10338 /** 10339 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 10340 * @param event packet 10341 * @return pb_transport_cid 10342 * @note: btstack_type 2 10343 */ 10344 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 10345 return little_endian_read_16(event, 4); 10346 } 10347 /** 10348 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 10349 * @param event packet 10350 * @return pb_type 10351 * @note: btstack_type 1 10352 */ 10353 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 10354 return event[6]; 10355 } 10356 10357 /** 10358 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 10359 * @param event packet 10360 * @return pb_transport_cid 10361 * @note: btstack_type 1 10362 */ 10363 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 10364 return event[3]; 10365 } 10366 /** 10367 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 10368 * @param event packet 10369 * @return reason 10370 * @note: btstack_type 2 10371 */ 10372 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 10373 return little_endian_read_16(event, 4); 10374 } 10375 10376 /** 10377 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 10378 * @param event packet 10379 * @return pb_transport_cid 10380 * @note: btstack_type 2 10381 */ 10382 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 10383 return little_endian_read_16(event, 3); 10384 } 10385 /** 10386 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 10387 * @param event packet 10388 * @return attention_time 10389 * @note: btstack_type 1 10390 */ 10391 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 10392 return event[5]; 10393 } 10394 10395 /** 10396 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 10397 * @param event packet 10398 * @return pb_transport_cid 10399 * @note: btstack_type 2 10400 */ 10401 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 10402 return little_endian_read_16(event, 3); 10403 } 10404 10405 /** 10406 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 10407 * @param event packet 10408 * @return pb_transport_cid 10409 * @note: btstack_type 2 10410 */ 10411 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 10412 return little_endian_read_16(event, 3); 10413 } 10414 10415 /** 10416 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 10417 * @param event packet 10418 * @return pb_transport_cid 10419 * @note: btstack_type 2 10420 */ 10421 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 10422 return little_endian_read_16(event, 3); 10423 } 10424 10425 /** 10426 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 10427 * @param event packet 10428 * @return pb_transport_cid 10429 * @note: btstack_type 2 10430 */ 10431 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 10432 return little_endian_read_16(event, 3); 10433 } 10434 /** 10435 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 10436 * @param event packet 10437 * @return output_oob 10438 * @note: btstack_type 4 10439 */ 10440 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 10441 return little_endian_read_32(event, 5); 10442 } 10443 10444 /** 10445 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 10446 * @param event packet 10447 * @return pb_transport_cid 10448 * @note: btstack_type 2 10449 */ 10450 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 10451 return little_endian_read_16(event, 3); 10452 } 10453 10454 /** 10455 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 10456 * @param event packet 10457 * @return pb_transport_cid 10458 * @note: btstack_type 2 10459 */ 10460 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 10461 return little_endian_read_16(event, 3); 10462 } 10463 10464 /** 10465 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 10466 * @param event packet 10467 * @return pb_transport_cid 10468 * @note: btstack_type 2 10469 */ 10470 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 10471 return little_endian_read_16(event, 3); 10472 } 10473 10474 /** 10475 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 10476 * @param event packet 10477 * @return pb_transport_cid 10478 * @note: btstack_type 2 10479 */ 10480 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 10481 return little_endian_read_16(event, 3); 10482 } 10483 10484 /** 10485 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 10486 * @param event packet 10487 * @return pb_transport_cid 10488 * @note: btstack_type 2 10489 */ 10490 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 10491 return little_endian_read_16(event, 3); 10492 } 10493 /** 10494 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 10495 * @param event packet 10496 * @return output_oob 10497 * @note: btstack_type 4 10498 */ 10499 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 10500 return little_endian_read_32(event, 5); 10501 } 10502 10503 /** 10504 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 10505 * @param event packet 10506 * @return pb_transport_cid 10507 * @note: btstack_type 2 10508 */ 10509 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 10510 return little_endian_read_16(event, 3); 10511 } 10512 10513 /** 10514 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10515 * @param event packet 10516 * @return pb_transport_cid 10517 * @note: btstack_type 2 10518 */ 10519 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 10520 return little_endian_read_16(event, 3); 10521 } 10522 /** 10523 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10524 * @param event packet 10525 * @return num_elements 10526 * @note: btstack_type 1 10527 */ 10528 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 10529 return event[5]; 10530 } 10531 /** 10532 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10533 * @param event packet 10534 * @return algorithms 10535 * @note: btstack_type 2 10536 */ 10537 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 10538 return little_endian_read_16(event, 6); 10539 } 10540 /** 10541 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10542 * @param event packet 10543 * @return public_key 10544 * @note: btstack_type 1 10545 */ 10546 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 10547 return event[8]; 10548 } 10549 /** 10550 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10551 * @param event packet 10552 * @return static_oob_type 10553 * @note: btstack_type 1 10554 */ 10555 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 10556 return event[9]; 10557 } 10558 /** 10559 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10560 * @param event packet 10561 * @return output_oob_size 10562 * @note: btstack_type 1 10563 */ 10564 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 10565 return event[10]; 10566 } 10567 /** 10568 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10569 * @param event packet 10570 * @return output_oob_action 10571 * @note: btstack_type 2 10572 */ 10573 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 10574 return little_endian_read_16(event, 11); 10575 } 10576 /** 10577 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10578 * @param event packet 10579 * @return input_oob_size 10580 * @note: btstack_type 1 10581 */ 10582 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 10583 return event[13]; 10584 } 10585 /** 10586 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10587 * @param event packet 10588 * @return input_oob_action 10589 * @note: btstack_type 2 10590 */ 10591 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 10592 return little_endian_read_16(event, 14); 10593 } 10594 10595 /** 10596 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 10597 * @param event packet 10598 * @return pb_transport_cid 10599 * @note: btstack_type 2 10600 */ 10601 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 10602 return little_endian_read_16(event, 3); 10603 } 10604 10605 /** 10606 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 10607 * @param event packet 10608 * @return attention_time 10609 * @note: btstack_type 1 10610 */ 10611 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 10612 return event[3]; 10613 } 10614 10615 /** 10616 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 10617 * @param event packet 10618 * @return con_handle 10619 * @note: btstack_type H 10620 */ 10621 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 10622 return little_endian_read_16(event, 3); 10623 } 10624 10625 /** 10626 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 10627 * @param event packet 10628 * @return con_handle 10629 * @note: btstack_type H 10630 */ 10631 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 10632 return little_endian_read_16(event, 3); 10633 } 10634 10635 /** 10636 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 10637 * @param event packet 10638 * @return con_handle 10639 * @note: btstack_type H 10640 */ 10641 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 10642 return little_endian_read_16(event, 3); 10643 } 10644 10645 /** 10646 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 10647 * @param event packet 10648 * @return con_handle 10649 * @note: btstack_type H 10650 */ 10651 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 10652 return little_endian_read_16(event, 3); 10653 } 10654 10655 /** 10656 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 10657 * @param event packet 10658 * @return element_index 10659 * @note: btstack_type 1 10660 */ 10661 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 10662 return event[3]; 10663 } 10664 /** 10665 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 10666 * @param event packet 10667 * @return model_identifier 10668 * @note: btstack_type 4 10669 */ 10670 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 10671 return little_endian_read_32(event, 4); 10672 } 10673 /** 10674 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 10675 * @param event packet 10676 * @return state_identifier 10677 * @note: btstack_type 4 10678 */ 10679 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 10680 return little_endian_read_32(event, 8); 10681 } 10682 /** 10683 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 10684 * @param event packet 10685 * @return reason 10686 * @note: btstack_type 1 10687 */ 10688 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 10689 return event[12]; 10690 } 10691 /** 10692 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 10693 * @param event packet 10694 * @return value 10695 * @note: btstack_type 1 10696 */ 10697 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 10698 return event[13]; 10699 } 10700 10701 /** 10702 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 10703 * @param event packet 10704 * @return element_index 10705 * @note: btstack_type 1 10706 */ 10707 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 10708 return event[3]; 10709 } 10710 /** 10711 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 10712 * @param event packet 10713 * @return model_identifier 10714 * @note: btstack_type 4 10715 */ 10716 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 10717 return little_endian_read_32(event, 4); 10718 } 10719 /** 10720 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 10721 * @param event packet 10722 * @return state_identifier 10723 * @note: btstack_type 4 10724 */ 10725 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 10726 return little_endian_read_32(event, 8); 10727 } 10728 /** 10729 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 10730 * @param event packet 10731 * @return reason 10732 * @note: btstack_type 1 10733 */ 10734 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 10735 return event[12]; 10736 } 10737 /** 10738 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 10739 * @param event packet 10740 * @return value 10741 * @note: btstack_type 2 10742 */ 10743 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 10744 return little_endian_read_16(event, 13); 10745 } 10746 10747 /** 10748 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 10749 * @param event packet 10750 * @return element_index 10751 * @note: btstack_type 1 10752 */ 10753 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 10754 return event[3]; 10755 } 10756 /** 10757 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 10758 * @param event packet 10759 * @return model_identifier 10760 * @note: btstack_type 4 10761 */ 10762 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 10763 return little_endian_read_32(event, 4); 10764 } 10765 /** 10766 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 10767 * @param event packet 10768 * @return opcode 10769 * @note: btstack_type 4 10770 */ 10771 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 10772 return little_endian_read_32(event, 8); 10773 } 10774 /** 10775 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 10776 * @param event packet 10777 * @return dest 10778 * @note: btstack_type 2 10779 */ 10780 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 10781 return little_endian_read_16(event, 12); 10782 } 10783 10784 /** 10785 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 10786 * @param event packet 10787 * @return dest 10788 * @note: btstack_type 2 10789 */ 10790 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 10791 return little_endian_read_16(event, 3); 10792 } 10793 /** 10794 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 10795 * @param event packet 10796 * @return status 10797 * @note: btstack_type 1 10798 */ 10799 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 10800 return event[5]; 10801 } 10802 /** 10803 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 10804 * @param event packet 10805 * @return present_value 10806 * @note: btstack_type 1 10807 */ 10808 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 10809 return event[6]; 10810 } 10811 /** 10812 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 10813 * @param event packet 10814 * @return target_value 10815 * @note: btstack_type 1 10816 */ 10817 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 10818 return event[7]; 10819 } 10820 /** 10821 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 10822 * @param event packet 10823 * @return remaining_time_ms 10824 * @note: btstack_type 4 10825 */ 10826 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 10827 return little_endian_read_32(event, 8); 10828 } 10829 10830 /** 10831 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 10832 * @param event packet 10833 * @return dest 10834 * @note: btstack_type 2 10835 */ 10836 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 10837 return little_endian_read_16(event, 3); 10838 } 10839 /** 10840 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 10841 * @param event packet 10842 * @return status 10843 * @note: btstack_type 1 10844 */ 10845 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 10846 return event[5]; 10847 } 10848 /** 10849 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 10850 * @param event packet 10851 * @return present_value 10852 * @note: btstack_type 2 10853 */ 10854 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 10855 return little_endian_read_16(event, 6); 10856 } 10857 /** 10858 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 10859 * @param event packet 10860 * @return target_value 10861 * @note: btstack_type 2 10862 */ 10863 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 10864 return little_endian_read_16(event, 8); 10865 } 10866 /** 10867 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 10868 * @param event packet 10869 * @return remaining_time_ms 10870 * @note: btstack_type 4 10871 */ 10872 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 10873 return little_endian_read_32(event, 10); 10874 } 10875 10876 /** 10877 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 10878 * @param event packet 10879 * @return dest 10880 * @note: btstack_type 2 10881 */ 10882 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 10883 return little_endian_read_16(event, 3); 10884 } 10885 /** 10886 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 10887 * @param event packet 10888 * @return netkey_index 10889 * @note: btstack_type 2 10890 */ 10891 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 10892 return little_endian_read_16(event, 5); 10893 } 10894 /** 10895 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 10896 * @param event packet 10897 * @return appkey_index 10898 * @note: btstack_type 2 10899 */ 10900 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 10901 return little_endian_read_16(event, 7); 10902 } 10903 /** 10904 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 10905 * @param event packet 10906 * @return company_id 10907 * @note: btstack_type 2 10908 */ 10909 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 10910 return little_endian_read_16(event, 9); 10911 } 10912 /** 10913 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 10914 * @param event packet 10915 * @return test_id 10916 * @note: btstack_type 1 10917 */ 10918 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 10919 return event[11]; 10920 } 10921 /** 10922 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 10923 * @param event packet 10924 * @return acknowledged 10925 * @note: btstack_type 1 10926 */ 10927 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 10928 return event[12]; 10929 } 10930 10931 /** 10932 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 10933 * @param event packet 10934 * @return element_index 10935 * @note: btstack_type 1 10936 */ 10937 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 10938 return event[3]; 10939 } 10940 10941 /** 10942 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 10943 * @param event packet 10944 * @return dest 10945 * @note: btstack_type 2 10946 */ 10947 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 10948 return little_endian_read_16(event, 3); 10949 } 10950 /** 10951 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 10952 * @param event packet 10953 * @return status 10954 * @note: btstack_type 1 10955 */ 10956 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 10957 return event[5]; 10958 } 10959 /** 10960 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 10961 * @param event packet 10962 * @return transition_time_gdtt 10963 * @note: btstack_type 1 10964 */ 10965 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 10966 return event[6]; 10967 } 10968 10969 /** 10970 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 10971 * @param event packet 10972 * @return dest 10973 * @note: btstack_type 2 10974 */ 10975 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 10976 return little_endian_read_16(event, 3); 10977 } 10978 /** 10979 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 10980 * @param event packet 10981 * @return foundation_status 10982 * @note: btstack_type 1 10983 */ 10984 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 10985 return event[5]; 10986 } 10987 /** 10988 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 10989 * @param event packet 10990 * @return secure_network_beacon_state 10991 * @note: btstack_type 1 10992 */ 10993 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 10994 return event[6]; 10995 } 10996 10997 /** 10998 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 10999 * @param event packet 11000 * @return dest 11001 * @note: btstack_type 2 11002 */ 11003 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 11004 return little_endian_read_16(event, 3); 11005 } 11006 /** 11007 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 11008 * @param event packet 11009 * @return foundation_status 11010 * @note: btstack_type 1 11011 */ 11012 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 11013 return event[5]; 11014 } 11015 /** 11016 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 11017 * @param event packet 11018 * @return default_ttl 11019 * @note: btstack_type 1 11020 */ 11021 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 11022 return event[6]; 11023 } 11024 11025 /** 11026 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 11027 * @param event packet 11028 * @return dest 11029 * @note: btstack_type 2 11030 */ 11031 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 11032 return little_endian_read_16(event, 3); 11033 } 11034 /** 11035 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 11036 * @param event packet 11037 * @return foundation_status 11038 * @note: btstack_type 1 11039 */ 11040 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 11041 return event[5]; 11042 } 11043 /** 11044 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 11045 * @param event packet 11046 * @return gatt_proxy_state 11047 * @note: btstack_type 1 11048 */ 11049 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 11050 return event[6]; 11051 } 11052 11053 /** 11054 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 11055 * @param event packet 11056 * @return dest 11057 * @note: btstack_type 2 11058 */ 11059 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 11060 return little_endian_read_16(event, 3); 11061 } 11062 /** 11063 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 11064 * @param event packet 11065 * @return foundation_status 11066 * @note: btstack_type 1 11067 */ 11068 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 11069 return event[5]; 11070 } 11071 /** 11072 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 11073 * @param event packet 11074 * @return relay 11075 * @note: btstack_type 1 11076 */ 11077 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 11078 return event[6]; 11079 } 11080 /** 11081 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 11082 * @param event packet 11083 * @return retransmit_count 11084 * @note: btstack_type 1 11085 */ 11086 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 11087 return event[7]; 11088 } 11089 /** 11090 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 11091 * @param event packet 11092 * @return retransmit_interval_ms 11093 * @note: btstack_type 1 11094 */ 11095 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 11096 return event[8]; 11097 } 11098 11099 /** 11100 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11101 * @param event packet 11102 * @return dest 11103 * @note: btstack_type 2 11104 */ 11105 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 11106 return little_endian_read_16(event, 3); 11107 } 11108 /** 11109 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11110 * @param event packet 11111 * @return foundation_status 11112 * @note: btstack_type 1 11113 */ 11114 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 11115 return event[5]; 11116 } 11117 /** 11118 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11119 * @param event packet 11120 * @return publish_address 11121 * @note: btstack_type 2 11122 */ 11123 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 11124 return little_endian_read_16(event, 6); 11125 } 11126 /** 11127 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11128 * @param event packet 11129 * @return appkey_index 11130 * @note: btstack_type 2 11131 */ 11132 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 11133 return little_endian_read_16(event, 8); 11134 } 11135 /** 11136 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11137 * @param event packet 11138 * @return credential_flag 11139 * @note: btstack_type 1 11140 */ 11141 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 11142 return event[10]; 11143 } 11144 /** 11145 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11146 * @param event packet 11147 * @return publish_ttl 11148 * @note: btstack_type 1 11149 */ 11150 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 11151 return event[11]; 11152 } 11153 /** 11154 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11155 * @param event packet 11156 * @return publish_period 11157 * @note: btstack_type 1 11158 */ 11159 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 11160 return event[12]; 11161 } 11162 /** 11163 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11164 * @param event packet 11165 * @return publish_retransmit_count 11166 * @note: btstack_type 1 11167 */ 11168 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 11169 return event[13]; 11170 } 11171 /** 11172 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11173 * @param event packet 11174 * @return publish_retransmit_interval_steps 11175 * @note: btstack_type 1 11176 */ 11177 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 11178 return event[14]; 11179 } 11180 /** 11181 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11182 * @param event packet 11183 * @return model_identifier 11184 * @note: btstack_type 4 11185 */ 11186 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 11187 return little_endian_read_32(event, 15); 11188 } 11189 11190 /** 11191 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 11192 * @param event packet 11193 * @return dest 11194 * @note: btstack_type 2 11195 */ 11196 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 11197 return little_endian_read_16(event, 3); 11198 } 11199 /** 11200 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 11201 * @param event packet 11202 * @return foundation_status 11203 * @note: btstack_type 1 11204 */ 11205 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 11206 return event[5]; 11207 } 11208 /** 11209 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 11210 * @param event packet 11211 * @return address 11212 * @note: btstack_type 2 11213 */ 11214 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 11215 return little_endian_read_16(event, 6); 11216 } 11217 /** 11218 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 11219 * @param event packet 11220 * @return model_identifier 11221 * @note: btstack_type 4 11222 */ 11223 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 11224 return little_endian_read_32(event, 8); 11225 } 11226 11227 /** 11228 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 11229 * @param event packet 11230 * @return dest 11231 * @note: btstack_type 2 11232 */ 11233 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 11234 return little_endian_read_16(event, 3); 11235 } 11236 /** 11237 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 11238 * @param event packet 11239 * @return foundation_status 11240 * @note: btstack_type 1 11241 */ 11242 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 11243 return event[5]; 11244 } 11245 /** 11246 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 11247 * @param event packet 11248 * @return model_identifier 11249 * @note: btstack_type 4 11250 */ 11251 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 11252 return little_endian_read_32(event, 6); 11253 } 11254 /** 11255 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 11256 * @param event packet 11257 * @return num_subscription_addresses 11258 * @note: btstack_type 1 11259 */ 11260 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 11261 return event[10]; 11262 } 11263 /** 11264 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 11265 * @param event packet 11266 * @return subscription_address_pos 11267 * @note: btstack_type 1 11268 */ 11269 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 11270 return event[11]; 11271 } 11272 /** 11273 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 11274 * @param event packet 11275 * @return subscription_address_item 11276 * @note: btstack_type 2 11277 */ 11278 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 11279 return little_endian_read_16(event, 12); 11280 } 11281 11282 /** 11283 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 11284 * @param event packet 11285 * @return dest 11286 * @note: btstack_type 2 11287 */ 11288 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 11289 return little_endian_read_16(event, 3); 11290 } 11291 /** 11292 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 11293 * @param event packet 11294 * @return foundation_status 11295 * @note: btstack_type 1 11296 */ 11297 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 11298 return event[5]; 11299 } 11300 11301 /** 11302 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 11303 * @param event packet 11304 * @return dest 11305 * @note: btstack_type 2 11306 */ 11307 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 11308 return little_endian_read_16(event, 3); 11309 } 11310 /** 11311 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 11312 * @param event packet 11313 * @return foundation_status 11314 * @note: btstack_type 1 11315 */ 11316 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 11317 return event[5]; 11318 } 11319 /** 11320 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 11321 * @param event packet 11322 * @return num_netkey_indexes 11323 * @note: btstack_type 1 11324 */ 11325 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 11326 return event[6]; 11327 } 11328 /** 11329 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 11330 * @param event packet 11331 * @return netkey_index_pos 11332 * @note: btstack_type 1 11333 */ 11334 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 11335 return event[7]; 11336 } 11337 /** 11338 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 11339 * @param event packet 11340 * @return netkey_index_item 11341 * @note: btstack_type 2 11342 */ 11343 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 11344 return little_endian_read_16(event, 8); 11345 } 11346 11347 /** 11348 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 11349 * @param event packet 11350 * @return dest 11351 * @note: btstack_type 2 11352 */ 11353 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 11354 return little_endian_read_16(event, 3); 11355 } 11356 /** 11357 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 11358 * @param event packet 11359 * @return foundation_status 11360 * @note: btstack_type 1 11361 */ 11362 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 11363 return event[5]; 11364 } 11365 /** 11366 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 11367 * @param event packet 11368 * @return netkey_index_item 11369 * @note: btstack_type 2 11370 */ 11371 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 11372 return little_endian_read_16(event, 6); 11373 } 11374 /** 11375 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 11376 * @param event packet 11377 * @return appkey_index_item 11378 * @note: btstack_type 2 11379 */ 11380 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 11381 return little_endian_read_16(event, 8); 11382 } 11383 11384 /** 11385 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 11386 * @param event packet 11387 * @return dest 11388 * @note: btstack_type 2 11389 */ 11390 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 11391 return little_endian_read_16(event, 3); 11392 } 11393 /** 11394 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 11395 * @param event packet 11396 * @return foundation_status 11397 * @note: btstack_type 1 11398 */ 11399 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 11400 return event[5]; 11401 } 11402 /** 11403 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 11404 * @param event packet 11405 * @return netkey_index 11406 * @note: btstack_type 2 11407 */ 11408 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 11409 return little_endian_read_16(event, 6); 11410 } 11411 /** 11412 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 11413 * @param event packet 11414 * @return num_appkey_indexes 11415 * @note: btstack_type 1 11416 */ 11417 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 11418 return event[8]; 11419 } 11420 /** 11421 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 11422 * @param event packet 11423 * @return appkey_index_pos 11424 * @note: btstack_type 1 11425 */ 11426 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 11427 return event[9]; 11428 } 11429 /** 11430 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 11431 * @param event packet 11432 * @return netkey_index_item 11433 * @note: btstack_type 2 11434 */ 11435 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 11436 return little_endian_read_16(event, 10); 11437 } 11438 /** 11439 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 11440 * @param event packet 11441 * @return appkey_index_item 11442 * @note: btstack_type 2 11443 */ 11444 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 11445 return little_endian_read_16(event, 12); 11446 } 11447 11448 /** 11449 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 11450 * @param event packet 11451 * @return dest 11452 * @note: btstack_type 2 11453 */ 11454 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 11455 return little_endian_read_16(event, 3); 11456 } 11457 /** 11458 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 11459 * @param event packet 11460 * @return foundation_status 11461 * @note: btstack_type 1 11462 */ 11463 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 11464 return event[5]; 11465 } 11466 /** 11467 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 11468 * @param event packet 11469 * @return netkey_index_item 11470 * @note: btstack_type 2 11471 */ 11472 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 11473 return little_endian_read_16(event, 6); 11474 } 11475 /** 11476 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 11477 * @param event packet 11478 * @return identity_status 11479 * @note: btstack_type 1 11480 */ 11481 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 11482 return event[8]; 11483 } 11484 11485 /** 11486 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 11487 * @param event packet 11488 * @return dest 11489 * @note: btstack_type 2 11490 */ 11491 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 11492 return little_endian_read_16(event, 3); 11493 } 11494 /** 11495 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 11496 * @param event packet 11497 * @return foundation_status 11498 * @note: btstack_type 1 11499 */ 11500 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 11501 return event[5]; 11502 } 11503 /** 11504 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 11505 * @param event packet 11506 * @return appkey_index 11507 * @note: btstack_type 2 11508 */ 11509 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 11510 return little_endian_read_16(event, 6); 11511 } 11512 /** 11513 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 11514 * @param event packet 11515 * @return model_identifier 11516 * @note: btstack_type 4 11517 */ 11518 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 11519 return little_endian_read_32(event, 8); 11520 } 11521 11522 /** 11523 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 11524 * @param event packet 11525 * @return dest 11526 * @note: btstack_type 2 11527 */ 11528 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 11529 return little_endian_read_16(event, 3); 11530 } 11531 /** 11532 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 11533 * @param event packet 11534 * @return foundation_status 11535 * @note: btstack_type 1 11536 */ 11537 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 11538 return event[5]; 11539 } 11540 /** 11541 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 11542 * @param event packet 11543 * @return model_id 11544 * @note: btstack_type 4 11545 */ 11546 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 11547 return little_endian_read_32(event, 6); 11548 } 11549 /** 11550 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 11551 * @param event packet 11552 * @return num_appkey_indexes 11553 * @note: btstack_type 1 11554 */ 11555 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 11556 return event[10]; 11557 } 11558 /** 11559 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 11560 * @param event packet 11561 * @return appkey_index_pos 11562 * @note: btstack_type 1 11563 */ 11564 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 11565 return event[11]; 11566 } 11567 /** 11568 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 11569 * @param event packet 11570 * @return appkey_index_item 11571 * @note: btstack_type 2 11572 */ 11573 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 11574 return little_endian_read_16(event, 12); 11575 } 11576 11577 /** 11578 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 11579 * @param event packet 11580 * @return dest 11581 * @note: btstack_type 2 11582 */ 11583 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 11584 return little_endian_read_16(event, 3); 11585 } 11586 /** 11587 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 11588 * @param event packet 11589 * @return foundation_status 11590 * @note: btstack_type 1 11591 */ 11592 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 11593 return event[5]; 11594 } 11595 11596 /** 11597 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 11598 * @param event packet 11599 * @return dest 11600 * @note: btstack_type 2 11601 */ 11602 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 11603 return little_endian_read_16(event, 3); 11604 } 11605 /** 11606 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 11607 * @param event packet 11608 * @return foundation_status 11609 * @note: btstack_type 1 11610 */ 11611 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 11612 return event[5]; 11613 } 11614 /** 11615 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 11616 * @param event packet 11617 * @return friend_state 11618 * @note: btstack_type 1 11619 */ 11620 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 11621 return event[6]; 11622 } 11623 11624 /** 11625 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 11626 * @param event packet 11627 * @return dest 11628 * @note: btstack_type 2 11629 */ 11630 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 11631 return little_endian_read_16(event, 3); 11632 } 11633 /** 11634 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 11635 * @param event packet 11636 * @return foundation_status 11637 * @note: btstack_type 1 11638 */ 11639 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 11640 return event[5]; 11641 } 11642 /** 11643 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 11644 * @param event packet 11645 * @return netkey_index 11646 * @note: btstack_type 2 11647 */ 11648 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 11649 return little_endian_read_16(event, 6); 11650 } 11651 /** 11652 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 11653 * @param event packet 11654 * @return phase 11655 * @note: btstack_type 1 11656 */ 11657 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 11658 return event[8]; 11659 } 11660 11661 /** 11662 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11663 * @param event packet 11664 * @return dest 11665 * @note: btstack_type 2 11666 */ 11667 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 11668 return little_endian_read_16(event, 3); 11669 } 11670 /** 11671 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11672 * @param event packet 11673 * @return foundation_status 11674 * @note: btstack_type 1 11675 */ 11676 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 11677 return event[5]; 11678 } 11679 /** 11680 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11681 * @param event packet 11682 * @return heartbeat_destination 11683 * @note: btstack_type 2 11684 */ 11685 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 11686 return little_endian_read_16(event, 6); 11687 } 11688 /** 11689 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11690 * @param event packet 11691 * @return count_S 11692 * @note: btstack_type 2 11693 */ 11694 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 11695 return little_endian_read_16(event, 8); 11696 } 11697 /** 11698 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11699 * @param event packet 11700 * @return period_S 11701 * @note: btstack_type 2 11702 */ 11703 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 11704 return little_endian_read_16(event, 10); 11705 } 11706 /** 11707 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11708 * @param event packet 11709 * @return ttl 11710 * @note: btstack_type 1 11711 */ 11712 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 11713 return event[12]; 11714 } 11715 /** 11716 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11717 * @param event packet 11718 * @return features 11719 * @note: btstack_type 2 11720 */ 11721 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 11722 return little_endian_read_16(event, 13); 11723 } 11724 /** 11725 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11726 * @param event packet 11727 * @return netkey_index 11728 * @note: btstack_type 2 11729 */ 11730 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 11731 return little_endian_read_16(event, 15); 11732 } 11733 11734 /** 11735 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11736 * @param event packet 11737 * @return dest 11738 * @note: btstack_type 2 11739 */ 11740 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 11741 return little_endian_read_16(event, 3); 11742 } 11743 /** 11744 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11745 * @param event packet 11746 * @return foundation_status 11747 * @note: btstack_type 1 11748 */ 11749 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 11750 return event[5]; 11751 } 11752 /** 11753 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11754 * @param event packet 11755 * @return heartbeat_destination 11756 * @note: btstack_type 2 11757 */ 11758 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 11759 return little_endian_read_16(event, 6); 11760 } 11761 /** 11762 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11763 * @param event packet 11764 * @return heartbeat_source 11765 * @note: btstack_type 2 11766 */ 11767 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 11768 return little_endian_read_16(event, 8); 11769 } 11770 /** 11771 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11772 * @param event packet 11773 * @return count_S 11774 * @note: btstack_type 2 11775 */ 11776 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 11777 return little_endian_read_16(event, 10); 11778 } 11779 /** 11780 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11781 * @param event packet 11782 * @return period_S 11783 * @note: btstack_type 2 11784 */ 11785 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 11786 return little_endian_read_16(event, 12); 11787 } 11788 /** 11789 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11790 * @param event packet 11791 * @return min_hops 11792 * @note: btstack_type 1 11793 */ 11794 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 11795 return event[14]; 11796 } 11797 /** 11798 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11799 * @param event packet 11800 * @return max_hops 11801 * @note: btstack_type 1 11802 */ 11803 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 11804 return event[15]; 11805 } 11806 11807 /** 11808 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 11809 * @param event packet 11810 * @return dest 11811 * @note: btstack_type 2 11812 */ 11813 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 11814 return little_endian_read_16(event, 3); 11815 } 11816 /** 11817 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 11818 * @param event packet 11819 * @return foundation_status 11820 * @note: btstack_type 1 11821 */ 11822 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 11823 return event[5]; 11824 } 11825 /** 11826 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 11827 * @param event packet 11828 * @return lpn_address 11829 * @note: btstack_type 2 11830 */ 11831 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 11832 return little_endian_read_16(event, 6); 11833 } 11834 /** 11835 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 11836 * @param event packet 11837 * @return poll_timeout 11838 * @note: btstack_type 3 11839 */ 11840 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 11841 return little_endian_read_24(event, 8); 11842 } 11843 11844 /** 11845 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 11846 * @param event packet 11847 * @return dest 11848 * @note: btstack_type 2 11849 */ 11850 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 11851 return little_endian_read_16(event, 3); 11852 } 11853 /** 11854 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 11855 * @param event packet 11856 * @return foundation_status 11857 * @note: btstack_type 1 11858 */ 11859 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 11860 return event[5]; 11861 } 11862 /** 11863 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 11864 * @param event packet 11865 * @return transmit_count 11866 * @note: btstack_type 1 11867 */ 11868 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 11869 return event[6]; 11870 } 11871 /** 11872 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 11873 * @param event packet 11874 * @return transmit_interval_steps_ms 11875 * @note: btstack_type 2 11876 */ 11877 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 11878 return little_endian_read_16(event, 7); 11879 } 11880 11881 11882 11883 /* API_END */ 11884 11885 #if defined __cplusplus 11886 } 11887 #endif 11888 11889 #endif // BTSTACK_EVENT_H 11890