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 #ifdef ENABLE_BLE 4666 /** 4667 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 4668 * @param event packet 4669 * @return handle 4670 * @note: btstack_type H 4671 */ 4672 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 4673 return little_endian_read_16(event, 3); 4674 } 4675 #endif 4676 4677 #ifdef ENABLE_BLE 4678 /** 4679 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4680 * @param event packet 4681 * @return handle 4682 * @note: btstack_type H 4683 */ 4684 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 4685 return little_endian_read_16(event, 3); 4686 } 4687 /** 4688 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4689 * @param event packet 4690 * @return attribute_id 4691 * @note: btstack_type 2 4692 */ 4693 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 4694 return little_endian_read_16(event, 5); 4695 } 4696 /** 4697 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4698 * @param event packet 4699 * @return text 4700 * @note: btstack_type T 4701 */ 4702 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 4703 return (const char *) &event[7]; 4704 } 4705 #endif 4706 4707 #ifdef ENABLE_BLE 4708 /** 4709 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 4710 * @param event packet 4711 * @return handle 4712 * @note: btstack_type H 4713 */ 4714 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 4715 return little_endian_read_16(event, 3); 4716 } 4717 #endif 4718 4719 /** 4720 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4721 * @param event packet 4722 * @return avdtp_cid 4723 * @note: btstack_type 2 4724 */ 4725 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 4726 return little_endian_read_16(event, 3); 4727 } 4728 /** 4729 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4730 * @param event packet 4731 * @return local_seid 4732 * @note: btstack_type 1 4733 */ 4734 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 4735 return event[5]; 4736 } 4737 /** 4738 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4739 * @param event packet 4740 * @return is_initiator 4741 * @note: btstack_type 1 4742 */ 4743 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 4744 return event[6]; 4745 } 4746 /** 4747 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4748 * @param event packet 4749 * @return signal_identifier 4750 * @note: btstack_type 1 4751 */ 4752 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 4753 return event[7]; 4754 } 4755 4756 /** 4757 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 4758 * @param event packet 4759 * @return avdtp_cid 4760 * @note: btstack_type 2 4761 */ 4762 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 4763 return little_endian_read_16(event, 3); 4764 } 4765 /** 4766 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 4767 * @param event packet 4768 * @return local_seid 4769 * @note: btstack_type 1 4770 */ 4771 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 4772 return event[5]; 4773 } 4774 /** 4775 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 4776 * @param event packet 4777 * @return is_initiator 4778 * @note: btstack_type 1 4779 */ 4780 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 4781 return event[6]; 4782 } 4783 /** 4784 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 4785 * @param event packet 4786 * @return signal_identifier 4787 * @note: btstack_type 1 4788 */ 4789 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 4790 return event[7]; 4791 } 4792 4793 /** 4794 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4795 * @param event packet 4796 * @return avdtp_cid 4797 * @note: btstack_type 2 4798 */ 4799 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 4800 return little_endian_read_16(event, 3); 4801 } 4802 /** 4803 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4804 * @param event packet 4805 * @return local_seid 4806 * @note: btstack_type 1 4807 */ 4808 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 4809 return event[5]; 4810 } 4811 /** 4812 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4813 * @param event packet 4814 * @return is_initiator 4815 * @note: btstack_type 1 4816 */ 4817 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 4818 return event[6]; 4819 } 4820 /** 4821 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4822 * @param event packet 4823 * @return signal_identifier 4824 * @note: btstack_type 1 4825 */ 4826 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 4827 return event[7]; 4828 } 4829 4830 /** 4831 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4832 * @param event packet 4833 * @return avdtp_cid 4834 * @note: btstack_type 2 4835 */ 4836 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 4837 return little_endian_read_16(event, 3); 4838 } 4839 /** 4840 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4841 * @param event packet 4842 * @param Pointer to storage for bd_addr 4843 * @note: btstack_type B 4844 */ 4845 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4846 reverse_bytes(&event[5], bd_addr, 6); 4847 } 4848 /** 4849 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4850 * @param event packet 4851 * @return con_handle 4852 * @note: btstack_type 2 4853 */ 4854 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 4855 return little_endian_read_16(event, 11); 4856 } 4857 /** 4858 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4859 * @param event packet 4860 * @return status 4861 * @note: btstack_type 1 4862 */ 4863 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 4864 return event[13]; 4865 } 4866 4867 /** 4868 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 4869 * @param event packet 4870 * @return avdtp_cid 4871 * @note: btstack_type 2 4872 */ 4873 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 4874 return little_endian_read_16(event, 3); 4875 } 4876 4877 /** 4878 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4879 * @param event packet 4880 * @return avdtp_cid 4881 * @note: btstack_type 2 4882 */ 4883 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 4884 return little_endian_read_16(event, 3); 4885 } 4886 /** 4887 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4888 * @param event packet 4889 * @return remote_seid 4890 * @note: btstack_type 1 4891 */ 4892 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 4893 return event[5]; 4894 } 4895 /** 4896 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4897 * @param event packet 4898 * @return in_use 4899 * @note: btstack_type 1 4900 */ 4901 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 4902 return event[6]; 4903 } 4904 /** 4905 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4906 * @param event packet 4907 * @return media_type 4908 * @note: btstack_type 1 4909 */ 4910 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 4911 return event[7]; 4912 } 4913 /** 4914 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4915 * @param event packet 4916 * @return sep_type 4917 * @note: btstack_type 1 4918 */ 4919 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 4920 return event[8]; 4921 } 4922 4923 /** 4924 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4925 * @param event packet 4926 * @return avdtp_cid 4927 * @note: btstack_type 2 4928 */ 4929 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 4930 return little_endian_read_16(event, 3); 4931 } 4932 /** 4933 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4934 * @param event packet 4935 * @return remote_seid 4936 * @note: btstack_type 1 4937 */ 4938 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 4939 return event[5]; 4940 } 4941 /** 4942 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4943 * @param event packet 4944 * @return media_type 4945 * @note: btstack_type 1 4946 */ 4947 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 4948 return event[6]; 4949 } 4950 /** 4951 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4952 * @param event packet 4953 * @return sampling_frequency_bitmap 4954 * @note: btstack_type 1 4955 */ 4956 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 4957 return event[7]; 4958 } 4959 /** 4960 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4961 * @param event packet 4962 * @return channel_mode_bitmap 4963 * @note: btstack_type 1 4964 */ 4965 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 4966 return event[8]; 4967 } 4968 /** 4969 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4970 * @param event packet 4971 * @return block_length_bitmap 4972 * @note: btstack_type 1 4973 */ 4974 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 4975 return event[9]; 4976 } 4977 /** 4978 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4979 * @param event packet 4980 * @return subbands_bitmap 4981 * @note: btstack_type 1 4982 */ 4983 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 4984 return event[10]; 4985 } 4986 /** 4987 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4988 * @param event packet 4989 * @return allocation_method_bitmap 4990 * @note: btstack_type 1 4991 */ 4992 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 4993 return event[11]; 4994 } 4995 /** 4996 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4997 * @param event packet 4998 * @return min_bitpool_value 4999 * @note: btstack_type 1 5000 */ 5001 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 5002 return event[12]; 5003 } 5004 /** 5005 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 5006 * @param event packet 5007 * @return max_bitpool_value 5008 * @note: btstack_type 1 5009 */ 5010 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 5011 return event[13]; 5012 } 5013 5014 /** 5015 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5016 * @param event packet 5017 * @return avdtp_cid 5018 * @note: btstack_type 2 5019 */ 5020 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ 5021 return little_endian_read_16(event, 3); 5022 } 5023 /** 5024 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5025 * @param event packet 5026 * @return remote_seid 5027 * @note: btstack_type 1 5028 */ 5029 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 5030 return event[5]; 5031 } 5032 /** 5033 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5034 * @param event packet 5035 * @return media_type 5036 * @note: btstack_type 1 5037 */ 5038 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 5039 return event[6]; 5040 } 5041 /** 5042 * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5043 * @param event packet 5044 * @return layer_bitmap 5045 * @note: btstack_type 1 5046 */ 5047 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 5048 return event[7]; 5049 } 5050 /** 5051 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5052 * @param event packet 5053 * @return crc 5054 * @note: btstack_type 1 5055 */ 5056 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 5057 return event[8]; 5058 } 5059 /** 5060 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5061 * @param event packet 5062 * @return channel_mode_bitmap 5063 * @note: btstack_type 1 5064 */ 5065 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 5066 return event[9]; 5067 } 5068 /** 5069 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5070 * @param event packet 5071 * @return media_payload_format 5072 * @note: btstack_type 1 5073 */ 5074 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 5075 return event[10]; 5076 } 5077 /** 5078 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5079 * @param event packet 5080 * @return sampling_frequency_bitmap 5081 * @note: btstack_type 1 5082 */ 5083 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 5084 return event[11]; 5085 } 5086 /** 5087 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5088 * @param event packet 5089 * @return vbr 5090 * @note: btstack_type 1 5091 */ 5092 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 5093 return event[12]; 5094 } 5095 /** 5096 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 5097 * @param event packet 5098 * @return bit_rate_index_bitmap 5099 * @note: btstack_type 2 5100 */ 5101 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 5102 return little_endian_read_16(event, 13); 5103 } 5104 5105 /** 5106 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5107 * @param event packet 5108 * @return avdtp_cid 5109 * @note: btstack_type 2 5110 */ 5111 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ 5112 return little_endian_read_16(event, 3); 5113 } 5114 /** 5115 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5116 * @param event packet 5117 * @return remote_seid 5118 * @note: btstack_type 1 5119 */ 5120 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 5121 return event[5]; 5122 } 5123 /** 5124 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5125 * @param event packet 5126 * @return media_type 5127 * @note: btstack_type 1 5128 */ 5129 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 5130 return event[6]; 5131 } 5132 /** 5133 * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5134 * @param event packet 5135 * @return object_type_bitmap 5136 * @note: btstack_type 1 5137 */ 5138 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 5139 return event[7]; 5140 } 5141 /** 5142 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5143 * @param event packet 5144 * @return sampling_frequency_bitmap 5145 * @note: btstack_type 2 5146 */ 5147 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 5148 return little_endian_read_16(event, 8); 5149 } 5150 /** 5151 * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5152 * @param event packet 5153 * @return channels_bitmap 5154 * @note: btstack_type 1 5155 */ 5156 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 5157 return event[10]; 5158 } 5159 /** 5160 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5161 * @param event packet 5162 * @return bit_rate 5163 * @note: btstack_type 3 5164 */ 5165 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 5166 return little_endian_read_24(event, 11); 5167 } 5168 /** 5169 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 5170 * @param event packet 5171 * @return vbr 5172 * @note: btstack_type 1 5173 */ 5174 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 5175 return event[14]; 5176 } 5177 5178 /** 5179 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5180 * @param event packet 5181 * @return avdtp_cid 5182 * @note: btstack_type 2 5183 */ 5184 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ 5185 return little_endian_read_16(event, 3); 5186 } 5187 /** 5188 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5189 * @param event packet 5190 * @return remote_seid 5191 * @note: btstack_type 1 5192 */ 5193 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 5194 return event[5]; 5195 } 5196 /** 5197 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5198 * @param event packet 5199 * @return media_type 5200 * @note: btstack_type 1 5201 */ 5202 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 5203 return event[6]; 5204 } 5205 /** 5206 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5207 * @param event packet 5208 * @return version 5209 * @note: btstack_type 1 5210 */ 5211 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 5212 return event[7]; 5213 } 5214 /** 5215 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5216 * @param event packet 5217 * @return channel_mode_bitmap 5218 * @note: btstack_type 1 5219 */ 5220 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 5221 return event[8]; 5222 } 5223 /** 5224 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5225 * @param event packet 5226 * @return sampling_frequency_bitmap 5227 * @note: btstack_type 1 5228 */ 5229 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 5230 return event[9]; 5231 } 5232 /** 5233 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5234 * @param event packet 5235 * @return vbr 5236 * @note: btstack_type 1 5237 */ 5238 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 5239 return event[10]; 5240 } 5241 /** 5242 * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5243 * @param event packet 5244 * @return bit_rate_index_bitmap 5245 * @note: btstack_type 3 5246 */ 5247 static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 5248 return little_endian_read_24(event, 11); 5249 } 5250 /** 5251 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 5252 * @param event packet 5253 * @return maximum_sul 5254 * @note: btstack_type 2 5255 */ 5256 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 5257 return little_endian_read_16(event, 14); 5258 } 5259 5260 /** 5261 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 5262 * @param event packet 5263 * @return avdtp_cid 5264 * @note: btstack_type 2 5265 */ 5266 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 5267 return little_endian_read_16(event, 3); 5268 } 5269 /** 5270 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 5271 * @param event packet 5272 * @return remote_seid 5273 * @note: btstack_type 1 5274 */ 5275 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 5276 return event[5]; 5277 } 5278 /** 5279 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 5280 * @param event packet 5281 * @return media_type 5282 * @note: btstack_type 1 5283 */ 5284 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 5285 return event[6]; 5286 } 5287 /** 5288 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 5289 * @param event packet 5290 * @return media_codec_type 5291 * @note: btstack_type 2 5292 */ 5293 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 5294 return little_endian_read_16(event, 7); 5295 } 5296 /** 5297 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 5298 * @param event packet 5299 * @return media_codec_information_len 5300 * @note: btstack_type L 5301 */ 5302 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 5303 return little_endian_read_16(event, 9); 5304 } 5305 /** 5306 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 5307 * @param event packet 5308 * @return media_codec_information 5309 * @note: btstack_type V 5310 */ 5311 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 5312 return &event[11]; 5313 } 5314 5315 /** 5316 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 5317 * @param event packet 5318 * @return avdtp_cid 5319 * @note: btstack_type 2 5320 */ 5321 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 5322 return little_endian_read_16(event, 3); 5323 } 5324 /** 5325 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 5326 * @param event packet 5327 * @return remote_seid 5328 * @note: btstack_type 1 5329 */ 5330 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 5331 return event[5]; 5332 } 5333 5334 /** 5335 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 5336 * @param event packet 5337 * @return avdtp_cid 5338 * @note: btstack_type 2 5339 */ 5340 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 5341 return little_endian_read_16(event, 3); 5342 } 5343 /** 5344 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 5345 * @param event packet 5346 * @return remote_seid 5347 * @note: btstack_type 1 5348 */ 5349 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 5350 return event[5]; 5351 } 5352 5353 /** 5354 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 5355 * @param event packet 5356 * @return avdtp_cid 5357 * @note: btstack_type 2 5358 */ 5359 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 5360 return little_endian_read_16(event, 3); 5361 } 5362 /** 5363 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 5364 * @param event packet 5365 * @return remote_seid 5366 * @note: btstack_type 1 5367 */ 5368 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 5369 return event[5]; 5370 } 5371 /** 5372 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 5373 * @param event packet 5374 * @return recovery_type 5375 * @note: btstack_type 1 5376 */ 5377 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 5378 return event[6]; 5379 } 5380 /** 5381 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 5382 * @param event packet 5383 * @return maximum_recovery_window_size 5384 * @note: btstack_type 1 5385 */ 5386 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 5387 return event[7]; 5388 } 5389 /** 5390 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 5391 * @param event packet 5392 * @return maximum_number_media_packets 5393 * @note: btstack_type 1 5394 */ 5395 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 5396 return event[8]; 5397 } 5398 5399 /** 5400 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 5401 * @param event packet 5402 * @return avdtp_cid 5403 * @note: btstack_type 2 5404 */ 5405 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 5406 return little_endian_read_16(event, 3); 5407 } 5408 /** 5409 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 5410 * @param event packet 5411 * @return remote_seid 5412 * @note: btstack_type 1 5413 */ 5414 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 5415 return event[5]; 5416 } 5417 /** 5418 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 5419 * @param event packet 5420 * @return cp_type 5421 * @note: btstack_type 2 5422 */ 5423 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 5424 return little_endian_read_16(event, 6); 5425 } 5426 /** 5427 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 5428 * @param event packet 5429 * @return cp_type_value_len 5430 * @note: btstack_type L 5431 */ 5432 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 5433 return little_endian_read_16(event, 8); 5434 } 5435 /** 5436 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 5437 * @param event packet 5438 * @return cp_type_value 5439 * @note: btstack_type V 5440 */ 5441 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 5442 return &event[10]; 5443 } 5444 5445 /** 5446 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5447 * @param event packet 5448 * @return avdtp_cid 5449 * @note: btstack_type 2 5450 */ 5451 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 5452 return little_endian_read_16(event, 3); 5453 } 5454 /** 5455 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5456 * @param event packet 5457 * @return remote_seid 5458 * @note: btstack_type 1 5459 */ 5460 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 5461 return event[5]; 5462 } 5463 /** 5464 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5465 * @param event packet 5466 * @return fragmentation 5467 * @note: btstack_type 1 5468 */ 5469 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 5470 return event[6]; 5471 } 5472 /** 5473 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5474 * @param event packet 5475 * @return transport_identifiers_num 5476 * @note: btstack_type 1 5477 */ 5478 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 5479 return event[7]; 5480 } 5481 /** 5482 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5483 * @param event packet 5484 * @return transport_session_identifier_1 5485 * @note: btstack_type 1 5486 */ 5487 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 5488 return event[8]; 5489 } 5490 /** 5491 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5492 * @param event packet 5493 * @return transport_session_identifier_2 5494 * @note: btstack_type 1 5495 */ 5496 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 5497 return event[9]; 5498 } 5499 /** 5500 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5501 * @param event packet 5502 * @return transport_session_identifier_3 5503 * @note: btstack_type 1 5504 */ 5505 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 5506 return event[10]; 5507 } 5508 /** 5509 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5510 * @param event packet 5511 * @return tcid_1 5512 * @note: btstack_type 1 5513 */ 5514 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 5515 return event[11]; 5516 } 5517 /** 5518 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5519 * @param event packet 5520 * @return tcid_2 5521 * @note: btstack_type 1 5522 */ 5523 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 5524 return event[12]; 5525 } 5526 /** 5527 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 5528 * @param event packet 5529 * @return tcid_3 5530 * @note: btstack_type 1 5531 */ 5532 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 5533 return event[13]; 5534 } 5535 5536 /** 5537 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 5538 * @param event packet 5539 * @return avdtp_cid 5540 * @note: btstack_type 2 5541 */ 5542 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 5543 return little_endian_read_16(event, 3); 5544 } 5545 /** 5546 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 5547 * @param event packet 5548 * @return remote_seid 5549 * @note: btstack_type 1 5550 */ 5551 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 5552 return event[5]; 5553 } 5554 5555 /** 5556 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 5557 * @param event packet 5558 * @return avdtp_cid 5559 * @note: btstack_type 2 5560 */ 5561 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 5562 return little_endian_read_16(event, 3); 5563 } 5564 /** 5565 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 5566 * @param event packet 5567 * @return remote_seid 5568 * @note: btstack_type 1 5569 */ 5570 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 5571 return event[5]; 5572 } 5573 /** 5574 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 5575 * @param event packet 5576 * @return back_ch 5577 * @note: btstack_type 1 5578 */ 5579 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 5580 return event[6]; 5581 } 5582 /** 5583 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 5584 * @param event packet 5585 * @return media 5586 * @note: btstack_type 1 5587 */ 5588 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 5589 return event[7]; 5590 } 5591 /** 5592 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 5593 * @param event packet 5594 * @return recovery 5595 * @note: btstack_type 1 5596 */ 5597 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 5598 return event[8]; 5599 } 5600 5601 /** 5602 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5603 * @param event packet 5604 * @return avdtp_cid 5605 * @note: btstack_type 2 5606 */ 5607 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 5608 return little_endian_read_16(event, 3); 5609 } 5610 /** 5611 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5612 * @param event packet 5613 * @return remote_seid 5614 * @note: btstack_type 1 5615 */ 5616 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 5617 return event[5]; 5618 } 5619 5620 /** 5621 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5622 * @param event packet 5623 * @return avdtp_cid 5624 * @note: btstack_type 2 5625 */ 5626 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 5627 return little_endian_read_16(event, 3); 5628 } 5629 /** 5630 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5631 * @param event packet 5632 * @return local_seid 5633 * @note: btstack_type 1 5634 */ 5635 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 5636 return event[5]; 5637 } 5638 /** 5639 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5640 * @param event packet 5641 * @return remote_seid 5642 * @note: btstack_type 1 5643 */ 5644 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 5645 return event[6]; 5646 } 5647 /** 5648 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5649 * @param event packet 5650 * @return reconfigure 5651 * @note: btstack_type 1 5652 */ 5653 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 5654 return event[7]; 5655 } 5656 /** 5657 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5658 * @param event packet 5659 * @return media_type 5660 * @note: btstack_type 1 5661 */ 5662 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 5663 return event[8]; 5664 } 5665 /** 5666 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5667 * @param event packet 5668 * @return sampling_frequency 5669 * @note: btstack_type 2 5670 */ 5671 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 5672 return little_endian_read_16(event, 9); 5673 } 5674 /** 5675 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5676 * @param event packet 5677 * @return channel_mode 5678 * @note: btstack_type 1 5679 */ 5680 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 5681 return event[11]; 5682 } 5683 /** 5684 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5685 * @param event packet 5686 * @return num_channels 5687 * @note: btstack_type 1 5688 */ 5689 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 5690 return event[12]; 5691 } 5692 /** 5693 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5694 * @param event packet 5695 * @return block_length 5696 * @note: btstack_type 1 5697 */ 5698 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 5699 return event[13]; 5700 } 5701 /** 5702 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5703 * @param event packet 5704 * @return subbands 5705 * @note: btstack_type 1 5706 */ 5707 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 5708 return event[14]; 5709 } 5710 /** 5711 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5712 * @param event packet 5713 * @return allocation_method 5714 * @note: btstack_type 1 5715 */ 5716 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 5717 return event[15]; 5718 } 5719 /** 5720 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5721 * @param event packet 5722 * @return min_bitpool_value 5723 * @note: btstack_type 1 5724 */ 5725 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 5726 return event[16]; 5727 } 5728 /** 5729 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5730 * @param event packet 5731 * @return max_bitpool_value 5732 * @note: btstack_type 1 5733 */ 5734 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 5735 return event[17]; 5736 } 5737 5738 /** 5739 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5740 * @param event packet 5741 * @return avdtp_cid 5742 * @note: btstack_type 2 5743 */ 5744 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ 5745 return little_endian_read_16(event, 3); 5746 } 5747 /** 5748 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5749 * @param event packet 5750 * @return local_seid 5751 * @note: btstack_type 1 5752 */ 5753 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 5754 return event[5]; 5755 } 5756 /** 5757 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5758 * @param event packet 5759 * @return remote_seid 5760 * @note: btstack_type 1 5761 */ 5762 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 5763 return event[6]; 5764 } 5765 /** 5766 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5767 * @param event packet 5768 * @return reconfigure 5769 * @note: btstack_type 1 5770 */ 5771 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 5772 return event[7]; 5773 } 5774 /** 5775 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5776 * @param event packet 5777 * @return media_type 5778 * @note: btstack_type 1 5779 */ 5780 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 5781 return event[8]; 5782 } 5783 /** 5784 * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5785 * @param event packet 5786 * @return layer 5787 * @note: btstack_type 1 5788 */ 5789 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 5790 return event[9]; 5791 } 5792 /** 5793 * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5794 * @param event packet 5795 * @return crc 5796 * @note: btstack_type 1 5797 */ 5798 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 5799 return event[10]; 5800 } 5801 /** 5802 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5803 * @param event packet 5804 * @return channel_mode 5805 * @note: btstack_type 1 5806 */ 5807 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 5808 return event[11]; 5809 } 5810 /** 5811 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5812 * @param event packet 5813 * @return num_channels 5814 * @note: btstack_type 1 5815 */ 5816 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 5817 return event[12]; 5818 } 5819 /** 5820 * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5821 * @param event packet 5822 * @return media_payload_format 5823 * @note: btstack_type 1 5824 */ 5825 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 5826 return event[13]; 5827 } 5828 /** 5829 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5830 * @param event packet 5831 * @return sampling_frequency 5832 * @note: btstack_type 2 5833 */ 5834 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 5835 return little_endian_read_16(event, 14); 5836 } 5837 /** 5838 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5839 * @param event packet 5840 * @return vbr 5841 * @note: btstack_type 1 5842 */ 5843 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 5844 return event[16]; 5845 } 5846 /** 5847 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 5848 * @param event packet 5849 * @return bit_rate_index 5850 * @note: btstack_type 1 5851 */ 5852 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 5853 return event[17]; 5854 } 5855 5856 /** 5857 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5858 * @param event packet 5859 * @return avdtp_cid 5860 * @note: btstack_type 2 5861 */ 5862 static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ 5863 return little_endian_read_16(event, 3); 5864 } 5865 /** 5866 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5867 * @param event packet 5868 * @return local_seid 5869 * @note: btstack_type 1 5870 */ 5871 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 5872 return event[5]; 5873 } 5874 /** 5875 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5876 * @param event packet 5877 * @return remote_seid 5878 * @note: btstack_type 1 5879 */ 5880 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 5881 return event[6]; 5882 } 5883 /** 5884 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5885 * @param event packet 5886 * @return reconfigure 5887 * @note: btstack_type 1 5888 */ 5889 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 5890 return event[7]; 5891 } 5892 /** 5893 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5894 * @param event packet 5895 * @return media_type 5896 * @note: btstack_type 1 5897 */ 5898 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 5899 return event[8]; 5900 } 5901 /** 5902 * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5903 * @param event packet 5904 * @return object_type 5905 * @note: btstack_type 1 5906 */ 5907 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 5908 return event[9]; 5909 } 5910 /** 5911 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5912 * @param event packet 5913 * @return sampling_frequency 5914 * @note: btstack_type 3 5915 */ 5916 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 5917 return little_endian_read_24(event, 10); 5918 } 5919 /** 5920 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5921 * @param event packet 5922 * @return num_channels 5923 * @note: btstack_type 1 5924 */ 5925 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 5926 return event[13]; 5927 } 5928 /** 5929 * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5930 * @param event packet 5931 * @return bit_rate 5932 * @note: btstack_type 3 5933 */ 5934 static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 5935 return little_endian_read_24(event, 14); 5936 } 5937 /** 5938 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 5939 * @param event packet 5940 * @return vbr 5941 * @note: btstack_type 1 5942 */ 5943 static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 5944 return event[17]; 5945 } 5946 5947 /** 5948 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 5949 * @param event packet 5950 * @return avdtp_cid 5951 * @note: btstack_type 2 5952 */ 5953 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ 5954 return little_endian_read_16(event, 3); 5955 } 5956 /** 5957 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 5958 * @param event packet 5959 * @return local_seid 5960 * @note: btstack_type 1 5961 */ 5962 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 5963 return event[5]; 5964 } 5965 /** 5966 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 5967 * @param event packet 5968 * @return remote_seid 5969 * @note: btstack_type 1 5970 */ 5971 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 5972 return event[6]; 5973 } 5974 /** 5975 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 5976 * @param event packet 5977 * @return reconfigure 5978 * @note: btstack_type 1 5979 */ 5980 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 5981 return event[7]; 5982 } 5983 /** 5984 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 5985 * @param event packet 5986 * @return media_type 5987 * @note: btstack_type 1 5988 */ 5989 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 5990 return event[8]; 5991 } 5992 /** 5993 * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 5994 * @param event packet 5995 * @return version 5996 * @note: btstack_type 1 5997 */ 5998 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 5999 return event[9]; 6000 } 6001 /** 6002 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6003 * @param event packet 6004 * @return channel_mode 6005 * @note: btstack_type 1 6006 */ 6007 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 6008 return event[10]; 6009 } 6010 /** 6011 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6012 * @param event packet 6013 * @return num_channels 6014 * @note: btstack_type 1 6015 */ 6016 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 6017 return event[11]; 6018 } 6019 /** 6020 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6021 * @param event packet 6022 * @return sampling_frequency 6023 * @note: btstack_type 2 6024 */ 6025 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 6026 return little_endian_read_16(event, 12); 6027 } 6028 /** 6029 * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6030 * @param event packet 6031 * @return vbr 6032 * @note: btstack_type 1 6033 */ 6034 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 6035 return event[14]; 6036 } 6037 /** 6038 * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6039 * @param event packet 6040 * @return bit_rate_index 6041 * @note: btstack_type 1 6042 */ 6043 static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 6044 return event[15]; 6045 } 6046 /** 6047 * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6048 * @param event packet 6049 * @return maximum_sul 6050 * @note: btstack_type 2 6051 */ 6052 static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 6053 return little_endian_read_16(event, 16); 6054 } 6055 6056 /** 6057 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6058 * @param event packet 6059 * @return avdtp_cid 6060 * @note: btstack_type 2 6061 */ 6062 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 6063 return little_endian_read_16(event, 3); 6064 } 6065 /** 6066 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6067 * @param event packet 6068 * @return local_seid 6069 * @note: btstack_type 1 6070 */ 6071 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 6072 return event[5]; 6073 } 6074 /** 6075 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6076 * @param event packet 6077 * @return remote_seid 6078 * @note: btstack_type 1 6079 */ 6080 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 6081 return event[6]; 6082 } 6083 /** 6084 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6085 * @param event packet 6086 * @return reconfigure 6087 * @note: btstack_type 1 6088 */ 6089 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 6090 return event[7]; 6091 } 6092 /** 6093 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6094 * @param event packet 6095 * @return media_type 6096 * @note: btstack_type 1 6097 */ 6098 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 6099 return event[8]; 6100 } 6101 /** 6102 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6103 * @param event packet 6104 * @return media_codec_type 6105 * @note: btstack_type 2 6106 */ 6107 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 6108 return little_endian_read_16(event, 9); 6109 } 6110 /** 6111 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6112 * @param event packet 6113 * @return media_codec_information_len 6114 * @note: btstack_type L 6115 */ 6116 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 6117 return little_endian_read_16(event, 11); 6118 } 6119 /** 6120 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6121 * @param event packet 6122 * @return media_codec_information 6123 * @note: btstack_type V 6124 */ 6125 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 6126 return &event[13]; 6127 } 6128 6129 /** 6130 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 6131 * @param event packet 6132 * @return avdtp_cid 6133 * @note: btstack_type 2 6134 */ 6135 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 6136 return little_endian_read_16(event, 3); 6137 } 6138 /** 6139 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 6140 * @param event packet 6141 * @param Pointer to storage for bd_addr 6142 * @note: btstack_type B 6143 */ 6144 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6145 reverse_bytes(&event[5], bd_addr, 6); 6146 } 6147 /** 6148 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 6149 * @param event packet 6150 * @return local_seid 6151 * @note: btstack_type 1 6152 */ 6153 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 6154 return event[11]; 6155 } 6156 /** 6157 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 6158 * @param event packet 6159 * @return remote_seid 6160 * @note: btstack_type 1 6161 */ 6162 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 6163 return event[12]; 6164 } 6165 /** 6166 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 6167 * @param event packet 6168 * @return status 6169 * @note: btstack_type 1 6170 */ 6171 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 6172 return event[13]; 6173 } 6174 6175 /** 6176 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 6177 * @param event packet 6178 * @return avdtp_cid 6179 * @note: btstack_type 2 6180 */ 6181 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 6182 return little_endian_read_16(event, 3); 6183 } 6184 /** 6185 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 6186 * @param event packet 6187 * @return local_seid 6188 * @note: btstack_type 1 6189 */ 6190 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 6191 return event[5]; 6192 } 6193 6194 /** 6195 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 6196 * @param event packet 6197 * @return avdtp_cid 6198 * @note: btstack_type 2 6199 */ 6200 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 6201 return little_endian_read_16(event, 3); 6202 } 6203 /** 6204 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 6205 * @param event packet 6206 * @return local_seid 6207 * @note: btstack_type 1 6208 */ 6209 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 6210 return event[5]; 6211 } 6212 /** 6213 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 6214 * @param event packet 6215 * @return sequence_number 6216 * @note: btstack_type 2 6217 */ 6218 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 6219 return little_endian_read_16(event, 6); 6220 } 6221 6222 /** 6223 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 6224 * @param event packet 6225 * @return avdtp_cid 6226 * @note: btstack_type 2 6227 */ 6228 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 6229 return little_endian_read_16(event, 3); 6230 } 6231 6232 /** 6233 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 6234 * @param event packet 6235 * @return avdtp_cid 6236 * @note: btstack_type 2 6237 */ 6238 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 6239 return little_endian_read_16(event, 3); 6240 } 6241 /** 6242 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 6243 * @param event packet 6244 * @return local_seid 6245 * @note: btstack_type 1 6246 */ 6247 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 6248 return event[5]; 6249 } 6250 /** 6251 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 6252 * @param event packet 6253 * @return delay_100us 6254 * @note: btstack_type 2 6255 */ 6256 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 6257 return little_endian_read_16(event, 6); 6258 } 6259 6260 /** 6261 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 6262 * @param event packet 6263 * @return a2dp_cid 6264 * @note: btstack_type 2 6265 */ 6266 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 6267 return little_endian_read_16(event, 3); 6268 } 6269 /** 6270 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 6271 * @param event packet 6272 * @return local_seid 6273 * @note: btstack_type 1 6274 */ 6275 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 6276 return event[5]; 6277 } 6278 6279 /** 6280 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6281 * @param event packet 6282 * @return a2dp_cid 6283 * @note: btstack_type 2 6284 */ 6285 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 6286 return little_endian_read_16(event, 3); 6287 } 6288 /** 6289 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6290 * @param event packet 6291 * @return local_seid 6292 * @note: btstack_type 1 6293 */ 6294 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 6295 return event[5]; 6296 } 6297 /** 6298 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6299 * @param event packet 6300 * @return remote_seid 6301 * @note: btstack_type 1 6302 */ 6303 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 6304 return event[6]; 6305 } 6306 /** 6307 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6308 * @param event packet 6309 * @return reconfigure 6310 * @note: btstack_type 1 6311 */ 6312 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 6313 return event[7]; 6314 } 6315 /** 6316 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6317 * @param event packet 6318 * @return media_type 6319 * @note: btstack_type 1 6320 */ 6321 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 6322 return event[8]; 6323 } 6324 /** 6325 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6326 * @param event packet 6327 * @return sampling_frequency 6328 * @note: btstack_type 2 6329 */ 6330 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 6331 return little_endian_read_16(event, 9); 6332 } 6333 /** 6334 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6335 * @param event packet 6336 * @return channel_mode 6337 * @note: btstack_type 1 6338 */ 6339 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 6340 return event[11]; 6341 } 6342 /** 6343 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6344 * @param event packet 6345 * @return num_channels 6346 * @note: btstack_type 1 6347 */ 6348 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 6349 return event[12]; 6350 } 6351 /** 6352 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6353 * @param event packet 6354 * @return block_length 6355 * @note: btstack_type 1 6356 */ 6357 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 6358 return event[13]; 6359 } 6360 /** 6361 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6362 * @param event packet 6363 * @return subbands 6364 * @note: btstack_type 1 6365 */ 6366 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 6367 return event[14]; 6368 } 6369 /** 6370 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6371 * @param event packet 6372 * @return allocation_method 6373 * @note: btstack_type 1 6374 */ 6375 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 6376 return event[15]; 6377 } 6378 /** 6379 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6380 * @param event packet 6381 * @return min_bitpool_value 6382 * @note: btstack_type 1 6383 */ 6384 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 6385 return event[16]; 6386 } 6387 /** 6388 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 6389 * @param event packet 6390 * @return max_bitpool_value 6391 * @note: btstack_type 1 6392 */ 6393 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 6394 return event[17]; 6395 } 6396 6397 /** 6398 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6399 * @param event packet 6400 * @return a2dp_cid 6401 * @note: btstack_type 2 6402 */ 6403 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_a2dp_cid(const uint8_t * event){ 6404 return little_endian_read_16(event, 3); 6405 } 6406 /** 6407 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6408 * @param event packet 6409 * @return local_seid 6410 * @note: btstack_type 1 6411 */ 6412 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ 6413 return event[5]; 6414 } 6415 /** 6416 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6417 * @param event packet 6418 * @return remote_seid 6419 * @note: btstack_type 1 6420 */ 6421 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ 6422 return event[6]; 6423 } 6424 /** 6425 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6426 * @param event packet 6427 * @return reconfigure 6428 * @note: btstack_type 1 6429 */ 6430 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ 6431 return event[7]; 6432 } 6433 /** 6434 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6435 * @param event packet 6436 * @return media_type 6437 * @note: btstack_type 1 6438 */ 6439 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ 6440 return event[8]; 6441 } 6442 /** 6443 * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6444 * @param event packet 6445 * @return layer 6446 * @note: btstack_type 1 6447 */ 6448 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ 6449 return event[9]; 6450 } 6451 /** 6452 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6453 * @param event packet 6454 * @return crc 6455 * @note: btstack_type 1 6456 */ 6457 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ 6458 return event[10]; 6459 } 6460 /** 6461 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6462 * @param event packet 6463 * @return channel_mode 6464 * @note: btstack_type 1 6465 */ 6466 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ 6467 return event[11]; 6468 } 6469 /** 6470 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6471 * @param event packet 6472 * @return num_channels 6473 * @note: btstack_type 1 6474 */ 6475 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ 6476 return event[12]; 6477 } 6478 /** 6479 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6480 * @param event packet 6481 * @return media_payload_format 6482 * @note: btstack_type 1 6483 */ 6484 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ 6485 return event[13]; 6486 } 6487 /** 6488 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6489 * @param event packet 6490 * @return sampling_frequency 6491 * @note: btstack_type 2 6492 */ 6493 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ 6494 return little_endian_read_16(event, 14); 6495 } 6496 /** 6497 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6498 * @param event packet 6499 * @return vbr 6500 * @note: btstack_type 1 6501 */ 6502 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ 6503 return event[16]; 6504 } 6505 /** 6506 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 6507 * @param event packet 6508 * @return bit_rate_index 6509 * @note: btstack_type 1 6510 */ 6511 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ 6512 return event[17]; 6513 } 6514 6515 /** 6516 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6517 * @param event packet 6518 * @return a2dp_cid 6519 * @note: btstack_type 2 6520 */ 6521 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_a2dp_cid(const uint8_t * event){ 6522 return little_endian_read_16(event, 3); 6523 } 6524 /** 6525 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6526 * @param event packet 6527 * @return local_seid 6528 * @note: btstack_type 1 6529 */ 6530 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ 6531 return event[5]; 6532 } 6533 /** 6534 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6535 * @param event packet 6536 * @return remote_seid 6537 * @note: btstack_type 1 6538 */ 6539 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ 6540 return event[6]; 6541 } 6542 /** 6543 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6544 * @param event packet 6545 * @return reconfigure 6546 * @note: btstack_type 1 6547 */ 6548 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ 6549 return event[7]; 6550 } 6551 /** 6552 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6553 * @param event packet 6554 * @return media_type 6555 * @note: btstack_type 1 6556 */ 6557 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ 6558 return event[8]; 6559 } 6560 /** 6561 * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6562 * @param event packet 6563 * @return object_type 6564 * @note: btstack_type 1 6565 */ 6566 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ 6567 return event[9]; 6568 } 6569 /** 6570 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6571 * @param event packet 6572 * @return sampling_frequency 6573 * @note: btstack_type 3 6574 */ 6575 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ 6576 return little_endian_read_24(event, 10); 6577 } 6578 /** 6579 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6580 * @param event packet 6581 * @return num_channels 6582 * @note: btstack_type 1 6583 */ 6584 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ 6585 return event[13]; 6586 } 6587 /** 6588 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6589 * @param event packet 6590 * @return bit_rate 6591 * @note: btstack_type 3 6592 */ 6593 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ 6594 return little_endian_read_24(event, 14); 6595 } 6596 /** 6597 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 6598 * @param event packet 6599 * @return vbr 6600 * @note: btstack_type 1 6601 */ 6602 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ 6603 return event[17]; 6604 } 6605 6606 /** 6607 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6608 * @param event packet 6609 * @return a2dp_cid 6610 * @note: btstack_type 2 6611 */ 6612 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_a2dp_cid(const uint8_t * event){ 6613 return little_endian_read_16(event, 3); 6614 } 6615 /** 6616 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6617 * @param event packet 6618 * @return local_seid 6619 * @note: btstack_type 1 6620 */ 6621 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ 6622 return event[5]; 6623 } 6624 /** 6625 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6626 * @param event packet 6627 * @return remote_seid 6628 * @note: btstack_type 1 6629 */ 6630 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ 6631 return event[6]; 6632 } 6633 /** 6634 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6635 * @param event packet 6636 * @return reconfigure 6637 * @note: btstack_type 1 6638 */ 6639 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ 6640 return event[7]; 6641 } 6642 /** 6643 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6644 * @param event packet 6645 * @return media_type 6646 * @note: btstack_type 1 6647 */ 6648 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ 6649 return event[8]; 6650 } 6651 /** 6652 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6653 * @param event packet 6654 * @return version 6655 * @note: btstack_type 1 6656 */ 6657 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ 6658 return event[9]; 6659 } 6660 /** 6661 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6662 * @param event packet 6663 * @return channel_mode 6664 * @note: btstack_type 1 6665 */ 6666 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ 6667 return event[10]; 6668 } 6669 /** 6670 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6671 * @param event packet 6672 * @return num_channels 6673 * @note: btstack_type 1 6674 */ 6675 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ 6676 return event[11]; 6677 } 6678 /** 6679 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6680 * @param event packet 6681 * @return sampling_frequency 6682 * @note: btstack_type 2 6683 */ 6684 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ 6685 return little_endian_read_16(event, 12); 6686 } 6687 /** 6688 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6689 * @param event packet 6690 * @return vbr 6691 * @note: btstack_type 1 6692 */ 6693 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ 6694 return event[14]; 6695 } 6696 /** 6697 * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6698 * @param event packet 6699 * @return bit_rate_index 6700 * @note: btstack_type 1 6701 */ 6702 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ 6703 return event[15]; 6704 } 6705 /** 6706 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 6707 * @param event packet 6708 * @return maximum_sul 6709 * @note: btstack_type 2 6710 */ 6711 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ 6712 return little_endian_read_16(event, 16); 6713 } 6714 6715 /** 6716 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6717 * @param event packet 6718 * @return a2dp_cid 6719 * @note: btstack_type 2 6720 */ 6721 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 6722 return little_endian_read_16(event, 3); 6723 } 6724 /** 6725 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6726 * @param event packet 6727 * @return local_seid 6728 * @note: btstack_type 1 6729 */ 6730 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 6731 return event[5]; 6732 } 6733 /** 6734 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6735 * @param event packet 6736 * @return remote_seid 6737 * @note: btstack_type 1 6738 */ 6739 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 6740 return event[6]; 6741 } 6742 /** 6743 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6744 * @param event packet 6745 * @return reconfigure 6746 * @note: btstack_type 1 6747 */ 6748 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 6749 return event[7]; 6750 } 6751 /** 6752 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6753 * @param event packet 6754 * @return media_type 6755 * @note: btstack_type 1 6756 */ 6757 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 6758 return event[8]; 6759 } 6760 /** 6761 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6762 * @param event packet 6763 * @return media_codec_type 6764 * @note: btstack_type 2 6765 */ 6766 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 6767 return little_endian_read_16(event, 9); 6768 } 6769 /** 6770 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6771 * @param event packet 6772 * @return media_codec_information_len 6773 * @note: btstack_type L 6774 */ 6775 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 6776 return little_endian_read_16(event, 11); 6777 } 6778 /** 6779 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 6780 * @param event packet 6781 * @return media_codec_information 6782 * @note: btstack_type V 6783 */ 6784 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 6785 return &event[13]; 6786 } 6787 6788 /** 6789 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 6790 * @param event packet 6791 * @return a2dp_cid 6792 * @note: btstack_type 2 6793 */ 6794 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 6795 return little_endian_read_16(event, 3); 6796 } 6797 /** 6798 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 6799 * @param event packet 6800 * @param Pointer to storage for bd_addr 6801 * @note: btstack_type B 6802 */ 6803 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6804 reverse_bytes(&event[5], bd_addr, 6); 6805 } 6806 /** 6807 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 6808 * @param event packet 6809 * @return local_seid 6810 * @note: btstack_type 1 6811 */ 6812 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 6813 return event[11]; 6814 } 6815 /** 6816 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 6817 * @param event packet 6818 * @return remote_seid 6819 * @note: btstack_type 1 6820 */ 6821 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 6822 return event[12]; 6823 } 6824 /** 6825 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 6826 * @param event packet 6827 * @return status 6828 * @note: btstack_type 1 6829 */ 6830 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 6831 return event[13]; 6832 } 6833 6834 /** 6835 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 6836 * @param event packet 6837 * @return a2dp_cid 6838 * @note: btstack_type 2 6839 */ 6840 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 6841 return little_endian_read_16(event, 3); 6842 } 6843 /** 6844 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 6845 * @param event packet 6846 * @return local_seid 6847 * @note: btstack_type 1 6848 */ 6849 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 6850 return event[5]; 6851 } 6852 6853 /** 6854 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 6855 * @param event packet 6856 * @return a2dp_cid 6857 * @note: btstack_type 2 6858 */ 6859 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 6860 return little_endian_read_16(event, 3); 6861 } 6862 /** 6863 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 6864 * @param event packet 6865 * @return local_seid 6866 * @note: btstack_type 1 6867 */ 6868 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 6869 return event[5]; 6870 } 6871 6872 /** 6873 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 6874 * @param event packet 6875 * @return a2dp_cid 6876 * @note: btstack_type 2 6877 */ 6878 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 6879 return little_endian_read_16(event, 3); 6880 } 6881 /** 6882 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 6883 * @param event packet 6884 * @return local_seid 6885 * @note: btstack_type 1 6886 */ 6887 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 6888 return event[5]; 6889 } 6890 6891 /** 6892 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 6893 * @param event packet 6894 * @return a2dp_cid 6895 * @note: btstack_type 2 6896 */ 6897 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 6898 return little_endian_read_16(event, 3); 6899 } 6900 /** 6901 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 6902 * @param event packet 6903 * @return local_seid 6904 * @note: btstack_type 1 6905 */ 6906 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 6907 return event[5]; 6908 } 6909 6910 /** 6911 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 6912 * @param event packet 6913 * @return a2dp_cid 6914 * @note: btstack_type 2 6915 */ 6916 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 6917 return little_endian_read_16(event, 3); 6918 } 6919 /** 6920 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 6921 * @param event packet 6922 * @return local_seid 6923 * @note: btstack_type 1 6924 */ 6925 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 6926 return event[5]; 6927 } 6928 /** 6929 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 6930 * @param event packet 6931 * @return signal_identifier 6932 * @note: btstack_type 1 6933 */ 6934 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 6935 return event[6]; 6936 } 6937 6938 /** 6939 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 6940 * @param event packet 6941 * @return a2dp_cid 6942 * @note: btstack_type 2 6943 */ 6944 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 6945 return little_endian_read_16(event, 3); 6946 } 6947 /** 6948 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 6949 * @param event packet 6950 * @return local_seid 6951 * @note: btstack_type 1 6952 */ 6953 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 6954 return event[5]; 6955 } 6956 /** 6957 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 6958 * @param event packet 6959 * @return signal_identifier 6960 * @note: btstack_type 1 6961 */ 6962 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 6963 return event[6]; 6964 } 6965 6966 /** 6967 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 6968 * @param event packet 6969 * @return a2dp_cid 6970 * @note: btstack_type 2 6971 */ 6972 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 6973 return little_endian_read_16(event, 3); 6974 } 6975 /** 6976 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 6977 * @param event packet 6978 * @param Pointer to storage for bd_addr 6979 * @note: btstack_type B 6980 */ 6981 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6982 reverse_bytes(&event[5], bd_addr, 6); 6983 } 6984 /** 6985 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 6986 * @param event packet 6987 * @return con_handle 6988 * @note: btstack_type 2 6989 */ 6990 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 6991 return little_endian_read_16(event, 11); 6992 } 6993 /** 6994 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 6995 * @param event packet 6996 * @return status 6997 * @note: btstack_type 1 6998 */ 6999 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 7000 return event[13]; 7001 } 7002 7003 /** 7004 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 7005 * @param event packet 7006 * @return a2dp_cid 7007 * @note: btstack_type 2 7008 */ 7009 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 7010 return little_endian_read_16(event, 3); 7011 } 7012 7013 /** 7014 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 7015 * @param event packet 7016 * @return a2dp_cid 7017 * @note: btstack_type 2 7018 */ 7019 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 7020 return little_endian_read_16(event, 3); 7021 } 7022 /** 7023 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 7024 * @param event packet 7025 * @return local_seid 7026 * @note: btstack_type 1 7027 */ 7028 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 7029 return event[5]; 7030 } 7031 /** 7032 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 7033 * @param event packet 7034 * @return status 7035 * @note: btstack_type 1 7036 */ 7037 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 7038 return event[6]; 7039 } 7040 7041 /** 7042 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7043 * @param event packet 7044 * @return a2dp_cid 7045 * @note: btstack_type 2 7046 */ 7047 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_a2dp_cid(const uint8_t * event){ 7048 return little_endian_read_16(event, 3); 7049 } 7050 /** 7051 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7052 * @param event packet 7053 * @return remote_seid 7054 * @note: btstack_type 1 7055 */ 7056 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 7057 return event[5]; 7058 } 7059 /** 7060 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7061 * @param event packet 7062 * @return media_type 7063 * @note: btstack_type 1 7064 */ 7065 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 7066 return event[6]; 7067 } 7068 /** 7069 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7070 * @param event packet 7071 * @return sampling_frequency_bitmap 7072 * @note: btstack_type 1 7073 */ 7074 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7075 return event[7]; 7076 } 7077 /** 7078 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7079 * @param event packet 7080 * @return channel_mode_bitmap 7081 * @note: btstack_type 1 7082 */ 7083 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 7084 return event[8]; 7085 } 7086 /** 7087 * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7088 * @param event packet 7089 * @return block_length_bitmap 7090 * @note: btstack_type 1 7091 */ 7092 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 7093 return event[9]; 7094 } 7095 /** 7096 * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7097 * @param event packet 7098 * @return subbands_bitmap 7099 * @note: btstack_type 1 7100 */ 7101 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 7102 return event[10]; 7103 } 7104 /** 7105 * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7106 * @param event packet 7107 * @return allocation_method_bitmap 7108 * @note: btstack_type 1 7109 */ 7110 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 7111 return event[11]; 7112 } 7113 /** 7114 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7115 * @param event packet 7116 * @return min_bitpool_value 7117 * @note: btstack_type 1 7118 */ 7119 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 7120 return event[12]; 7121 } 7122 /** 7123 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 7124 * @param event packet 7125 * @return max_bitpool_value 7126 * @note: btstack_type 1 7127 */ 7128 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 7129 return event[13]; 7130 } 7131 7132 /** 7133 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7134 * @param event packet 7135 * @return a2dp_cid 7136 * @note: btstack_type 2 7137 */ 7138 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_a2dp_cid(const uint8_t * event){ 7139 return little_endian_read_16(event, 3); 7140 } 7141 /** 7142 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7143 * @param event packet 7144 * @return remote_seid 7145 * @note: btstack_type 1 7146 */ 7147 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ 7148 return event[5]; 7149 } 7150 /** 7151 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7152 * @param event packet 7153 * @return media_type 7154 * @note: btstack_type 1 7155 */ 7156 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ 7157 return event[6]; 7158 } 7159 /** 7160 * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7161 * @param event packet 7162 * @return layer_bitmap 7163 * @note: btstack_type 1 7164 */ 7165 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ 7166 return event[7]; 7167 } 7168 /** 7169 * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7170 * @param event packet 7171 * @return crc 7172 * @note: btstack_type 1 7173 */ 7174 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ 7175 return event[8]; 7176 } 7177 /** 7178 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7179 * @param event packet 7180 * @return channel_mode_bitmap 7181 * @note: btstack_type 1 7182 */ 7183 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ 7184 return event[9]; 7185 } 7186 /** 7187 * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7188 * @param event packet 7189 * @return media_payload_format 7190 * @note: btstack_type 1 7191 */ 7192 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ 7193 return event[10]; 7194 } 7195 /** 7196 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7197 * @param event packet 7198 * @return sampling_frequency_bitmap 7199 * @note: btstack_type 1 7200 */ 7201 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7202 return event[11]; 7203 } 7204 /** 7205 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7206 * @param event packet 7207 * @return vbr 7208 * @note: btstack_type 1 7209 */ 7210 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ 7211 return event[12]; 7212 } 7213 /** 7214 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 7215 * @param event packet 7216 * @return bit_rate_index_bitmap 7217 * @note: btstack_type 2 7218 */ 7219 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 7220 return little_endian_read_16(event, 13); 7221 } 7222 7223 /** 7224 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7225 * @param event packet 7226 * @return a2dp_cid 7227 * @note: btstack_type 2 7228 */ 7229 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_a2dp_cid(const uint8_t * event){ 7230 return little_endian_read_16(event, 3); 7231 } 7232 /** 7233 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7234 * @param event packet 7235 * @return remote_seid 7236 * @note: btstack_type 1 7237 */ 7238 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ 7239 return event[5]; 7240 } 7241 /** 7242 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7243 * @param event packet 7244 * @return media_type 7245 * @note: btstack_type 1 7246 */ 7247 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ 7248 return event[6]; 7249 } 7250 /** 7251 * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7252 * @param event packet 7253 * @return object_type_bitmap 7254 * @note: btstack_type 1 7255 */ 7256 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ 7257 return event[7]; 7258 } 7259 /** 7260 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7261 * @param event packet 7262 * @return sampling_frequency_bitmap 7263 * @note: btstack_type 2 7264 */ 7265 static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7266 return little_endian_read_16(event, 8); 7267 } 7268 /** 7269 * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7270 * @param event packet 7271 * @return channels_bitmap 7272 * @note: btstack_type 1 7273 */ 7274 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ 7275 return event[10]; 7276 } 7277 /** 7278 * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7279 * @param event packet 7280 * @return bit_rate 7281 * @note: btstack_type 3 7282 */ 7283 static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ 7284 return little_endian_read_24(event, 11); 7285 } 7286 /** 7287 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 7288 * @param event packet 7289 * @return vbr 7290 * @note: btstack_type 1 7291 */ 7292 static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ 7293 return event[14]; 7294 } 7295 7296 /** 7297 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7298 * @param event packet 7299 * @return a2dp_cid 7300 * @note: btstack_type 2 7301 */ 7302 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_a2dp_cid(const uint8_t * event){ 7303 return little_endian_read_16(event, 3); 7304 } 7305 /** 7306 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7307 * @param event packet 7308 * @return remote_seid 7309 * @note: btstack_type 1 7310 */ 7311 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ 7312 return event[5]; 7313 } 7314 /** 7315 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7316 * @param event packet 7317 * @return media_type 7318 * @note: btstack_type 1 7319 */ 7320 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ 7321 return event[6]; 7322 } 7323 /** 7324 * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7325 * @param event packet 7326 * @return version 7327 * @note: btstack_type 1 7328 */ 7329 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ 7330 return event[7]; 7331 } 7332 /** 7333 * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7334 * @param event packet 7335 * @return channel_mode_bitmap 7336 * @note: btstack_type 1 7337 */ 7338 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ 7339 return event[8]; 7340 } 7341 /** 7342 * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7343 * @param event packet 7344 * @return sampling_frequency_bitmap 7345 * @note: btstack_type 1 7346 */ 7347 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 7348 return event[9]; 7349 } 7350 /** 7351 * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7352 * @param event packet 7353 * @return vbr 7354 * @note: btstack_type 1 7355 */ 7356 static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ 7357 return event[10]; 7358 } 7359 /** 7360 * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7361 * @param event packet 7362 * @return bit_rate_index_bitmap 7363 * @note: btstack_type 3 7364 */ 7365 static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ 7366 return little_endian_read_24(event, 11); 7367 } 7368 /** 7369 * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 7370 * @param event packet 7371 * @return maximum_sul 7372 * @note: btstack_type 2 7373 */ 7374 static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ 7375 return little_endian_read_16(event, 14); 7376 } 7377 7378 /** 7379 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7380 * @param event packet 7381 * @return a2dp_cid 7382 * @note: btstack_type 2 7383 */ 7384 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_a2dp_cid(const uint8_t * event){ 7385 return little_endian_read_16(event, 3); 7386 } 7387 /** 7388 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7389 * @param event packet 7390 * @return remote_seid 7391 * @note: btstack_type 1 7392 */ 7393 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 7394 return event[5]; 7395 } 7396 /** 7397 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7398 * @param event packet 7399 * @return media_type 7400 * @note: btstack_type 1 7401 */ 7402 static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 7403 return event[6]; 7404 } 7405 /** 7406 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7407 * @param event packet 7408 * @return media_codec_type 7409 * @note: btstack_type 2 7410 */ 7411 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 7412 return little_endian_read_16(event, 7); 7413 } 7414 /** 7415 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7416 * @param event packet 7417 * @return media_codec_information_len 7418 * @note: btstack_type L 7419 */ 7420 static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 7421 return little_endian_read_16(event, 9); 7422 } 7423 /** 7424 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 7425 * @param event packet 7426 * @return media_codec_information 7427 * @note: btstack_type V 7428 */ 7429 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 7430 return &event[11]; 7431 } 7432 7433 /** 7434 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 7435 * @param event packet 7436 * @return a2dp_cid 7437 * @note: btstack_type 2 7438 */ 7439 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_a2dp_cid(const uint8_t * event){ 7440 return little_endian_read_16(event, 3); 7441 } 7442 /** 7443 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 7444 * @param event packet 7445 * @return remote_seid 7446 * @note: btstack_type 1 7447 */ 7448 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 7449 return event[5]; 7450 } 7451 7452 /** 7453 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 7454 * @param event packet 7455 * @return a2dp_cid 7456 * @note: btstack_type 2 7457 */ 7458 static inline uint16_t a2dp_subevent_signaling_delay_report_get_a2dp_cid(const uint8_t * event){ 7459 return little_endian_read_16(event, 3); 7460 } 7461 /** 7462 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 7463 * @param event packet 7464 * @return local_seid 7465 * @note: btstack_type 1 7466 */ 7467 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 7468 return event[5]; 7469 } 7470 /** 7471 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 7472 * @param event packet 7473 * @return delay_100us 7474 * @note: btstack_type 2 7475 */ 7476 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 7477 return little_endian_read_16(event, 6); 7478 } 7479 7480 /** 7481 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 7482 * @param event packet 7483 * @return a2dp_cid 7484 * @note: btstack_type 2 7485 */ 7486 static inline uint16_t a2dp_subevent_signaling_capabilities_done_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_CAPABILITIES_DONE 7491 * @param event packet 7492 * @return remote_seid 7493 * @note: btstack_type 1 7494 */ 7495 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 7496 return event[5]; 7497 } 7498 7499 /** 7500 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 7501 * @param event packet 7502 * @return a2dp_cid 7503 * @note: btstack_type 2 7504 */ 7505 static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_a2dp_cid(const uint8_t * event){ 7506 return little_endian_read_16(event, 3); 7507 } 7508 7509 /** 7510 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 7511 * @param event packet 7512 * @return avrcp_cid 7513 * @note: btstack_type 2 7514 */ 7515 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 7516 return little_endian_read_16(event, 3); 7517 } 7518 /** 7519 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 7520 * @param event packet 7521 * @return command_type 7522 * @note: btstack_type 1 7523 */ 7524 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 7525 return event[5]; 7526 } 7527 /** 7528 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 7529 * @param event packet 7530 * @return play_status 7531 * @note: btstack_type 1 7532 */ 7533 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 7534 return event[6]; 7535 } 7536 7537 /** 7538 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 7539 * @param event packet 7540 * @return avrcp_cid 7541 * @note: btstack_type 2 7542 */ 7543 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 7544 return little_endian_read_16(event, 3); 7545 } 7546 /** 7547 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 7548 * @param event packet 7549 * @return command_type 7550 * @note: btstack_type 1 7551 */ 7552 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 7553 return event[5]; 7554 } 7555 7556 /** 7557 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 7558 * @param event packet 7559 * @return avrcp_cid 7560 * @note: btstack_type 2 7561 */ 7562 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 7563 return little_endian_read_16(event, 3); 7564 } 7565 /** 7566 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 7567 * @param event packet 7568 * @return command_type 7569 * @note: btstack_type 1 7570 */ 7571 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 7572 return event[5]; 7573 } 7574 7575 /** 7576 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 7577 * @param event packet 7578 * @return avrcp_cid 7579 * @note: btstack_type 2 7580 */ 7581 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){ 7582 return little_endian_read_16(event, 3); 7583 } 7584 /** 7585 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 7586 * @param event packet 7587 * @return command_type 7588 * @note: btstack_type 1 7589 */ 7590 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 7591 return event[5]; 7592 } 7593 7594 /** 7595 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 7596 * @param event packet 7597 * @return avrcp_cid 7598 * @note: btstack_type 2 7599 */ 7600 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 7601 return little_endian_read_16(event, 3); 7602 } 7603 /** 7604 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 7605 * @param event packet 7606 * @return command_type 7607 * @note: btstack_type 1 7608 */ 7609 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 7610 return event[5]; 7611 } 7612 /** 7613 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 7614 * @param event packet 7615 * @return playback_position 7616 * @note: btstack_type 4 7617 */ 7618 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 7619 return little_endian_read_32(event, 6); 7620 } 7621 7622 /** 7623 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 7624 * @param event packet 7625 * @return avrcp_cid 7626 * @note: btstack_type 2 7627 */ 7628 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 7629 return little_endian_read_16(event, 3); 7630 } 7631 /** 7632 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 7633 * @param event packet 7634 * @return command_type 7635 * @note: btstack_type 1 7636 */ 7637 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 7638 return event[5]; 7639 } 7640 /** 7641 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 7642 * @param event packet 7643 * @return battery_status 7644 * @note: btstack_type 1 7645 */ 7646 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 7647 return event[6]; 7648 } 7649 7650 /** 7651 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 7652 * @param event packet 7653 * @return avrcp_cid 7654 * @note: btstack_type 2 7655 */ 7656 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 7657 return little_endian_read_16(event, 3); 7658 } 7659 /** 7660 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 7661 * @param event packet 7662 * @return command_type 7663 * @note: btstack_type 1 7664 */ 7665 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 7666 return event[5]; 7667 } 7668 /** 7669 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 7670 * @param event packet 7671 * @return system_status 7672 * @note: btstack_type 1 7673 */ 7674 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 7675 return event[6]; 7676 } 7677 7678 /** 7679 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 7680 * @param event packet 7681 * @return avrcp_cid 7682 * @note: btstack_type 2 7683 */ 7684 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 7685 return little_endian_read_16(event, 3); 7686 } 7687 /** 7688 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 7689 * @param event packet 7690 * @return command_type 7691 * @note: btstack_type 1 7692 */ 7693 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 7694 return event[5]; 7695 } 7696 7697 /** 7698 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 7699 * @param event packet 7700 * @return avrcp_cid 7701 * @note: btstack_type 2 7702 */ 7703 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 7704 return little_endian_read_16(event, 3); 7705 } 7706 /** 7707 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 7708 * @param event packet 7709 * @return command_type 7710 * @note: btstack_type 1 7711 */ 7712 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 7713 return event[5]; 7714 } 7715 7716 /** 7717 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 7718 * @param event packet 7719 * @return avrcp_cid 7720 * @note: btstack_type 2 7721 */ 7722 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 7723 return little_endian_read_16(event, 3); 7724 } 7725 /** 7726 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 7727 * @param event packet 7728 * @return command_type 7729 * @note: btstack_type 1 7730 */ 7731 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 7732 return event[5]; 7733 } 7734 /** 7735 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 7736 * @param event packet 7737 * @return uid_counter 7738 * @note: btstack_type 2 7739 */ 7740 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 7741 return little_endian_read_16(event, 6); 7742 } 7743 7744 /** 7745 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 7746 * @param event packet 7747 * @return avrcp_cid 7748 * @note: btstack_type 2 7749 */ 7750 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 7751 return little_endian_read_16(event, 3); 7752 } 7753 /** 7754 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 7755 * @param event packet 7756 * @return command_type 7757 * @note: btstack_type 1 7758 */ 7759 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 7760 return event[5]; 7761 } 7762 /** 7763 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 7764 * @param event packet 7765 * @return absolute_volume 7766 * @note: btstack_type 1 7767 */ 7768 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 7769 return event[6]; 7770 } 7771 7772 /** 7773 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 7774 * @param event packet 7775 * @return avrcp_cid 7776 * @note: btstack_type 2 7777 */ 7778 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 7779 return little_endian_read_16(event, 3); 7780 } 7781 /** 7782 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 7783 * @param event packet 7784 * @return command_type 7785 * @note: btstack_type 1 7786 */ 7787 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 7788 return event[5]; 7789 } 7790 /** 7791 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 7792 * @param event packet 7793 * @return absolute_volume 7794 * @note: btstack_type 1 7795 */ 7796 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 7797 return event[6]; 7798 } 7799 7800 /** 7801 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 7802 * @param event packet 7803 * @return avrcp_cid 7804 * @note: btstack_type 2 7805 */ 7806 static inline uint16_t avrcp_subevent_enable_notification_complete_get_avrcp_cid(const uint8_t * event){ 7807 return little_endian_read_16(event, 3); 7808 } 7809 /** 7810 * @brief Get field command_type from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 7811 * @param event packet 7812 * @return command_type 7813 * @note: btstack_type 1 7814 */ 7815 static inline uint8_t avrcp_subevent_enable_notification_complete_get_command_type(const uint8_t * event){ 7816 return event[5]; 7817 } 7818 /** 7819 * @brief Get field notification_id from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 7820 * @param event packet 7821 * @return notification_id 7822 * @note: btstack_type 1 7823 */ 7824 static inline uint8_t avrcp_subevent_enable_notification_complete_get_notification_id(const uint8_t * event){ 7825 return event[6]; 7826 } 7827 7828 /** 7829 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 7830 * @param event packet 7831 * @return status 7832 * @note: btstack_type 1 7833 */ 7834 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 7835 return event[3]; 7836 } 7837 /** 7838 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 7839 * @param event packet 7840 * @return avrcp_cid 7841 * @note: btstack_type 2 7842 */ 7843 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 7844 return little_endian_read_16(event, 4); 7845 } 7846 /** 7847 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 7848 * @param event packet 7849 * @param Pointer to storage for bd_addr 7850 * @note: btstack_type B 7851 */ 7852 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7853 reverse_bytes(&event[6], bd_addr, 6); 7854 } 7855 /** 7856 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 7857 * @param event packet 7858 * @return con_handle 7859 * @note: btstack_type 2 7860 */ 7861 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 7862 return little_endian_read_16(event, 12); 7863 } 7864 7865 /** 7866 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 7867 * @param event packet 7868 * @return avrcp_cid 7869 * @note: btstack_type 2 7870 */ 7871 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 7872 return little_endian_read_16(event, 3); 7873 } 7874 7875 /** 7876 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 7877 * @param event packet 7878 * @return avrcp_cid 7879 * @note: btstack_type 2 7880 */ 7881 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 7882 return little_endian_read_16(event, 3); 7883 } 7884 /** 7885 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 7886 * @param event packet 7887 * @return command_type 7888 * @note: btstack_type 1 7889 */ 7890 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 7891 return event[5]; 7892 } 7893 /** 7894 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 7895 * @param event packet 7896 * @return repeat_mode 7897 * @note: btstack_type 1 7898 */ 7899 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 7900 return event[6]; 7901 } 7902 /** 7903 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 7904 * @param event packet 7905 * @return shuffle_mode 7906 * @note: btstack_type 1 7907 */ 7908 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 7909 return event[7]; 7910 } 7911 7912 /** 7913 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 7914 * @param event packet 7915 * @return avrcp_cid 7916 * @note: btstack_type 2 7917 */ 7918 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 7919 return little_endian_read_16(event, 3); 7920 } 7921 /** 7922 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 7923 * @param event packet 7924 * @return command_type 7925 * @note: btstack_type 1 7926 */ 7927 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 7928 return event[5]; 7929 } 7930 /** 7931 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 7932 * @param event packet 7933 * @return song_length 7934 * @note: btstack_type 4 7935 */ 7936 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 7937 return little_endian_read_32(event, 6); 7938 } 7939 /** 7940 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 7941 * @param event packet 7942 * @return song_position 7943 * @note: btstack_type 4 7944 */ 7945 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 7946 return little_endian_read_32(event, 10); 7947 } 7948 /** 7949 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 7950 * @param event packet 7951 * @return play_status 7952 * @note: btstack_type 1 7953 */ 7954 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 7955 return event[14]; 7956 } 7957 7958 /** 7959 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 7960 * @param event packet 7961 * @return avrcp_cid 7962 * @note: btstack_type 2 7963 */ 7964 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 7965 return little_endian_read_16(event, 3); 7966 } 7967 /** 7968 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 7969 * @param event packet 7970 * @return command_type 7971 * @note: btstack_type 1 7972 */ 7973 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 7974 return event[5]; 7975 } 7976 /** 7977 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 7978 * @param event packet 7979 * @return operation_id 7980 * @note: btstack_type 1 7981 */ 7982 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 7983 return event[6]; 7984 } 7985 7986 /** 7987 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 7988 * @param event packet 7989 * @return avrcp_cid 7990 * @note: btstack_type 2 7991 */ 7992 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 7993 return little_endian_read_16(event, 3); 7994 } 7995 /** 7996 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 7997 * @param event packet 7998 * @return command_type 7999 * @note: btstack_type 1 8000 */ 8001 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 8002 return event[5]; 8003 } 8004 /** 8005 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 8006 * @param event packet 8007 * @return operation_id 8008 * @note: btstack_type 1 8009 */ 8010 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 8011 return event[6]; 8012 } 8013 8014 /** 8015 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 8016 * @param event packet 8017 * @return avrcp_cid 8018 * @note: btstack_type 2 8019 */ 8020 static inline uint16_t avrcp_subevent_player_application_value_response_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_PLAYER_APPLICATION_VALUE_RESPONSE 8025 * @param event packet 8026 * @return command_type 8027 * @note: btstack_type 1 8028 */ 8029 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 8030 return event[5]; 8031 } 8032 8033 /** 8034 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COMPANY_IDS_QUERY 8035 * @param event packet 8036 * @return avrcp_cid 8037 * @note: btstack_type 2 8038 */ 8039 static inline uint16_t avrcp_subevent_company_ids_query_get_avrcp_cid(const uint8_t * event){ 8040 return little_endian_read_16(event, 3); 8041 } 8042 8043 /** 8044 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_EVENT_IDS_QUERY 8045 * @param event packet 8046 * @return avrcp_cid 8047 * @note: btstack_type 2 8048 */ 8049 static inline uint16_t avrcp_subevent_event_ids_query_get_avrcp_cid(const uint8_t * event){ 8050 return little_endian_read_16(event, 3); 8051 } 8052 8053 /** 8054 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 8055 * @param event packet 8056 * @return avrcp_cid 8057 * @note: btstack_type 2 8058 */ 8059 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 8060 return little_endian_read_16(event, 3); 8061 } 8062 8063 /** 8064 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 8065 * @param event packet 8066 * @return avrcp_cid 8067 * @note: btstack_type 2 8068 */ 8069 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 8070 return little_endian_read_16(event, 3); 8071 } 8072 /** 8073 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 8074 * @param event packet 8075 * @return operation_id 8076 * @note: btstack_type 1 8077 */ 8078 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 8079 return event[5]; 8080 } 8081 /** 8082 * @brief Get field button_pressed from event AVRCP_SUBEVENT_OPERATION 8083 * @param event packet 8084 * @return button_pressed 8085 * @note: btstack_type 1 8086 */ 8087 static inline uint8_t avrcp_subevent_operation_get_button_pressed(const uint8_t * event){ 8088 return event[6]; 8089 } 8090 /** 8091 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 8092 * @param event packet 8093 * @return operands_length 8094 * @note: btstack_type 1 8095 */ 8096 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 8097 return event[7]; 8098 } 8099 /** 8100 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 8101 * @param event packet 8102 * @return operand 8103 * @note: btstack_type 1 8104 */ 8105 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 8106 return event[8]; 8107 } 8108 8109 /** 8110 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 8111 * @param event packet 8112 * @return avrcp_cid 8113 * @note: btstack_type 2 8114 */ 8115 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 8116 return little_endian_read_16(event, 3); 8117 } 8118 /** 8119 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 8120 * @param event packet 8121 * @return command_type 8122 * @note: btstack_type 1 8123 */ 8124 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 8125 return event[5]; 8126 } 8127 /** 8128 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 8129 * @param event packet 8130 * @return track 8131 * @note: btstack_type 1 8132 */ 8133 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 8134 return event[6]; 8135 } 8136 8137 /** 8138 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 8139 * @param event packet 8140 * @return avrcp_cid 8141 * @note: btstack_type 2 8142 */ 8143 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 8144 return little_endian_read_16(event, 3); 8145 } 8146 /** 8147 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 8148 * @param event packet 8149 * @return command_type 8150 * @note: btstack_type 1 8151 */ 8152 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 8153 return event[5]; 8154 } 8155 /** 8156 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 8157 * @param event packet 8158 * @return total_tracks 8159 * @note: btstack_type 1 8160 */ 8161 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 8162 return event[6]; 8163 } 8164 8165 /** 8166 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 8167 * @param event packet 8168 * @return avrcp_cid 8169 * @note: btstack_type 2 8170 */ 8171 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 8172 return little_endian_read_16(event, 3); 8173 } 8174 /** 8175 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 8176 * @param event packet 8177 * @return command_type 8178 * @note: btstack_type 1 8179 */ 8180 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 8181 return event[5]; 8182 } 8183 /** 8184 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 8185 * @param event packet 8186 * @return song_length 8187 * @note: btstack_type 4 8188 */ 8189 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 8190 return little_endian_read_32(event, 6); 8191 } 8192 8193 /** 8194 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 8195 * @param event packet 8196 * @return avrcp_cid 8197 * @note: btstack_type 2 8198 */ 8199 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 8200 return little_endian_read_16(event, 3); 8201 } 8202 /** 8203 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 8204 * @param event packet 8205 * @return command_type 8206 * @note: btstack_type 1 8207 */ 8208 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 8209 return event[5]; 8210 } 8211 /** 8212 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 8213 * @param event packet 8214 * @return value_len 8215 * @note: btstack_type J 8216 */ 8217 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 8218 return event[6]; 8219 } 8220 /** 8221 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 8222 * @param event packet 8223 * @return value 8224 * @note: btstack_type V 8225 */ 8226 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 8227 return &event[7]; 8228 } 8229 8230 /** 8231 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 8232 * @param event packet 8233 * @return avrcp_cid 8234 * @note: btstack_type 2 8235 */ 8236 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 8237 return little_endian_read_16(event, 3); 8238 } 8239 /** 8240 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 8241 * @param event packet 8242 * @return command_type 8243 * @note: btstack_type 1 8244 */ 8245 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 8246 return event[5]; 8247 } 8248 /** 8249 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 8250 * @param event packet 8251 * @return value_len 8252 * @note: btstack_type J 8253 */ 8254 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 8255 return event[6]; 8256 } 8257 /** 8258 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 8259 * @param event packet 8260 * @return value 8261 * @note: btstack_type V 8262 */ 8263 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 8264 return &event[7]; 8265 } 8266 8267 /** 8268 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 8269 * @param event packet 8270 * @return avrcp_cid 8271 * @note: btstack_type 2 8272 */ 8273 static inline uint16_t avrcp_subevent_now_playing_album_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_ALBUM_INFO 8278 * @param event packet 8279 * @return command_type 8280 * @note: btstack_type 1 8281 */ 8282 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 8283 return event[5]; 8284 } 8285 /** 8286 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 8287 * @param event packet 8288 * @return value_len 8289 * @note: btstack_type J 8290 */ 8291 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 8292 return event[6]; 8293 } 8294 /** 8295 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 8296 * @param event packet 8297 * @return value 8298 * @note: btstack_type V 8299 */ 8300 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 8301 return &event[7]; 8302 } 8303 8304 /** 8305 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 8306 * @param event packet 8307 * @return avrcp_cid 8308 * @note: btstack_type 2 8309 */ 8310 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 8311 return little_endian_read_16(event, 3); 8312 } 8313 /** 8314 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 8315 * @param event packet 8316 * @return command_type 8317 * @note: btstack_type 1 8318 */ 8319 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 8320 return event[5]; 8321 } 8322 /** 8323 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 8324 * @param event packet 8325 * @return value_len 8326 * @note: btstack_type J 8327 */ 8328 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 8329 return event[6]; 8330 } 8331 /** 8332 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 8333 * @param event packet 8334 * @return value 8335 * @note: btstack_type V 8336 */ 8337 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 8338 return &event[7]; 8339 } 8340 8341 /** 8342 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 8343 * @param event packet 8344 * @return avrcp_cid 8345 * @note: btstack_type 2 8346 */ 8347 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 8348 return little_endian_read_16(event, 3); 8349 } 8350 /** 8351 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 8352 * @param event packet 8353 * @return command_type 8354 * @note: btstack_type 1 8355 */ 8356 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 8357 return event[5]; 8358 } 8359 /** 8360 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 8361 * @param event packet 8362 * @return status 8363 * @note: btstack_type 1 8364 */ 8365 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 8366 return event[6]; 8367 } 8368 8369 /** 8370 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 8371 * @param event packet 8372 * @return avrcp_cid 8373 * @note: btstack_type 2 8374 */ 8375 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_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_NOTIFICATION_PLAYBACK_POS_CHANGED 8380 * @param event packet 8381 * @return command_type 8382 * @note: btstack_type 1 8383 */ 8384 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 8385 return event[5]; 8386 } 8387 /** 8388 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 8389 * @param event packet 8390 * @return playback_position_ms 8391 * @note: btstack_type 4 8392 */ 8393 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 8394 return little_endian_read_32(event, 6); 8395 } 8396 8397 /** 8398 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 8399 * @param event packet 8400 * @return avrcp_cid 8401 * @note: btstack_type 2 8402 */ 8403 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 8404 return little_endian_read_16(event, 3); 8405 } 8406 /** 8407 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 8408 * @param event packet 8409 * @return command_type 8410 * @note: btstack_type 1 8411 */ 8412 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 8413 return event[5]; 8414 } 8415 /** 8416 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 8417 * @param event packet 8418 * @return status 8419 * @note: btstack_type 1 8420 */ 8421 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 8422 return event[6]; 8423 } 8424 /** 8425 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 8426 * @param event packet 8427 * @return event_id 8428 * @note: btstack_type 1 8429 */ 8430 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 8431 return event[7]; 8432 } 8433 8434 /** 8435 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 8436 * @param event packet 8437 * @return avrcp_cid 8438 * @note: btstack_type 2 8439 */ 8440 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){ 8441 return little_endian_read_16(event, 3); 8442 } 8443 /** 8444 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 8445 * @param event packet 8446 * @return command_type 8447 * @note: btstack_type 1 8448 */ 8449 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 8450 return event[5]; 8451 } 8452 /** 8453 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 8454 * @param event packet 8455 * @return status 8456 * @note: btstack_type 1 8457 */ 8458 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 8459 return event[6]; 8460 } 8461 8462 /** 8463 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 8464 * @param event packet 8465 * @return avrcp_cid 8466 * @note: btstack_type 2 8467 */ 8468 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 8469 return little_endian_read_16(event, 3); 8470 } 8471 /** 8472 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 8473 * @param event packet 8474 * @return command_type 8475 * @note: btstack_type 1 8476 */ 8477 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 8478 return event[5]; 8479 } 8480 /** 8481 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 8482 * @param event packet 8483 * @return status 8484 * @note: btstack_type 1 8485 */ 8486 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 8487 return event[6]; 8488 } 8489 /** 8490 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 8491 * @param event packet 8492 * @return company_id 8493 * @note: btstack_type 3 8494 */ 8495 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 8496 return little_endian_read_24(event, 7); 8497 } 8498 8499 /** 8500 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 8501 * @param event packet 8502 * @return avrcp_cid 8503 * @note: btstack_type 2 8504 */ 8505 static inline uint16_t avrcp_subevent_get_capability_company_id_done_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_COMPANY_ID_DONE 8510 * @param event packet 8511 * @return command_type 8512 * @note: btstack_type 1 8513 */ 8514 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 8515 return event[5]; 8516 } 8517 /** 8518 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 8519 * @param event packet 8520 * @return status 8521 * @note: btstack_type 1 8522 */ 8523 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 8524 return event[6]; 8525 } 8526 8527 /** 8528 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 8529 * @param event packet 8530 * @param Pointer to storage for bd_addr 8531 * @note: btstack_type B 8532 */ 8533 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8534 reverse_bytes(&event[3], bd_addr, 6); 8535 } 8536 /** 8537 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 8538 * @param event packet 8539 * @return browsing_cid 8540 * @note: btstack_type 2 8541 */ 8542 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 8543 return little_endian_read_16(event, 9); 8544 } 8545 8546 /** 8547 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 8548 * @param event packet 8549 * @return status 8550 * @note: btstack_type 1 8551 */ 8552 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 8553 return event[3]; 8554 } 8555 /** 8556 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 8557 * @param event packet 8558 * @param Pointer to storage for bd_addr 8559 * @note: btstack_type B 8560 */ 8561 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8562 reverse_bytes(&event[4], bd_addr, 6); 8563 } 8564 /** 8565 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 8566 * @param event packet 8567 * @return browsing_cid 8568 * @note: btstack_type 2 8569 */ 8570 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 8571 return little_endian_read_16(event, 10); 8572 } 8573 8574 /** 8575 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 8576 * @param event packet 8577 * @return browsing_cid 8578 * @note: btstack_type 2 8579 */ 8580 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 8581 return little_endian_read_16(event, 3); 8582 } 8583 8584 /** 8585 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 8586 * @param event packet 8587 * @return browsing_cid 8588 * @note: btstack_type 2 8589 */ 8590 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 8591 return little_endian_read_16(event, 3); 8592 } 8593 /** 8594 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 8595 * @param event packet 8596 * @return uid_counter 8597 * @note: btstack_type 2 8598 */ 8599 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 8600 return little_endian_read_16(event, 5); 8601 } 8602 /** 8603 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 8604 * @param event packet 8605 * @return browsing_status 8606 * @note: btstack_type 1 8607 */ 8608 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 8609 return event[7]; 8610 } 8611 /** 8612 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 8613 * @param event packet 8614 * @return bluetooth_status 8615 * @note: btstack_type 1 8616 */ 8617 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 8618 return event[8]; 8619 } 8620 8621 /** 8622 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 8623 * @param event packet 8624 * @return browsing_cid 8625 * @note: btstack_type 2 8626 */ 8627 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 8628 return little_endian_read_16(event, 3); 8629 } 8630 /** 8631 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 8632 * @param event packet 8633 * @return scope 8634 * @note: btstack_type 1 8635 */ 8636 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 8637 return event[5]; 8638 } 8639 /** 8640 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 8641 * @param event packet 8642 * @return attr_bitmap 8643 * @note: btstack_type 4 8644 */ 8645 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 8646 return little_endian_read_32(event, 6); 8647 } 8648 8649 /** 8650 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 8651 * @param event packet 8652 * @return browsing_cid 8653 * @note: btstack_type 2 8654 */ 8655 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 8656 return little_endian_read_16(event, 3); 8657 } 8658 /** 8659 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 8660 * @param event packet 8661 * @return scope 8662 * @note: btstack_type 1 8663 */ 8664 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 8665 return event[5]; 8666 } 8667 8668 /** 8669 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 8670 * @param event packet 8671 * @return browsing_cid 8672 * @note: btstack_type 2 8673 */ 8674 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_browsing_cid(const uint8_t * event){ 8675 return little_endian_read_16(event, 3); 8676 } 8677 /** 8678 * @brief Get field player_id from event AVRCP_SUBEVENT_BROWSING_SET_BROWSED_PLAYER 8679 * @param event packet 8680 * @return player_id 8681 * @note: btstack_type 2 8682 */ 8683 static inline uint16_t avrcp_subevent_browsing_set_browsed_player_get_player_id(const uint8_t * event){ 8684 return little_endian_read_16(event, 5); 8685 } 8686 8687 /** 8688 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 8689 * @param event packet 8690 * @return goep_cid 8691 * @note: btstack_type 2 8692 */ 8693 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 8694 return little_endian_read_16(event, 3); 8695 } 8696 /** 8697 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 8698 * @param event packet 8699 * @return status 8700 * @note: btstack_type 1 8701 */ 8702 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 8703 return event[5]; 8704 } 8705 /** 8706 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 8707 * @param event packet 8708 * @param Pointer to storage for bd_addr 8709 * @note: btstack_type B 8710 */ 8711 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8712 reverse_bytes(&event[6], bd_addr, 6); 8713 } 8714 /** 8715 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 8716 * @param event packet 8717 * @return con_handle 8718 * @note: btstack_type H 8719 */ 8720 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 8721 return little_endian_read_16(event, 12); 8722 } 8723 /** 8724 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 8725 * @param event packet 8726 * @return incoming 8727 * @note: btstack_type 1 8728 */ 8729 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 8730 return event[14]; 8731 } 8732 8733 /** 8734 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 8735 * @param event packet 8736 * @return goep_cid 8737 * @note: btstack_type 2 8738 */ 8739 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 8740 return little_endian_read_16(event, 3); 8741 } 8742 8743 /** 8744 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 8745 * @param event packet 8746 * @return goep_cid 8747 * @note: btstack_type 2 8748 */ 8749 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 8750 return little_endian_read_16(event, 3); 8751 } 8752 8753 /** 8754 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 8755 * @param event packet 8756 * @return pbap_cid 8757 * @note: btstack_type 2 8758 */ 8759 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 8760 return little_endian_read_16(event, 3); 8761 } 8762 /** 8763 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 8764 * @param event packet 8765 * @return status 8766 * @note: btstack_type 1 8767 */ 8768 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 8769 return event[5]; 8770 } 8771 /** 8772 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 8773 * @param event packet 8774 * @param Pointer to storage for bd_addr 8775 * @note: btstack_type B 8776 */ 8777 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8778 reverse_bytes(&event[6], bd_addr, 6); 8779 } 8780 /** 8781 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 8782 * @param event packet 8783 * @return con_handle 8784 * @note: btstack_type H 8785 */ 8786 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 8787 return little_endian_read_16(event, 12); 8788 } 8789 /** 8790 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 8791 * @param event packet 8792 * @return incoming 8793 * @note: btstack_type 1 8794 */ 8795 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 8796 return event[14]; 8797 } 8798 8799 /** 8800 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 8801 * @param event packet 8802 * @return goep_cid 8803 * @note: btstack_type 2 8804 */ 8805 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 8806 return little_endian_read_16(event, 3); 8807 } 8808 8809 /** 8810 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 8811 * @param event packet 8812 * @return goep_cid 8813 * @note: btstack_type 2 8814 */ 8815 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 8816 return little_endian_read_16(event, 3); 8817 } 8818 /** 8819 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 8820 * @param event packet 8821 * @return status 8822 * @note: btstack_type 1 8823 */ 8824 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 8825 return event[5]; 8826 } 8827 8828 /** 8829 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 8830 * @param event packet 8831 * @return goep_cid 8832 * @note: btstack_type 2 8833 */ 8834 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 8835 return little_endian_read_16(event, 3); 8836 } 8837 /** 8838 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 8839 * @param event packet 8840 * @return status 8841 * @note: btstack_type 1 8842 */ 8843 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 8844 return event[5]; 8845 } 8846 /** 8847 * @brief Get field phoneboook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 8848 * @param event packet 8849 * @return phoneboook_size 8850 * @note: btstack_type 2 8851 */ 8852 static inline uint16_t pbap_subevent_phonebook_size_get_phoneboook_size(const uint8_t * event){ 8853 return little_endian_read_16(event, 6); 8854 } 8855 8856 /** 8857 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 8858 * @param event packet 8859 * @return goep_cid 8860 * @note: btstack_type 2 8861 */ 8862 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 8863 return little_endian_read_16(event, 3); 8864 } 8865 /** 8866 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 8867 * @param event packet 8868 * @return user_id_required 8869 * @note: btstack_type 1 8870 */ 8871 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 8872 return event[5]; 8873 } 8874 /** 8875 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 8876 * @param event packet 8877 * @return full_access 8878 * @note: btstack_type 1 8879 */ 8880 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 8881 return event[6]; 8882 } 8883 8884 /** 8885 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 8886 * @param event packet 8887 * @return goep_cid 8888 * @note: btstack_type 2 8889 */ 8890 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 8891 return little_endian_read_16(event, 3); 8892 } 8893 /** 8894 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 8895 * @param event packet 8896 * @return name_len 8897 * @note: btstack_type J 8898 */ 8899 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 8900 return event[5]; 8901 } 8902 /** 8903 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 8904 * @param event packet 8905 * @return name 8906 * @note: btstack_type V 8907 */ 8908 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 8909 return &event[6]; 8910 } 8911 /** 8912 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 8913 * @param event packet 8914 * @return handle_len 8915 * @note: btstack_type J 8916 */ 8917 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 8918 return event[6u + event[5]]; 8919 } 8920 /** 8921 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 8922 * @param event packet 8923 * @return handle 8924 * @note: btstack_type V 8925 */ 8926 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 8927 return &event[6u + event[5] + 1u]; 8928 } 8929 8930 /** 8931 * @brief Get field hid_cid from event HID_SUBEVENT_INCOMING_CONNECTION 8932 * @param event packet 8933 * @return hid_cid 8934 * @note: btstack_type 2 8935 */ 8936 static inline uint16_t hid_subevent_incoming_connection_get_hid_cid(const uint8_t * event){ 8937 return little_endian_read_16(event, 3); 8938 } 8939 /** 8940 * @brief Get field address from event HID_SUBEVENT_INCOMING_CONNECTION 8941 * @param event packet 8942 * @param Pointer to storage for address 8943 * @note: btstack_type B 8944 */ 8945 static inline void hid_subevent_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 8946 reverse_bytes(&event[5], address, 6); 8947 } 8948 /** 8949 * @brief Get field handle from event HID_SUBEVENT_INCOMING_CONNECTION 8950 * @param event packet 8951 * @return handle 8952 * @note: btstack_type H 8953 */ 8954 static inline hci_con_handle_t hid_subevent_incoming_connection_get_handle(const uint8_t * event){ 8955 return little_endian_read_16(event, 11); 8956 } 8957 8958 /** 8959 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 8960 * @param event packet 8961 * @return hid_cid 8962 * @note: btstack_type 2 8963 */ 8964 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 8965 return little_endian_read_16(event, 3); 8966 } 8967 /** 8968 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 8969 * @param event packet 8970 * @return status 8971 * @note: btstack_type 1 8972 */ 8973 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 8974 return event[5]; 8975 } 8976 /** 8977 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 8978 * @param event packet 8979 * @param Pointer to storage for bd_addr 8980 * @note: btstack_type B 8981 */ 8982 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 8983 reverse_bytes(&event[6], bd_addr, 6); 8984 } 8985 /** 8986 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 8987 * @param event packet 8988 * @return con_handle 8989 * @note: btstack_type H 8990 */ 8991 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 8992 return little_endian_read_16(event, 12); 8993 } 8994 /** 8995 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 8996 * @param event packet 8997 * @return incoming 8998 * @note: btstack_type 1 8999 */ 9000 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 9001 return event[14]; 9002 } 9003 9004 /** 9005 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 9006 * @param event packet 9007 * @return hid_cid 9008 * @note: btstack_type 2 9009 */ 9010 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 9011 return little_endian_read_16(event, 3); 9012 } 9013 9014 /** 9015 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 9016 * @param event packet 9017 * @return hid_cid 9018 * @note: btstack_type 2 9019 */ 9020 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 9021 return little_endian_read_16(event, 3); 9022 } 9023 9024 /** 9025 * @brief Get field hid_cid from event HID_SUBEVENT_SUSPEND 9026 * @param event packet 9027 * @return hid_cid 9028 * @note: btstack_type 2 9029 */ 9030 static inline uint16_t hid_subevent_suspend_get_hid_cid(const uint8_t * event){ 9031 return little_endian_read_16(event, 3); 9032 } 9033 9034 /** 9035 * @brief Get field hid_cid from event HID_SUBEVENT_EXIT_SUSPEND 9036 * @param event packet 9037 * @return hid_cid 9038 * @note: btstack_type 2 9039 */ 9040 static inline uint16_t hid_subevent_exit_suspend_get_hid_cid(const uint8_t * event){ 9041 return little_endian_read_16(event, 3); 9042 } 9043 9044 /** 9045 * @brief Get field hid_cid from event HID_SUBEVENT_VIRTUAL_CABLE_UNPLUG 9046 * @param event packet 9047 * @return hid_cid 9048 * @note: btstack_type 2 9049 */ 9050 static inline uint16_t hid_subevent_virtual_cable_unplug_get_hid_cid(const uint8_t * event){ 9051 return little_endian_read_16(event, 3); 9052 } 9053 9054 /** 9055 * @brief Get field hid_cid from event HID_SUBEVENT_GET_REPORT_RESPONSE 9056 * @param event packet 9057 * @return hid_cid 9058 * @note: btstack_type 2 9059 */ 9060 static inline uint16_t hid_subevent_get_report_response_get_hid_cid(const uint8_t * event){ 9061 return little_endian_read_16(event, 3); 9062 } 9063 /** 9064 * @brief Get field handshake_status from event HID_SUBEVENT_GET_REPORT_RESPONSE 9065 * @param event packet 9066 * @return handshake_status 9067 * @note: btstack_type 1 9068 */ 9069 static inline uint8_t hid_subevent_get_report_response_get_handshake_status(const uint8_t * event){ 9070 return event[5]; 9071 } 9072 /** 9073 * @brief Get field report_len from event HID_SUBEVENT_GET_REPORT_RESPONSE 9074 * @param event packet 9075 * @return report_len 9076 * @note: btstack_type L 9077 */ 9078 static inline uint16_t hid_subevent_get_report_response_get_report_len(const uint8_t * event){ 9079 return little_endian_read_16(event, 6); 9080 } 9081 /** 9082 * @brief Get field report from event HID_SUBEVENT_GET_REPORT_RESPONSE 9083 * @param event packet 9084 * @return report 9085 * @note: btstack_type V 9086 */ 9087 static inline const uint8_t * hid_subevent_get_report_response_get_report(const uint8_t * event){ 9088 return &event[8]; 9089 } 9090 9091 /** 9092 * @brief Get field hid_cid from event HID_SUBEVENT_SET_REPORT_RESPONSE 9093 * @param event packet 9094 * @return hid_cid 9095 * @note: btstack_type 2 9096 */ 9097 static inline uint16_t hid_subevent_set_report_response_get_hid_cid(const uint8_t * event){ 9098 return little_endian_read_16(event, 3); 9099 } 9100 /** 9101 * @brief Get field handshake_status from event HID_SUBEVENT_SET_REPORT_RESPONSE 9102 * @param event packet 9103 * @return handshake_status 9104 * @note: btstack_type 1 9105 */ 9106 static inline uint8_t hid_subevent_set_report_response_get_handshake_status(const uint8_t * event){ 9107 return event[5]; 9108 } 9109 9110 /** 9111 * @brief Get field hid_cid from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 9112 * @param event packet 9113 * @return hid_cid 9114 * @note: btstack_type 2 9115 */ 9116 static inline uint16_t hid_subevent_get_protocol_response_get_hid_cid(const uint8_t * event){ 9117 return little_endian_read_16(event, 3); 9118 } 9119 /** 9120 * @brief Get field handshake_status from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 9121 * @param event packet 9122 * @return handshake_status 9123 * @note: btstack_type 1 9124 */ 9125 static inline uint8_t hid_subevent_get_protocol_response_get_handshake_status(const uint8_t * event){ 9126 return event[5]; 9127 } 9128 /** 9129 * @brief Get field protocol_mode from event HID_SUBEVENT_GET_PROTOCOL_RESPONSE 9130 * @param event packet 9131 * @return protocol_mode 9132 * @note: btstack_type 1 9133 */ 9134 static inline uint8_t hid_subevent_get_protocol_response_get_protocol_mode(const uint8_t * event){ 9135 return event[6]; 9136 } 9137 9138 /** 9139 * @brief Get field hid_cid from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 9140 * @param event packet 9141 * @return hid_cid 9142 * @note: btstack_type 2 9143 */ 9144 static inline uint16_t hid_subevent_set_protocol_response_get_hid_cid(const uint8_t * event){ 9145 return little_endian_read_16(event, 3); 9146 } 9147 /** 9148 * @brief Get field handshake_status from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 9149 * @param event packet 9150 * @return handshake_status 9151 * @note: btstack_type 1 9152 */ 9153 static inline uint8_t hid_subevent_set_protocol_response_get_handshake_status(const uint8_t * event){ 9154 return event[5]; 9155 } 9156 /** 9157 * @brief Get field protocol_mode from event HID_SUBEVENT_SET_PROTOCOL_RESPONSE 9158 * @param event packet 9159 * @return protocol_mode 9160 * @note: btstack_type 1 9161 */ 9162 static inline uint8_t hid_subevent_set_protocol_response_get_protocol_mode(const uint8_t * event){ 9163 return event[6]; 9164 } 9165 9166 /** 9167 * @brief Get field hid_cid from event HID_SUBEVENT_REPORT 9168 * @param event packet 9169 * @return hid_cid 9170 * @note: btstack_type 2 9171 */ 9172 static inline uint16_t hid_subevent_report_get_hid_cid(const uint8_t * event){ 9173 return little_endian_read_16(event, 3); 9174 } 9175 /** 9176 * @brief Get field report_len from event HID_SUBEVENT_REPORT 9177 * @param event packet 9178 * @return report_len 9179 * @note: btstack_type L 9180 */ 9181 static inline uint16_t hid_subevent_report_get_report_len(const uint8_t * event){ 9182 return little_endian_read_16(event, 5); 9183 } 9184 /** 9185 * @brief Get field report from event HID_SUBEVENT_REPORT 9186 * @param event packet 9187 * @return report 9188 * @note: btstack_type V 9189 */ 9190 static inline const uint8_t * hid_subevent_report_get_report(const uint8_t * event){ 9191 return &event[7]; 9192 } 9193 9194 /** 9195 * @brief Get field hid_cid from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 9196 * @param event packet 9197 * @return hid_cid 9198 * @note: btstack_type 2 9199 */ 9200 static inline uint16_t hid_subevent_descriptor_available_get_hid_cid(const uint8_t * event){ 9201 return little_endian_read_16(event, 3); 9202 } 9203 /** 9204 * @brief Get field status from event HID_SUBEVENT_DESCRIPTOR_AVAILABLE 9205 * @param event packet 9206 * @return status 9207 * @note: btstack_type 1 9208 */ 9209 static inline uint8_t hid_subevent_descriptor_available_get_status(const uint8_t * event){ 9210 return event[5]; 9211 } 9212 9213 /** 9214 * @brief Get field hid_cid from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 9215 * @param event packet 9216 * @return hid_cid 9217 * @note: btstack_type 2 9218 */ 9219 static inline uint16_t hid_subevent_sniff_subrating_params_get_hid_cid(const uint8_t * event){ 9220 return little_endian_read_16(event, 3); 9221 } 9222 /** 9223 * @brief Get field host_max_latency from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 9224 * @param event packet 9225 * @return host_max_latency 9226 * @note: btstack_type 2 9227 */ 9228 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_max_latency(const uint8_t * event){ 9229 return little_endian_read_16(event, 5); 9230 } 9231 /** 9232 * @brief Get field host_min_timeout from event HID_SUBEVENT_SNIFF_SUBRATING_PARAMS 9233 * @param event packet 9234 * @return host_min_timeout 9235 * @note: btstack_type 2 9236 */ 9237 static inline uint16_t hid_subevent_sniff_subrating_params_get_host_min_timeout(const uint8_t * event){ 9238 return little_endian_read_16(event, 7); 9239 } 9240 9241 /** 9242 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 9243 * @param event packet 9244 * @return con_handle 9245 * @note: btstack_type 2 9246 */ 9247 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 9248 return little_endian_read_16(event, 3); 9249 } 9250 9251 /** 9252 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 9253 * @param event packet 9254 * @return con_handle 9255 * @note: btstack_type 2 9256 */ 9257 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 9258 return little_endian_read_16(event, 3); 9259 } 9260 /** 9261 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 9262 * @param event packet 9263 * @return protocol_mode 9264 * @note: btstack_type 1 9265 */ 9266 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 9267 return event[5]; 9268 } 9269 9270 /** 9271 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 9272 * @param event packet 9273 * @return con_handle 9274 * @note: btstack_type 2 9275 */ 9276 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 9277 return little_endian_read_16(event, 3); 9278 } 9279 /** 9280 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 9281 * @param event packet 9282 * @return enable 9283 * @note: btstack_type 1 9284 */ 9285 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 9286 return event[5]; 9287 } 9288 9289 /** 9290 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 9291 * @param event packet 9292 * @return con_handle 9293 * @note: btstack_type 2 9294 */ 9295 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 9296 return little_endian_read_16(event, 3); 9297 } 9298 /** 9299 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 9300 * @param event packet 9301 * @return enable 9302 * @note: btstack_type 1 9303 */ 9304 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 9305 return event[5]; 9306 } 9307 9308 /** 9309 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 9310 * @param event packet 9311 * @return con_handle 9312 * @note: btstack_type 2 9313 */ 9314 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 9315 return little_endian_read_16(event, 3); 9316 } 9317 /** 9318 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 9319 * @param event packet 9320 * @return enable 9321 * @note: btstack_type 1 9322 */ 9323 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 9324 return event[5]; 9325 } 9326 9327 /** 9328 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 9329 * @param event packet 9330 * @return con_handle 9331 * @note: btstack_type 2 9332 */ 9333 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 9334 return little_endian_read_16(event, 3); 9335 } 9336 /** 9337 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 9338 * @param event packet 9339 * @return enable 9340 * @note: btstack_type 1 9341 */ 9342 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 9343 return event[5]; 9344 } 9345 9346 /** 9347 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 9348 * @param event packet 9349 * @return con_handle 9350 * @note: btstack_type 2 9351 */ 9352 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 9353 return little_endian_read_16(event, 3); 9354 } 9355 /** 9356 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 9357 * @param event packet 9358 * @return enable 9359 * @note: btstack_type 1 9360 */ 9361 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 9362 return event[5]; 9363 } 9364 9365 /** 9366 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 9367 * @param event packet 9368 * @return con_handle 9369 * @note: btstack_type 2 9370 */ 9371 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 9372 return little_endian_read_16(event, 3); 9373 } 9374 9375 /** 9376 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 9377 * @param event packet 9378 * @return con_handle 9379 * @note: btstack_type 2 9380 */ 9381 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 9382 return little_endian_read_16(event, 3); 9383 } 9384 9385 /** 9386 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 9387 * @param event packet 9388 * @return con_handle 9389 * @note: btstack_type 2 9390 */ 9391 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 9392 return little_endian_read_16(event, 3); 9393 } 9394 /** 9395 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 9396 * @param event packet 9397 * @return measurement_type 9398 * @note: btstack_type 1 9399 */ 9400 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 9401 return event[5]; 9402 } 9403 /** 9404 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 9405 * @param event packet 9406 * @return is_enhanced 9407 * @note: btstack_type 1 9408 */ 9409 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 9410 return event[6]; 9411 } 9412 9413 /** 9414 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 9415 * @param event packet 9416 * @return con_handle 9417 * @note: btstack_type 2 9418 */ 9419 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 9420 return little_endian_read_16(event, 3); 9421 } 9422 9423 /** 9424 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 9425 * @param event packet 9426 * @return con_handle 9427 * @note: btstack_type 2 9428 */ 9429 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 9430 return little_endian_read_16(event, 3); 9431 } 9432 9433 /** 9434 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 9435 * @param event packet 9436 * @return hids_cid 9437 * @note: btstack_type 2 9438 */ 9439 static inline uint16_t gattservice_subevent_battery_service_connected_get_hids_cid(const uint8_t * event){ 9440 return little_endian_read_16(event, 3); 9441 } 9442 /** 9443 * @brief Get field status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 9444 * @param event packet 9445 * @return status 9446 * @note: btstack_type 1 9447 */ 9448 static inline uint8_t gattservice_subevent_battery_service_connected_get_status(const uint8_t * event){ 9449 return event[5]; 9450 } 9451 /** 9452 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 9453 * @param event packet 9454 * @return num_instances 9455 * @note: btstack_type 1 9456 */ 9457 static inline uint8_t gattservice_subevent_battery_service_connected_get_num_instances(const uint8_t * event){ 9458 return event[6]; 9459 } 9460 /** 9461 * @brief Get field poll_bitmap from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_CONNECTED 9462 * @param event packet 9463 * @return poll_bitmap 9464 * @note: btstack_type 1 9465 */ 9466 static inline uint8_t gattservice_subevent_battery_service_connected_get_poll_bitmap(const uint8_t * event){ 9467 return event[7]; 9468 } 9469 9470 /** 9471 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 9472 * @param event packet 9473 * @return hids_cid 9474 * @note: btstack_type 2 9475 */ 9476 static inline uint16_t gattservice_subevent_battery_service_level_get_hids_cid(const uint8_t * event){ 9477 return little_endian_read_16(event, 3); 9478 } 9479 /** 9480 * @brief Get field sevice_index from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 9481 * @param event packet 9482 * @return sevice_index 9483 * @note: btstack_type 1 9484 */ 9485 static inline uint8_t gattservice_subevent_battery_service_level_get_sevice_index(const uint8_t * event){ 9486 return event[5]; 9487 } 9488 /** 9489 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 9490 * @param event packet 9491 * @return att_status 9492 * @note: btstack_type 1 9493 */ 9494 static inline uint8_t gattservice_subevent_battery_service_level_get_att_status(const uint8_t * event){ 9495 return event[6]; 9496 } 9497 /** 9498 * @brief Get field level from event GATTSERVICE_SUBEVENT_BATTERY_SERVICE_LEVEL 9499 * @param event packet 9500 * @return level 9501 * @note: btstack_type 1 9502 */ 9503 static inline uint8_t gattservice_subevent_battery_service_level_get_level(const uint8_t * event){ 9504 return event[7]; 9505 } 9506 9507 /** 9508 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 9509 * @param event packet 9510 * @return con_handle 9511 * @note: btstack_type H 9512 */ 9513 static inline hci_con_handle_t gattservice_subevent_device_information_done_get_con_handle(const uint8_t * event){ 9514 return little_endian_read_16(event, 3); 9515 } 9516 /** 9517 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_DONE 9518 * @param event packet 9519 * @return att_status 9520 * @note: btstack_type 1 9521 */ 9522 static inline uint8_t gattservice_subevent_device_information_done_get_att_status(const uint8_t * event){ 9523 return event[5]; 9524 } 9525 9526 /** 9527 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 9528 * @param event packet 9529 * @return con_handle 9530 * @note: btstack_type H 9531 */ 9532 static inline hci_con_handle_t gattservice_subevent_device_information_manufacturer_name_get_con_handle(const uint8_t * event){ 9533 return little_endian_read_16(event, 3); 9534 } 9535 /** 9536 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 9537 * @param event packet 9538 * @return att_status 9539 * @note: btstack_type 1 9540 */ 9541 static inline uint8_t gattservice_subevent_device_information_manufacturer_name_get_att_status(const uint8_t * event){ 9542 return event[5]; 9543 } 9544 /** 9545 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MANUFACTURER_NAME 9546 * @param event packet 9547 * @return value 9548 * @note: btstack_type T 9549 */ 9550 static inline const char * gattservice_subevent_device_information_manufacturer_name_get_value(const uint8_t * event){ 9551 return (const char *) &event[6]; 9552 } 9553 9554 /** 9555 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 9556 * @param event packet 9557 * @return con_handle 9558 * @note: btstack_type H 9559 */ 9560 static inline hci_con_handle_t gattservice_subevent_device_information_model_number_get_con_handle(const uint8_t * event){ 9561 return little_endian_read_16(event, 3); 9562 } 9563 /** 9564 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 9565 * @param event packet 9566 * @return att_status 9567 * @note: btstack_type 1 9568 */ 9569 static inline uint8_t gattservice_subevent_device_information_model_number_get_att_status(const uint8_t * event){ 9570 return event[5]; 9571 } 9572 /** 9573 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_MODEL_NUMBER 9574 * @param event packet 9575 * @return value 9576 * @note: btstack_type T 9577 */ 9578 static inline const char * gattservice_subevent_device_information_model_number_get_value(const uint8_t * event){ 9579 return (const char *) &event[6]; 9580 } 9581 9582 /** 9583 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 9584 * @param event packet 9585 * @return con_handle 9586 * @note: btstack_type H 9587 */ 9588 static inline hci_con_handle_t gattservice_subevent_device_information_serial_number_get_con_handle(const uint8_t * event){ 9589 return little_endian_read_16(event, 3); 9590 } 9591 /** 9592 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 9593 * @param event packet 9594 * @return att_status 9595 * @note: btstack_type 1 9596 */ 9597 static inline uint8_t gattservice_subevent_device_information_serial_number_get_att_status(const uint8_t * event){ 9598 return event[5]; 9599 } 9600 /** 9601 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SERIAL_NUMBER 9602 * @param event packet 9603 * @return value 9604 * @note: btstack_type T 9605 */ 9606 static inline const char * gattservice_subevent_device_information_serial_number_get_value(const uint8_t * event){ 9607 return (const char *) &event[6]; 9608 } 9609 9610 /** 9611 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 9612 * @param event packet 9613 * @return con_handle 9614 * @note: btstack_type H 9615 */ 9616 static inline hci_con_handle_t gattservice_subevent_device_information_hardware_revision_get_con_handle(const uint8_t * event){ 9617 return little_endian_read_16(event, 3); 9618 } 9619 /** 9620 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 9621 * @param event packet 9622 * @return att_status 9623 * @note: btstack_type 1 9624 */ 9625 static inline uint8_t gattservice_subevent_device_information_hardware_revision_get_att_status(const uint8_t * event){ 9626 return event[5]; 9627 } 9628 /** 9629 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_HARDWARE_REVISION 9630 * @param event packet 9631 * @return value 9632 * @note: btstack_type T 9633 */ 9634 static inline const char * gattservice_subevent_device_information_hardware_revision_get_value(const uint8_t * event){ 9635 return (const char *) &event[6]; 9636 } 9637 9638 /** 9639 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 9640 * @param event packet 9641 * @return con_handle 9642 * @note: btstack_type H 9643 */ 9644 static inline hci_con_handle_t gattservice_subevent_device_information_firmware_revision_get_con_handle(const uint8_t * event){ 9645 return little_endian_read_16(event, 3); 9646 } 9647 /** 9648 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 9649 * @param event packet 9650 * @return att_status 9651 * @note: btstack_type 1 9652 */ 9653 static inline uint8_t gattservice_subevent_device_information_firmware_revision_get_att_status(const uint8_t * event){ 9654 return event[5]; 9655 } 9656 /** 9657 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_FIRMWARE_REVISION 9658 * @param event packet 9659 * @return value 9660 * @note: btstack_type T 9661 */ 9662 static inline const char * gattservice_subevent_device_information_firmware_revision_get_value(const uint8_t * event){ 9663 return (const char *) &event[6]; 9664 } 9665 9666 /** 9667 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 9668 * @param event packet 9669 * @return con_handle 9670 * @note: btstack_type H 9671 */ 9672 static inline hci_con_handle_t gattservice_subevent_device_information_software_revision_get_con_handle(const uint8_t * event){ 9673 return little_endian_read_16(event, 3); 9674 } 9675 /** 9676 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 9677 * @param event packet 9678 * @return att_status 9679 * @note: btstack_type 1 9680 */ 9681 static inline uint8_t gattservice_subevent_device_information_software_revision_get_att_status(const uint8_t * event){ 9682 return event[5]; 9683 } 9684 /** 9685 * @brief Get field value from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SOFTWARE_REVISION 9686 * @param event packet 9687 * @return value 9688 * @note: btstack_type T 9689 */ 9690 static inline const char * gattservice_subevent_device_information_software_revision_get_value(const uint8_t * event){ 9691 return (const char *) &event[6]; 9692 } 9693 9694 /** 9695 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 9696 * @param event packet 9697 * @return con_handle 9698 * @note: btstack_type H 9699 */ 9700 static inline hci_con_handle_t gattservice_subevent_device_information_system_id_get_con_handle(const uint8_t * event){ 9701 return little_endian_read_16(event, 3); 9702 } 9703 /** 9704 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 9705 * @param event packet 9706 * @return att_status 9707 * @note: btstack_type 1 9708 */ 9709 static inline uint8_t gattservice_subevent_device_information_system_id_get_att_status(const uint8_t * event){ 9710 return event[5]; 9711 } 9712 /** 9713 * @brief Get field manufacturer_id_low from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 9714 * @param event packet 9715 * @return manufacturer_id_low 9716 * @note: btstack_type 4 9717 */ 9718 static inline uint32_t gattservice_subevent_device_information_system_id_get_manufacturer_id_low(const uint8_t * event){ 9719 return little_endian_read_32(event, 6); 9720 } 9721 /** 9722 * @brief Get field manufacturer_id_high from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 9723 * @param event packet 9724 * @return manufacturer_id_high 9725 * @note: btstack_type 1 9726 */ 9727 static inline uint8_t gattservice_subevent_device_information_system_id_get_manufacturer_id_high(const uint8_t * event){ 9728 return event[10]; 9729 } 9730 /** 9731 * @brief Get field organizationally_unique_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_SYSTEM_ID 9732 * @param event packet 9733 * @return organizationally_unique_id 9734 * @note: btstack_type 3 9735 */ 9736 static inline uint32_t gattservice_subevent_device_information_system_id_get_organizationally_unique_id(const uint8_t * event){ 9737 return little_endian_read_24(event, 11); 9738 } 9739 9740 /** 9741 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 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_ieee_regulatory_certification_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_IEEE_REGULATORY_CERTIFICATION 9751 * @param event packet 9752 * @return att_status 9753 * @note: btstack_type 1 9754 */ 9755 static inline uint8_t gattservice_subevent_device_information_ieee_regulatory_certification_get_att_status(const uint8_t * event){ 9756 return event[5]; 9757 } 9758 /** 9759 * @brief Get field value_a from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 9760 * @param event packet 9761 * @return value_a 9762 * @note: btstack_type 2 9763 */ 9764 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_a(const uint8_t * event){ 9765 return little_endian_read_16(event, 6); 9766 } 9767 /** 9768 * @brief Get field value_b from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_IEEE_REGULATORY_CERTIFICATION 9769 * @param event packet 9770 * @return value_b 9771 * @note: btstack_type 2 9772 */ 9773 static inline uint16_t gattservice_subevent_device_information_ieee_regulatory_certification_get_value_b(const uint8_t * event){ 9774 return little_endian_read_16(event, 8); 9775 } 9776 9777 /** 9778 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 9779 * @param event packet 9780 * @return con_handle 9781 * @note: btstack_type H 9782 */ 9783 static inline hci_con_handle_t gattservice_subevent_device_information_pnp_id_get_con_handle(const uint8_t * event){ 9784 return little_endian_read_16(event, 3); 9785 } 9786 /** 9787 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 9788 * @param event packet 9789 * @return att_status 9790 * @note: btstack_type 1 9791 */ 9792 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_att_status(const uint8_t * event){ 9793 return event[5]; 9794 } 9795 /** 9796 * @brief Get field vendor_source_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 9797 * @param event packet 9798 * @return vendor_source_id 9799 * @note: btstack_type 1 9800 */ 9801 static inline uint8_t gattservice_subevent_device_information_pnp_id_get_vendor_source_id(const uint8_t * event){ 9802 return event[6]; 9803 } 9804 /** 9805 * @brief Get field vendor_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 9806 * @param event packet 9807 * @return vendor_id 9808 * @note: btstack_type 2 9809 */ 9810 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_vendor_id(const uint8_t * event){ 9811 return little_endian_read_16(event, 7); 9812 } 9813 /** 9814 * @brief Get field product_id from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 9815 * @param event packet 9816 * @return product_id 9817 * @note: btstack_type 2 9818 */ 9819 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_id(const uint8_t * event){ 9820 return little_endian_read_16(event, 9); 9821 } 9822 /** 9823 * @brief Get field product_version from event GATTSERVICE_SUBEVENT_DEVICE_INFORMATION_PNP_ID 9824 * @param event packet 9825 * @return product_version 9826 * @note: btstack_type 2 9827 */ 9828 static inline uint16_t gattservice_subevent_device_information_pnp_id_get_product_version(const uint8_t * event){ 9829 return little_endian_read_16(event, 11); 9830 } 9831 9832 /** 9833 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 9834 * @param event packet 9835 * @return con_handle 9836 * @note: btstack_type H 9837 */ 9838 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_connected_get_con_handle(const uint8_t * event){ 9839 return little_endian_read_16(event, 3); 9840 } 9841 /** 9842 * @brief Get field att_status from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_CONNECTED 9843 * @param event packet 9844 * @return att_status 9845 * @note: btstack_type 1 9846 */ 9847 static inline uint8_t gattservice_subevent_scan_parameters_service_connected_get_att_status(const uint8_t * event){ 9848 return event[5]; 9849 } 9850 9851 /** 9852 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED 9853 * @param event packet 9854 * @return con_handle 9855 * @note: btstack_type H 9856 */ 9857 static inline hci_con_handle_t gattservice_subevent_spp_service_connected_get_con_handle(const uint8_t * event){ 9858 return little_endian_read_16(event, 3); 9859 } 9860 9861 /** 9862 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SPP_SERVICE_DISCONNECTED 9863 * @param event packet 9864 * @return con_handle 9865 * @note: btstack_type H 9866 */ 9867 static inline hci_con_handle_t gattservice_subevent_spp_service_disconnected_get_con_handle(const uint8_t * event){ 9868 return little_endian_read_16(event, 3); 9869 } 9870 9871 /** 9872 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 9873 * @param event packet 9874 * @return hids_cid 9875 * @note: btstack_type 2 9876 */ 9877 static inline uint16_t gattservice_subevent_hid_service_connected_get_hids_cid(const uint8_t * event){ 9878 return little_endian_read_16(event, 3); 9879 } 9880 /** 9881 * @brief Get field status from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 9882 * @param event packet 9883 * @return status 9884 * @note: btstack_type 1 9885 */ 9886 static inline uint8_t gattservice_subevent_hid_service_connected_get_status(const uint8_t * event){ 9887 return event[5]; 9888 } 9889 /** 9890 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 9891 * @param event packet 9892 * @return protocol_mode 9893 * @note: btstack_type 1 9894 */ 9895 static inline uint8_t gattservice_subevent_hid_service_connected_get_protocol_mode(const uint8_t * event){ 9896 return event[6]; 9897 } 9898 /** 9899 * @brief Get field num_instances from event GATTSERVICE_SUBEVENT_HID_SERVICE_CONNECTED 9900 * @param event packet 9901 * @return num_instances 9902 * @note: btstack_type 1 9903 */ 9904 static inline uint8_t gattservice_subevent_hid_service_connected_get_num_instances(const uint8_t * event){ 9905 return event[7]; 9906 } 9907 9908 /** 9909 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_REPORT 9910 * @param event packet 9911 * @return hids_cid 9912 * @note: btstack_type 2 9913 */ 9914 static inline uint16_t gattservice_subevent_hid_report_get_hids_cid(const uint8_t * event){ 9915 return little_endian_read_16(event, 3); 9916 } 9917 /** 9918 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_REPORT 9919 * @param event packet 9920 * @return service_index 9921 * @note: btstack_type 1 9922 */ 9923 static inline uint8_t gattservice_subevent_hid_report_get_service_index(const uint8_t * event){ 9924 return event[5]; 9925 } 9926 /** 9927 * @brief Get field report_id from event GATTSERVICE_SUBEVENT_HID_REPORT 9928 * @param event packet 9929 * @return report_id 9930 * @note: btstack_type 1 9931 */ 9932 static inline uint8_t gattservice_subevent_hid_report_get_report_id(const uint8_t * event){ 9933 return event[6]; 9934 } 9935 /** 9936 * @brief Get field report_len from event GATTSERVICE_SUBEVENT_HID_REPORT 9937 * @param event packet 9938 * @return report_len 9939 * @note: btstack_type L 9940 */ 9941 static inline uint16_t gattservice_subevent_hid_report_get_report_len(const uint8_t * event){ 9942 return little_endian_read_16(event, 7); 9943 } 9944 /** 9945 * @brief Get field report from event GATTSERVICE_SUBEVENT_HID_REPORT 9946 * @param event packet 9947 * @return report 9948 * @note: btstack_type V 9949 */ 9950 static inline const uint8_t * gattservice_subevent_hid_report_get_report(const uint8_t * event){ 9951 return &event[9]; 9952 } 9953 9954 /** 9955 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_INFORMATION 9956 * @param event packet 9957 * @return hids_cid 9958 * @note: btstack_type 2 9959 */ 9960 static inline uint16_t gattservice_subevent_hid_information_get_hids_cid(const uint8_t * event){ 9961 return little_endian_read_16(event, 3); 9962 } 9963 /** 9964 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_INFORMATION 9965 * @param event packet 9966 * @return service_index 9967 * @note: btstack_type 1 9968 */ 9969 static inline uint8_t gattservice_subevent_hid_information_get_service_index(const uint8_t * event){ 9970 return event[5]; 9971 } 9972 /** 9973 * @brief Get field base_usb_hid_version from event GATTSERVICE_SUBEVENT_HID_INFORMATION 9974 * @param event packet 9975 * @return base_usb_hid_version 9976 * @note: btstack_type 2 9977 */ 9978 static inline uint16_t gattservice_subevent_hid_information_get_base_usb_hid_version(const uint8_t * event){ 9979 return little_endian_read_16(event, 6); 9980 } 9981 /** 9982 * @brief Get field country_code from event GATTSERVICE_SUBEVENT_HID_INFORMATION 9983 * @param event packet 9984 * @return country_code 9985 * @note: btstack_type 1 9986 */ 9987 static inline uint8_t gattservice_subevent_hid_information_get_country_code(const uint8_t * event){ 9988 return event[8]; 9989 } 9990 /** 9991 * @brief Get field remote_wake from event GATTSERVICE_SUBEVENT_HID_INFORMATION 9992 * @param event packet 9993 * @return remote_wake 9994 * @note: btstack_type 1 9995 */ 9996 static inline uint8_t gattservice_subevent_hid_information_get_remote_wake(const uint8_t * event){ 9997 return event[9]; 9998 } 9999 /** 10000 * @brief Get field normally_connectable from event GATTSERVICE_SUBEVENT_HID_INFORMATION 10001 * @param event packet 10002 * @return normally_connectable 10003 * @note: btstack_type 1 10004 */ 10005 static inline uint8_t gattservice_subevent_hid_information_get_normally_connectable(const uint8_t * event){ 10006 return event[10]; 10007 } 10008 10009 /** 10010 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 10011 * @param event packet 10012 * @return hids_cid 10013 * @note: btstack_type 2 10014 */ 10015 static inline uint16_t gattservice_subevent_hid_protocol_mode_get_hids_cid(const uint8_t * event){ 10016 return little_endian_read_16(event, 3); 10017 } 10018 /** 10019 * @brief Get field service_index from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 10020 * @param event packet 10021 * @return service_index 10022 * @note: btstack_type 1 10023 */ 10024 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_service_index(const uint8_t * event){ 10025 return event[5]; 10026 } 10027 /** 10028 * @brief Get field protocol_mode from event GATTSERVICE_SUBEVENT_HID_PROTOCOL_MODE 10029 * @param event packet 10030 * @return protocol_mode 10031 * @note: btstack_type 1 10032 */ 10033 static inline uint8_t gattservice_subevent_hid_protocol_mode_get_protocol_mode(const uint8_t * event){ 10034 return event[6]; 10035 } 10036 10037 /** 10038 * @brief Get field hids_cid from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 10039 * @param event packet 10040 * @return hids_cid 10041 * @note: btstack_type 2 10042 */ 10043 static inline uint16_t gattservice_subevent_hid_service_reports_notification_get_hids_cid(const uint8_t * event){ 10044 return little_endian_read_16(event, 3); 10045 } 10046 /** 10047 * @brief Get field configuration from event GATTSERVICE_SUBEVENT_HID_SERVICE_REPORTS_NOTIFICATION 10048 * @param event packet 10049 * @return configuration 10050 * @note: btstack_type 1 10051 */ 10052 static inline uint8_t gattservice_subevent_hid_service_reports_notification_get_configuration(const uint8_t * event){ 10053 return event[5]; 10054 } 10055 10056 /** 10057 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 10058 * @param event packet 10059 * @return con_handle 10060 * @note: btstack_type H 10061 */ 10062 static inline hci_con_handle_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_con_handle(const uint8_t * event){ 10063 return little_endian_read_16(event, 3); 10064 } 10065 /** 10066 * @brief Get field max_scan_interval from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 10067 * @param event packet 10068 * @return max_scan_interval 10069 * @note: btstack_type 2 10070 */ 10071 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_max_scan_interval(const uint8_t * event){ 10072 return little_endian_read_16(event, 5); 10073 } 10074 /** 10075 * @brief Get field min_scan_window from event GATTSERVICE_SUBEVENT_SCAN_PARAMETERS_SERVICE_SCAN_INTERVAL_UPDATE 10076 * @param event packet 10077 * @return min_scan_window 10078 * @note: btstack_type 2 10079 */ 10080 static inline uint16_t gattservice_subevent_scan_parameters_service_scan_interval_update_get_min_scan_window(const uint8_t * event){ 10081 return little_endian_read_16(event, 7); 10082 } 10083 10084 /** 10085 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_OPENED 10086 * @param event packet 10087 * @return map_cid 10088 * @note: btstack_type 2 10089 */ 10090 static inline uint16_t map_subevent_connection_opened_get_map_cid(const uint8_t * event){ 10091 return little_endian_read_16(event, 3); 10092 } 10093 /** 10094 * @brief Get field status from event MAP_SUBEVENT_CONNECTION_OPENED 10095 * @param event packet 10096 * @return status 10097 * @note: btstack_type 1 10098 */ 10099 static inline uint8_t map_subevent_connection_opened_get_status(const uint8_t * event){ 10100 return event[5]; 10101 } 10102 /** 10103 * @brief Get field bd_addr from event MAP_SUBEVENT_CONNECTION_OPENED 10104 * @param event packet 10105 * @param Pointer to storage for bd_addr 10106 * @note: btstack_type B 10107 */ 10108 static inline void map_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 10109 reverse_bytes(&event[6], bd_addr, 6); 10110 } 10111 /** 10112 * @brief Get field con_handle from event MAP_SUBEVENT_CONNECTION_OPENED 10113 * @param event packet 10114 * @return con_handle 10115 * @note: btstack_type H 10116 */ 10117 static inline hci_con_handle_t map_subevent_connection_opened_get_con_handle(const uint8_t * event){ 10118 return little_endian_read_16(event, 12); 10119 } 10120 /** 10121 * @brief Get field incoming from event MAP_SUBEVENT_CONNECTION_OPENED 10122 * @param event packet 10123 * @return incoming 10124 * @note: btstack_type 1 10125 */ 10126 static inline uint8_t map_subevent_connection_opened_get_incoming(const uint8_t * event){ 10127 return event[14]; 10128 } 10129 10130 /** 10131 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_CLOSED 10132 * @param event packet 10133 * @return map_cid 10134 * @note: btstack_type 2 10135 */ 10136 static inline uint16_t map_subevent_connection_closed_get_map_cid(const uint8_t * event){ 10137 return little_endian_read_16(event, 3); 10138 } 10139 10140 /** 10141 * @brief Get field map_cid from event MAP_SUBEVENT_OPERATION_COMPLETED 10142 * @param event packet 10143 * @return map_cid 10144 * @note: btstack_type 2 10145 */ 10146 static inline uint16_t map_subevent_operation_completed_get_map_cid(const uint8_t * event){ 10147 return little_endian_read_16(event, 3); 10148 } 10149 /** 10150 * @brief Get field status from event MAP_SUBEVENT_OPERATION_COMPLETED 10151 * @param event packet 10152 * @return status 10153 * @note: btstack_type 1 10154 */ 10155 static inline uint8_t map_subevent_operation_completed_get_status(const uint8_t * event){ 10156 return event[5]; 10157 } 10158 10159 /** 10160 * @brief Get field map_cid from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 10161 * @param event packet 10162 * @return map_cid 10163 * @note: btstack_type 2 10164 */ 10165 static inline uint16_t map_subevent_folder_listing_item_get_map_cid(const uint8_t * event){ 10166 return little_endian_read_16(event, 3); 10167 } 10168 /** 10169 * @brief Get field name_len from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 10170 * @param event packet 10171 * @return name_len 10172 * @note: btstack_type L 10173 */ 10174 static inline uint16_t map_subevent_folder_listing_item_get_name_len(const uint8_t * event){ 10175 return little_endian_read_16(event, 5); 10176 } 10177 /** 10178 * @brief Get field name from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 10179 * @param event packet 10180 * @return name 10181 * @note: btstack_type V 10182 */ 10183 static inline const uint8_t * map_subevent_folder_listing_item_get_name(const uint8_t * event){ 10184 return &event[7]; 10185 } 10186 10187 /** 10188 * @brief Get field map_cid from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 10189 * @param event packet 10190 * @return map_cid 10191 * @note: btstack_type 2 10192 */ 10193 static inline uint16_t map_subevent_message_listing_item_get_map_cid(const uint8_t * event){ 10194 return little_endian_read_16(event, 3); 10195 } 10196 /** 10197 * @brief Get field handle from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 10198 * @param event packet 10199 * @return handle 10200 * @note: btstack_type D 10201 */ 10202 static inline const uint8_t * map_subevent_message_listing_item_get_handle(const uint8_t * event){ 10203 return (const uint8_t *) &event[5]; 10204 } 10205 10206 /** 10207 * @brief Get field map_cid from event MAP_SUBEVENT_PARSING_DONE 10208 * @param event packet 10209 * @return map_cid 10210 * @note: btstack_type 2 10211 */ 10212 static inline uint16_t map_subevent_parsing_done_get_map_cid(const uint8_t * event){ 10213 return little_endian_read_16(event, 3); 10214 } 10215 10216 10217 /** 10218 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 10219 * @param event packet 10220 * @return status 10221 * @note: btstack_type 1 10222 */ 10223 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 10224 return event[3]; 10225 } 10226 10227 /** 10228 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 10229 * @param event packet 10230 * @return status 10231 * @note: btstack_type 1 10232 */ 10233 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 10234 return event[3]; 10235 } 10236 /** 10237 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 10238 * @param event packet 10239 * @return pb_transport_cid 10240 * @note: btstack_type 2 10241 */ 10242 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 10243 return little_endian_read_16(event, 4); 10244 } 10245 /** 10246 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 10247 * @param event packet 10248 * @return pb_type 10249 * @note: btstack_type 1 10250 */ 10251 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 10252 return event[6]; 10253 } 10254 10255 /** 10256 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 10257 * @param event packet 10258 * @return pb_transport_cid 10259 * @note: btstack_type 1 10260 */ 10261 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 10262 return event[3]; 10263 } 10264 /** 10265 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 10266 * @param event packet 10267 * @return reason 10268 * @note: btstack_type 2 10269 */ 10270 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 10271 return little_endian_read_16(event, 4); 10272 } 10273 10274 /** 10275 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 10276 * @param event packet 10277 * @return pb_transport_cid 10278 * @note: btstack_type 2 10279 */ 10280 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 10281 return little_endian_read_16(event, 3); 10282 } 10283 /** 10284 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 10285 * @param event packet 10286 * @return attention_time 10287 * @note: btstack_type 1 10288 */ 10289 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 10290 return event[5]; 10291 } 10292 10293 /** 10294 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 10295 * @param event packet 10296 * @return pb_transport_cid 10297 * @note: btstack_type 2 10298 */ 10299 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 10300 return little_endian_read_16(event, 3); 10301 } 10302 10303 /** 10304 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 10305 * @param event packet 10306 * @return pb_transport_cid 10307 * @note: btstack_type 2 10308 */ 10309 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 10310 return little_endian_read_16(event, 3); 10311 } 10312 10313 /** 10314 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 10315 * @param event packet 10316 * @return pb_transport_cid 10317 * @note: btstack_type 2 10318 */ 10319 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 10320 return little_endian_read_16(event, 3); 10321 } 10322 10323 /** 10324 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 10325 * @param event packet 10326 * @return pb_transport_cid 10327 * @note: btstack_type 2 10328 */ 10329 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 10330 return little_endian_read_16(event, 3); 10331 } 10332 /** 10333 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 10334 * @param event packet 10335 * @return output_oob 10336 * @note: btstack_type 4 10337 */ 10338 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 10339 return little_endian_read_32(event, 5); 10340 } 10341 10342 /** 10343 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 10344 * @param event packet 10345 * @return pb_transport_cid 10346 * @note: btstack_type 2 10347 */ 10348 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 10349 return little_endian_read_16(event, 3); 10350 } 10351 10352 /** 10353 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 10354 * @param event packet 10355 * @return pb_transport_cid 10356 * @note: btstack_type 2 10357 */ 10358 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 10359 return little_endian_read_16(event, 3); 10360 } 10361 10362 /** 10363 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 10364 * @param event packet 10365 * @return pb_transport_cid 10366 * @note: btstack_type 2 10367 */ 10368 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 10369 return little_endian_read_16(event, 3); 10370 } 10371 10372 /** 10373 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 10374 * @param event packet 10375 * @return pb_transport_cid 10376 * @note: btstack_type 2 10377 */ 10378 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 10379 return little_endian_read_16(event, 3); 10380 } 10381 10382 /** 10383 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 10384 * @param event packet 10385 * @return pb_transport_cid 10386 * @note: btstack_type 2 10387 */ 10388 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 10389 return little_endian_read_16(event, 3); 10390 } 10391 /** 10392 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 10393 * @param event packet 10394 * @return output_oob 10395 * @note: btstack_type 4 10396 */ 10397 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 10398 return little_endian_read_32(event, 5); 10399 } 10400 10401 /** 10402 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 10403 * @param event packet 10404 * @return pb_transport_cid 10405 * @note: btstack_type 2 10406 */ 10407 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 10408 return little_endian_read_16(event, 3); 10409 } 10410 10411 /** 10412 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10413 * @param event packet 10414 * @return pb_transport_cid 10415 * @note: btstack_type 2 10416 */ 10417 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 10418 return little_endian_read_16(event, 3); 10419 } 10420 /** 10421 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10422 * @param event packet 10423 * @return num_elements 10424 * @note: btstack_type 1 10425 */ 10426 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 10427 return event[5]; 10428 } 10429 /** 10430 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10431 * @param event packet 10432 * @return algorithms 10433 * @note: btstack_type 2 10434 */ 10435 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 10436 return little_endian_read_16(event, 6); 10437 } 10438 /** 10439 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10440 * @param event packet 10441 * @return public_key 10442 * @note: btstack_type 1 10443 */ 10444 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 10445 return event[8]; 10446 } 10447 /** 10448 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10449 * @param event packet 10450 * @return static_oob_type 10451 * @note: btstack_type 1 10452 */ 10453 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 10454 return event[9]; 10455 } 10456 /** 10457 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10458 * @param event packet 10459 * @return output_oob_size 10460 * @note: btstack_type 1 10461 */ 10462 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 10463 return event[10]; 10464 } 10465 /** 10466 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10467 * @param event packet 10468 * @return output_oob_action 10469 * @note: btstack_type 2 10470 */ 10471 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 10472 return little_endian_read_16(event, 11); 10473 } 10474 /** 10475 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10476 * @param event packet 10477 * @return input_oob_size 10478 * @note: btstack_type 1 10479 */ 10480 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 10481 return event[13]; 10482 } 10483 /** 10484 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 10485 * @param event packet 10486 * @return input_oob_action 10487 * @note: btstack_type 2 10488 */ 10489 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 10490 return little_endian_read_16(event, 14); 10491 } 10492 10493 /** 10494 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 10495 * @param event packet 10496 * @return pb_transport_cid 10497 * @note: btstack_type 2 10498 */ 10499 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 10500 return little_endian_read_16(event, 3); 10501 } 10502 10503 /** 10504 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 10505 * @param event packet 10506 * @return attention_time 10507 * @note: btstack_type 1 10508 */ 10509 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 10510 return event[3]; 10511 } 10512 10513 /** 10514 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 10515 * @param event packet 10516 * @return con_handle 10517 * @note: btstack_type H 10518 */ 10519 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 10520 return little_endian_read_16(event, 3); 10521 } 10522 10523 /** 10524 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 10525 * @param event packet 10526 * @return con_handle 10527 * @note: btstack_type H 10528 */ 10529 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 10530 return little_endian_read_16(event, 3); 10531 } 10532 10533 /** 10534 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 10535 * @param event packet 10536 * @return con_handle 10537 * @note: btstack_type H 10538 */ 10539 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 10540 return little_endian_read_16(event, 3); 10541 } 10542 10543 /** 10544 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 10545 * @param event packet 10546 * @return con_handle 10547 * @note: btstack_type H 10548 */ 10549 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 10550 return little_endian_read_16(event, 3); 10551 } 10552 10553 /** 10554 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 10555 * @param event packet 10556 * @return element_index 10557 * @note: btstack_type 1 10558 */ 10559 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 10560 return event[3]; 10561 } 10562 /** 10563 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 10564 * @param event packet 10565 * @return model_identifier 10566 * @note: btstack_type 4 10567 */ 10568 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 10569 return little_endian_read_32(event, 4); 10570 } 10571 /** 10572 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 10573 * @param event packet 10574 * @return state_identifier 10575 * @note: btstack_type 4 10576 */ 10577 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 10578 return little_endian_read_32(event, 8); 10579 } 10580 /** 10581 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 10582 * @param event packet 10583 * @return reason 10584 * @note: btstack_type 1 10585 */ 10586 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 10587 return event[12]; 10588 } 10589 /** 10590 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 10591 * @param event packet 10592 * @return value 10593 * @note: btstack_type 1 10594 */ 10595 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 10596 return event[13]; 10597 } 10598 10599 /** 10600 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 10601 * @param event packet 10602 * @return element_index 10603 * @note: btstack_type 1 10604 */ 10605 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 10606 return event[3]; 10607 } 10608 /** 10609 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 10610 * @param event packet 10611 * @return model_identifier 10612 * @note: btstack_type 4 10613 */ 10614 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 10615 return little_endian_read_32(event, 4); 10616 } 10617 /** 10618 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 10619 * @param event packet 10620 * @return state_identifier 10621 * @note: btstack_type 4 10622 */ 10623 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 10624 return little_endian_read_32(event, 8); 10625 } 10626 /** 10627 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 10628 * @param event packet 10629 * @return reason 10630 * @note: btstack_type 1 10631 */ 10632 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 10633 return event[12]; 10634 } 10635 /** 10636 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 10637 * @param event packet 10638 * @return value 10639 * @note: btstack_type 2 10640 */ 10641 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 10642 return little_endian_read_16(event, 13); 10643 } 10644 10645 /** 10646 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 10647 * @param event packet 10648 * @return element_index 10649 * @note: btstack_type 1 10650 */ 10651 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 10652 return event[3]; 10653 } 10654 /** 10655 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 10656 * @param event packet 10657 * @return model_identifier 10658 * @note: btstack_type 4 10659 */ 10660 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 10661 return little_endian_read_32(event, 4); 10662 } 10663 /** 10664 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 10665 * @param event packet 10666 * @return opcode 10667 * @note: btstack_type 4 10668 */ 10669 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 10670 return little_endian_read_32(event, 8); 10671 } 10672 /** 10673 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 10674 * @param event packet 10675 * @return dest 10676 * @note: btstack_type 2 10677 */ 10678 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 10679 return little_endian_read_16(event, 12); 10680 } 10681 10682 /** 10683 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 10684 * @param event packet 10685 * @return dest 10686 * @note: btstack_type 2 10687 */ 10688 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 10689 return little_endian_read_16(event, 3); 10690 } 10691 /** 10692 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 10693 * @param event packet 10694 * @return status 10695 * @note: btstack_type 1 10696 */ 10697 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 10698 return event[5]; 10699 } 10700 /** 10701 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 10702 * @param event packet 10703 * @return present_value 10704 * @note: btstack_type 1 10705 */ 10706 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 10707 return event[6]; 10708 } 10709 /** 10710 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 10711 * @param event packet 10712 * @return target_value 10713 * @note: btstack_type 1 10714 */ 10715 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 10716 return event[7]; 10717 } 10718 /** 10719 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 10720 * @param event packet 10721 * @return remaining_time_ms 10722 * @note: btstack_type 4 10723 */ 10724 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 10725 return little_endian_read_32(event, 8); 10726 } 10727 10728 /** 10729 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 10730 * @param event packet 10731 * @return dest 10732 * @note: btstack_type 2 10733 */ 10734 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 10735 return little_endian_read_16(event, 3); 10736 } 10737 /** 10738 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 10739 * @param event packet 10740 * @return status 10741 * @note: btstack_type 1 10742 */ 10743 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 10744 return event[5]; 10745 } 10746 /** 10747 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 10748 * @param event packet 10749 * @return present_value 10750 * @note: btstack_type 2 10751 */ 10752 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 10753 return little_endian_read_16(event, 6); 10754 } 10755 /** 10756 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 10757 * @param event packet 10758 * @return target_value 10759 * @note: btstack_type 2 10760 */ 10761 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 10762 return little_endian_read_16(event, 8); 10763 } 10764 /** 10765 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 10766 * @param event packet 10767 * @return remaining_time_ms 10768 * @note: btstack_type 4 10769 */ 10770 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 10771 return little_endian_read_32(event, 10); 10772 } 10773 10774 /** 10775 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 10776 * @param event packet 10777 * @return dest 10778 * @note: btstack_type 2 10779 */ 10780 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 10781 return little_endian_read_16(event, 3); 10782 } 10783 /** 10784 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 10785 * @param event packet 10786 * @return netkey_index 10787 * @note: btstack_type 2 10788 */ 10789 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 10790 return little_endian_read_16(event, 5); 10791 } 10792 /** 10793 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 10794 * @param event packet 10795 * @return appkey_index 10796 * @note: btstack_type 2 10797 */ 10798 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 10799 return little_endian_read_16(event, 7); 10800 } 10801 /** 10802 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 10803 * @param event packet 10804 * @return company_id 10805 * @note: btstack_type 2 10806 */ 10807 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 10808 return little_endian_read_16(event, 9); 10809 } 10810 /** 10811 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 10812 * @param event packet 10813 * @return test_id 10814 * @note: btstack_type 1 10815 */ 10816 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 10817 return event[11]; 10818 } 10819 /** 10820 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 10821 * @param event packet 10822 * @return acknowledged 10823 * @note: btstack_type 1 10824 */ 10825 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 10826 return event[12]; 10827 } 10828 10829 /** 10830 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 10831 * @param event packet 10832 * @return element_index 10833 * @note: btstack_type 1 10834 */ 10835 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 10836 return event[3]; 10837 } 10838 10839 /** 10840 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 10841 * @param event packet 10842 * @return dest 10843 * @note: btstack_type 2 10844 */ 10845 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 10846 return little_endian_read_16(event, 3); 10847 } 10848 /** 10849 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 10850 * @param event packet 10851 * @return status 10852 * @note: btstack_type 1 10853 */ 10854 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 10855 return event[5]; 10856 } 10857 /** 10858 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 10859 * @param event packet 10860 * @return transition_time_gdtt 10861 * @note: btstack_type 1 10862 */ 10863 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 10864 return event[6]; 10865 } 10866 10867 /** 10868 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 10869 * @param event packet 10870 * @return dest 10871 * @note: btstack_type 2 10872 */ 10873 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 10874 return little_endian_read_16(event, 3); 10875 } 10876 /** 10877 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 10878 * @param event packet 10879 * @return foundation_status 10880 * @note: btstack_type 1 10881 */ 10882 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 10883 return event[5]; 10884 } 10885 /** 10886 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 10887 * @param event packet 10888 * @return secure_network_beacon_state 10889 * @note: btstack_type 1 10890 */ 10891 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 10892 return event[6]; 10893 } 10894 10895 /** 10896 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 10897 * @param event packet 10898 * @return dest 10899 * @note: btstack_type 2 10900 */ 10901 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 10902 return little_endian_read_16(event, 3); 10903 } 10904 /** 10905 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 10906 * @param event packet 10907 * @return foundation_status 10908 * @note: btstack_type 1 10909 */ 10910 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 10911 return event[5]; 10912 } 10913 /** 10914 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 10915 * @param event packet 10916 * @return default_ttl 10917 * @note: btstack_type 1 10918 */ 10919 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 10920 return event[6]; 10921 } 10922 10923 /** 10924 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 10925 * @param event packet 10926 * @return dest 10927 * @note: btstack_type 2 10928 */ 10929 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 10930 return little_endian_read_16(event, 3); 10931 } 10932 /** 10933 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 10934 * @param event packet 10935 * @return foundation_status 10936 * @note: btstack_type 1 10937 */ 10938 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 10939 return event[5]; 10940 } 10941 /** 10942 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 10943 * @param event packet 10944 * @return gatt_proxy_state 10945 * @note: btstack_type 1 10946 */ 10947 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 10948 return event[6]; 10949 } 10950 10951 /** 10952 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 10953 * @param event packet 10954 * @return dest 10955 * @note: btstack_type 2 10956 */ 10957 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 10958 return little_endian_read_16(event, 3); 10959 } 10960 /** 10961 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 10962 * @param event packet 10963 * @return foundation_status 10964 * @note: btstack_type 1 10965 */ 10966 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 10967 return event[5]; 10968 } 10969 /** 10970 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 10971 * @param event packet 10972 * @return relay 10973 * @note: btstack_type 1 10974 */ 10975 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 10976 return event[6]; 10977 } 10978 /** 10979 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 10980 * @param event packet 10981 * @return retransmit_count 10982 * @note: btstack_type 1 10983 */ 10984 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 10985 return event[7]; 10986 } 10987 /** 10988 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 10989 * @param event packet 10990 * @return retransmit_interval_ms 10991 * @note: btstack_type 1 10992 */ 10993 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 10994 return event[8]; 10995 } 10996 10997 /** 10998 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 10999 * @param event packet 11000 * @return dest 11001 * @note: btstack_type 2 11002 */ 11003 static inline uint16_t mesh_subevent_configuration_model_publication_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_MODEL_PUBLICATION 11008 * @param event packet 11009 * @return foundation_status 11010 * @note: btstack_type 1 11011 */ 11012 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 11013 return event[5]; 11014 } 11015 /** 11016 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11017 * @param event packet 11018 * @return publish_address 11019 * @note: btstack_type 2 11020 */ 11021 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 11022 return little_endian_read_16(event, 6); 11023 } 11024 /** 11025 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11026 * @param event packet 11027 * @return appkey_index 11028 * @note: btstack_type 2 11029 */ 11030 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 11031 return little_endian_read_16(event, 8); 11032 } 11033 /** 11034 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11035 * @param event packet 11036 * @return credential_flag 11037 * @note: btstack_type 1 11038 */ 11039 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 11040 return event[10]; 11041 } 11042 /** 11043 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11044 * @param event packet 11045 * @return publish_ttl 11046 * @note: btstack_type 1 11047 */ 11048 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 11049 return event[11]; 11050 } 11051 /** 11052 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11053 * @param event packet 11054 * @return publish_period 11055 * @note: btstack_type 1 11056 */ 11057 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 11058 return event[12]; 11059 } 11060 /** 11061 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11062 * @param event packet 11063 * @return publish_retransmit_count 11064 * @note: btstack_type 1 11065 */ 11066 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 11067 return event[13]; 11068 } 11069 /** 11070 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11071 * @param event packet 11072 * @return publish_retransmit_interval_steps 11073 * @note: btstack_type 1 11074 */ 11075 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 11076 return event[14]; 11077 } 11078 /** 11079 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 11080 * @param event packet 11081 * @return model_identifier 11082 * @note: btstack_type 4 11083 */ 11084 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 11085 return little_endian_read_32(event, 15); 11086 } 11087 11088 /** 11089 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 11090 * @param event packet 11091 * @return dest 11092 * @note: btstack_type 2 11093 */ 11094 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 11095 return little_endian_read_16(event, 3); 11096 } 11097 /** 11098 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 11099 * @param event packet 11100 * @return foundation_status 11101 * @note: btstack_type 1 11102 */ 11103 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 11104 return event[5]; 11105 } 11106 /** 11107 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 11108 * @param event packet 11109 * @return address 11110 * @note: btstack_type 2 11111 */ 11112 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 11113 return little_endian_read_16(event, 6); 11114 } 11115 /** 11116 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 11117 * @param event packet 11118 * @return model_identifier 11119 * @note: btstack_type 4 11120 */ 11121 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 11122 return little_endian_read_32(event, 8); 11123 } 11124 11125 /** 11126 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 11127 * @param event packet 11128 * @return dest 11129 * @note: btstack_type 2 11130 */ 11131 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 11132 return little_endian_read_16(event, 3); 11133 } 11134 /** 11135 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 11136 * @param event packet 11137 * @return foundation_status 11138 * @note: btstack_type 1 11139 */ 11140 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 11141 return event[5]; 11142 } 11143 /** 11144 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 11145 * @param event packet 11146 * @return model_identifier 11147 * @note: btstack_type 4 11148 */ 11149 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 11150 return little_endian_read_32(event, 6); 11151 } 11152 /** 11153 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 11154 * @param event packet 11155 * @return num_subscription_addresses 11156 * @note: btstack_type 1 11157 */ 11158 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 11159 return event[10]; 11160 } 11161 /** 11162 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 11163 * @param event packet 11164 * @return subscription_address_pos 11165 * @note: btstack_type 1 11166 */ 11167 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 11168 return event[11]; 11169 } 11170 /** 11171 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 11172 * @param event packet 11173 * @return subscription_address_item 11174 * @note: btstack_type 2 11175 */ 11176 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 11177 return little_endian_read_16(event, 12); 11178 } 11179 11180 /** 11181 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 11182 * @param event packet 11183 * @return dest 11184 * @note: btstack_type 2 11185 */ 11186 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 11187 return little_endian_read_16(event, 3); 11188 } 11189 /** 11190 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 11191 * @param event packet 11192 * @return foundation_status 11193 * @note: btstack_type 1 11194 */ 11195 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 11196 return event[5]; 11197 } 11198 11199 /** 11200 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 11201 * @param event packet 11202 * @return dest 11203 * @note: btstack_type 2 11204 */ 11205 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 11206 return little_endian_read_16(event, 3); 11207 } 11208 /** 11209 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 11210 * @param event packet 11211 * @return foundation_status 11212 * @note: btstack_type 1 11213 */ 11214 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 11215 return event[5]; 11216 } 11217 /** 11218 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 11219 * @param event packet 11220 * @return num_netkey_indexes 11221 * @note: btstack_type 1 11222 */ 11223 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 11224 return event[6]; 11225 } 11226 /** 11227 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 11228 * @param event packet 11229 * @return netkey_index_pos 11230 * @note: btstack_type 1 11231 */ 11232 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 11233 return event[7]; 11234 } 11235 /** 11236 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 11237 * @param event packet 11238 * @return netkey_index_item 11239 * @note: btstack_type 2 11240 */ 11241 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 11242 return little_endian_read_16(event, 8); 11243 } 11244 11245 /** 11246 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 11247 * @param event packet 11248 * @return dest 11249 * @note: btstack_type 2 11250 */ 11251 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 11252 return little_endian_read_16(event, 3); 11253 } 11254 /** 11255 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 11256 * @param event packet 11257 * @return foundation_status 11258 * @note: btstack_type 1 11259 */ 11260 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 11261 return event[5]; 11262 } 11263 /** 11264 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 11265 * @param event packet 11266 * @return netkey_index_item 11267 * @note: btstack_type 2 11268 */ 11269 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 11270 return little_endian_read_16(event, 6); 11271 } 11272 /** 11273 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 11274 * @param event packet 11275 * @return appkey_index_item 11276 * @note: btstack_type 2 11277 */ 11278 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 11279 return little_endian_read_16(event, 8); 11280 } 11281 11282 /** 11283 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 11284 * @param event packet 11285 * @return dest 11286 * @note: btstack_type 2 11287 */ 11288 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_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_APPKEY_INDEX_LIST_ITEM 11293 * @param event packet 11294 * @return foundation_status 11295 * @note: btstack_type 1 11296 */ 11297 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 11298 return event[5]; 11299 } 11300 /** 11301 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 11302 * @param event packet 11303 * @return netkey_index 11304 * @note: btstack_type 2 11305 */ 11306 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 11307 return little_endian_read_16(event, 6); 11308 } 11309 /** 11310 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 11311 * @param event packet 11312 * @return num_appkey_indexes 11313 * @note: btstack_type 1 11314 */ 11315 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 11316 return event[8]; 11317 } 11318 /** 11319 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 11320 * @param event packet 11321 * @return appkey_index_pos 11322 * @note: btstack_type 1 11323 */ 11324 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 11325 return event[9]; 11326 } 11327 /** 11328 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 11329 * @param event packet 11330 * @return netkey_index_item 11331 * @note: btstack_type 2 11332 */ 11333 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 11334 return little_endian_read_16(event, 10); 11335 } 11336 /** 11337 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 11338 * @param event packet 11339 * @return appkey_index_item 11340 * @note: btstack_type 2 11341 */ 11342 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 11343 return little_endian_read_16(event, 12); 11344 } 11345 11346 /** 11347 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 11348 * @param event packet 11349 * @return dest 11350 * @note: btstack_type 2 11351 */ 11352 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 11353 return little_endian_read_16(event, 3); 11354 } 11355 /** 11356 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 11357 * @param event packet 11358 * @return foundation_status 11359 * @note: btstack_type 1 11360 */ 11361 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 11362 return event[5]; 11363 } 11364 /** 11365 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 11366 * @param event packet 11367 * @return netkey_index_item 11368 * @note: btstack_type 2 11369 */ 11370 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 11371 return little_endian_read_16(event, 6); 11372 } 11373 /** 11374 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 11375 * @param event packet 11376 * @return identity_status 11377 * @note: btstack_type 1 11378 */ 11379 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 11380 return event[8]; 11381 } 11382 11383 /** 11384 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 11385 * @param event packet 11386 * @return dest 11387 * @note: btstack_type 2 11388 */ 11389 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 11390 return little_endian_read_16(event, 3); 11391 } 11392 /** 11393 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 11394 * @param event packet 11395 * @return foundation_status 11396 * @note: btstack_type 1 11397 */ 11398 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 11399 return event[5]; 11400 } 11401 /** 11402 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 11403 * @param event packet 11404 * @return appkey_index 11405 * @note: btstack_type 2 11406 */ 11407 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 11408 return little_endian_read_16(event, 6); 11409 } 11410 /** 11411 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 11412 * @param event packet 11413 * @return model_identifier 11414 * @note: btstack_type 4 11415 */ 11416 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 11417 return little_endian_read_32(event, 8); 11418 } 11419 11420 /** 11421 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 11422 * @param event packet 11423 * @return dest 11424 * @note: btstack_type 2 11425 */ 11426 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 11427 return little_endian_read_16(event, 3); 11428 } 11429 /** 11430 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 11431 * @param event packet 11432 * @return foundation_status 11433 * @note: btstack_type 1 11434 */ 11435 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 11436 return event[5]; 11437 } 11438 /** 11439 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 11440 * @param event packet 11441 * @return model_id 11442 * @note: btstack_type 4 11443 */ 11444 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 11445 return little_endian_read_32(event, 6); 11446 } 11447 /** 11448 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 11449 * @param event packet 11450 * @return num_appkey_indexes 11451 * @note: btstack_type 1 11452 */ 11453 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 11454 return event[10]; 11455 } 11456 /** 11457 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 11458 * @param event packet 11459 * @return appkey_index_pos 11460 * @note: btstack_type 1 11461 */ 11462 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 11463 return event[11]; 11464 } 11465 /** 11466 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 11467 * @param event packet 11468 * @return appkey_index_item 11469 * @note: btstack_type 2 11470 */ 11471 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 11472 return little_endian_read_16(event, 12); 11473 } 11474 11475 /** 11476 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 11477 * @param event packet 11478 * @return dest 11479 * @note: btstack_type 2 11480 */ 11481 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 11482 return little_endian_read_16(event, 3); 11483 } 11484 /** 11485 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 11486 * @param event packet 11487 * @return foundation_status 11488 * @note: btstack_type 1 11489 */ 11490 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 11491 return event[5]; 11492 } 11493 11494 /** 11495 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 11496 * @param event packet 11497 * @return dest 11498 * @note: btstack_type 2 11499 */ 11500 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 11501 return little_endian_read_16(event, 3); 11502 } 11503 /** 11504 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 11505 * @param event packet 11506 * @return foundation_status 11507 * @note: btstack_type 1 11508 */ 11509 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 11510 return event[5]; 11511 } 11512 /** 11513 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 11514 * @param event packet 11515 * @return friend_state 11516 * @note: btstack_type 1 11517 */ 11518 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 11519 return event[6]; 11520 } 11521 11522 /** 11523 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 11524 * @param event packet 11525 * @return dest 11526 * @note: btstack_type 2 11527 */ 11528 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_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_KEY_REFRESH_PHASE 11533 * @param event packet 11534 * @return foundation_status 11535 * @note: btstack_type 1 11536 */ 11537 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 11538 return event[5]; 11539 } 11540 /** 11541 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 11542 * @param event packet 11543 * @return netkey_index 11544 * @note: btstack_type 2 11545 */ 11546 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 11547 return little_endian_read_16(event, 6); 11548 } 11549 /** 11550 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 11551 * @param event packet 11552 * @return phase 11553 * @note: btstack_type 1 11554 */ 11555 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 11556 return event[8]; 11557 } 11558 11559 /** 11560 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11561 * @param event packet 11562 * @return dest 11563 * @note: btstack_type 2 11564 */ 11565 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 11566 return little_endian_read_16(event, 3); 11567 } 11568 /** 11569 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11570 * @param event packet 11571 * @return foundation_status 11572 * @note: btstack_type 1 11573 */ 11574 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 11575 return event[5]; 11576 } 11577 /** 11578 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11579 * @param event packet 11580 * @return heartbeat_destination 11581 * @note: btstack_type 2 11582 */ 11583 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 11584 return little_endian_read_16(event, 6); 11585 } 11586 /** 11587 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11588 * @param event packet 11589 * @return count_S 11590 * @note: btstack_type 2 11591 */ 11592 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 11593 return little_endian_read_16(event, 8); 11594 } 11595 /** 11596 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11597 * @param event packet 11598 * @return period_S 11599 * @note: btstack_type 2 11600 */ 11601 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 11602 return little_endian_read_16(event, 10); 11603 } 11604 /** 11605 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11606 * @param event packet 11607 * @return ttl 11608 * @note: btstack_type 1 11609 */ 11610 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 11611 return event[12]; 11612 } 11613 /** 11614 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11615 * @param event packet 11616 * @return features 11617 * @note: btstack_type 2 11618 */ 11619 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 11620 return little_endian_read_16(event, 13); 11621 } 11622 /** 11623 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 11624 * @param event packet 11625 * @return netkey_index 11626 * @note: btstack_type 2 11627 */ 11628 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 11629 return little_endian_read_16(event, 15); 11630 } 11631 11632 /** 11633 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11634 * @param event packet 11635 * @return dest 11636 * @note: btstack_type 2 11637 */ 11638 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 11639 return little_endian_read_16(event, 3); 11640 } 11641 /** 11642 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11643 * @param event packet 11644 * @return foundation_status 11645 * @note: btstack_type 1 11646 */ 11647 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 11648 return event[5]; 11649 } 11650 /** 11651 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11652 * @param event packet 11653 * @return heartbeat_destination 11654 * @note: btstack_type 2 11655 */ 11656 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 11657 return little_endian_read_16(event, 6); 11658 } 11659 /** 11660 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11661 * @param event packet 11662 * @return heartbeat_source 11663 * @note: btstack_type 2 11664 */ 11665 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 11666 return little_endian_read_16(event, 8); 11667 } 11668 /** 11669 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11670 * @param event packet 11671 * @return count_S 11672 * @note: btstack_type 2 11673 */ 11674 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 11675 return little_endian_read_16(event, 10); 11676 } 11677 /** 11678 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11679 * @param event packet 11680 * @return period_S 11681 * @note: btstack_type 2 11682 */ 11683 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 11684 return little_endian_read_16(event, 12); 11685 } 11686 /** 11687 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11688 * @param event packet 11689 * @return min_hops 11690 * @note: btstack_type 1 11691 */ 11692 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 11693 return event[14]; 11694 } 11695 /** 11696 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 11697 * @param event packet 11698 * @return max_hops 11699 * @note: btstack_type 1 11700 */ 11701 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 11702 return event[15]; 11703 } 11704 11705 /** 11706 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 11707 * @param event packet 11708 * @return dest 11709 * @note: btstack_type 2 11710 */ 11711 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 11712 return little_endian_read_16(event, 3); 11713 } 11714 /** 11715 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 11716 * @param event packet 11717 * @return foundation_status 11718 * @note: btstack_type 1 11719 */ 11720 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 11721 return event[5]; 11722 } 11723 /** 11724 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 11725 * @param event packet 11726 * @return lpn_address 11727 * @note: btstack_type 2 11728 */ 11729 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 11730 return little_endian_read_16(event, 6); 11731 } 11732 /** 11733 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 11734 * @param event packet 11735 * @return poll_timeout 11736 * @note: btstack_type 3 11737 */ 11738 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 11739 return little_endian_read_24(event, 8); 11740 } 11741 11742 /** 11743 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 11744 * @param event packet 11745 * @return dest 11746 * @note: btstack_type 2 11747 */ 11748 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 11749 return little_endian_read_16(event, 3); 11750 } 11751 /** 11752 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 11753 * @param event packet 11754 * @return foundation_status 11755 * @note: btstack_type 1 11756 */ 11757 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 11758 return event[5]; 11759 } 11760 /** 11761 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 11762 * @param event packet 11763 * @return transmit_count 11764 * @note: btstack_type 1 11765 */ 11766 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 11767 return event[6]; 11768 } 11769 /** 11770 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 11771 * @param event packet 11772 * @return transmit_interval_steps_ms 11773 * @note: btstack_type 2 11774 */ 11775 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 11776 return little_endian_read_16(event, 7); 11777 } 11778 11779 11780 11781 /* API_END */ 11782 11783 #if defined __cplusplus 11784 } 11785 #endif 11786 11787 #endif // BTSTACK_EVENT_H 11788