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