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