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_USER_CONFIRMATION_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_user_confirmation_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1000 reverse_bytes(&event[2], bd_addr, 6); 1001 } 1002 /** 1003 * @brief Get field numeric_value from event HCI_EVENT_USER_CONFIRMATION_REQUEST 1004 * @param event packet 1005 * @return numeric_value 1006 * @note: btstack_type 4 1007 */ 1008 static inline uint32_t hci_event_user_confirmation_request_get_numeric_value(const uint8_t * event){ 1009 return little_endian_read_32(event, 8); 1010 } 1011 1012 /** 1013 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_REQUEST 1014 * @param event packet 1015 * @param Pointer to storage for bd_addr 1016 * @note: btstack_type B 1017 */ 1018 static inline void hci_event_user_passkey_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1019 reverse_bytes(&event[2], bd_addr, 6); 1020 } 1021 1022 /** 1023 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_OOB_DATA_REQUEST 1024 * @param event packet 1025 * @param Pointer to storage for bd_addr 1026 * @note: btstack_type B 1027 */ 1028 static inline void hci_event_remote_oob_data_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1029 reverse_bytes(&event[2], bd_addr, 6); 1030 } 1031 1032 /** 1033 * @brief Get field status from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1034 * @param event packet 1035 * @return status 1036 * @note: btstack_type 1 1037 */ 1038 static inline uint8_t hci_event_simple_pairing_complete_get_status(const uint8_t * event){ 1039 return event[2]; 1040 } 1041 /** 1042 * @brief Get field bd_addr from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1043 * @param event packet 1044 * @param Pointer to storage for bd_addr 1045 * @note: btstack_type B 1046 */ 1047 static inline void hci_event_simple_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1048 reverse_bytes(&event[3], bd_addr, 6); 1049 } 1050 1051 /** 1052 * @brief Get field state from event BTSTACK_EVENT_STATE 1053 * @param event packet 1054 * @return state 1055 * @note: btstack_type 1 1056 */ 1057 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){ 1058 return event[2]; 1059 } 1060 1061 /** 1062 * @brief Get field number_connections from event BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 1063 * @param event packet 1064 * @return number_connections 1065 * @note: btstack_type 1 1066 */ 1067 static inline uint8_t btstack_event_nr_connections_changed_get_number_connections(const uint8_t * event){ 1068 return event[2]; 1069 } 1070 1071 1072 /** 1073 * @brief Get field discoverable from event BTSTACK_EVENT_DISCOVERABLE_ENABLED 1074 * @param event packet 1075 * @return discoverable 1076 * @note: btstack_type 1 1077 */ 1078 static inline uint8_t btstack_event_discoverable_enabled_get_discoverable(const uint8_t * event){ 1079 return event[2]; 1080 } 1081 1082 /** 1083 * @brief Get field active from event HCI_EVENT_TRANSPORT_SLEEP_MODE 1084 * @param event packet 1085 * @return active 1086 * @note: btstack_type 1 1087 */ 1088 static inline uint8_t hci_event_transport_sleep_mode_get_active(const uint8_t * event){ 1089 return event[2]; 1090 } 1091 1092 /** 1093 * @brief Get field handle from event HCI_EVENT_SCO_CAN_SEND_NOW 1094 * @param event packet 1095 * @param Pointer to storage for handle 1096 * @note: btstack_type B 1097 */ 1098 static inline void hci_event_sco_can_send_now_get_handle(const uint8_t * event, bd_addr_t handle){ 1099 reverse_bytes(&event[2], handle, 6); 1100 } 1101 1102 /** 1103 * @brief Get field status from event L2CAP_EVENT_CHANNEL_OPENED 1104 * @param event packet 1105 * @return status 1106 * @note: btstack_type 1 1107 */ 1108 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){ 1109 return event[2]; 1110 } 1111 /** 1112 * @brief Get field address from event L2CAP_EVENT_CHANNEL_OPENED 1113 * @param event packet 1114 * @param Pointer to storage for address 1115 * @note: btstack_type B 1116 */ 1117 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1118 reverse_bytes(&event[3], address, 6); 1119 } 1120 /** 1121 * @brief Get field handle from event L2CAP_EVENT_CHANNEL_OPENED 1122 * @param event packet 1123 * @return handle 1124 * @note: btstack_type H 1125 */ 1126 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){ 1127 return little_endian_read_16(event, 9); 1128 } 1129 /** 1130 * @brief Get field psm from event L2CAP_EVENT_CHANNEL_OPENED 1131 * @param event packet 1132 * @return psm 1133 * @note: btstack_type 2 1134 */ 1135 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){ 1136 return little_endian_read_16(event, 11); 1137 } 1138 /** 1139 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_OPENED 1140 * @param event packet 1141 * @return local_cid 1142 * @note: btstack_type 2 1143 */ 1144 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){ 1145 return little_endian_read_16(event, 13); 1146 } 1147 /** 1148 * @brief Get field remote_cid from event L2CAP_EVENT_CHANNEL_OPENED 1149 * @param event packet 1150 * @return remote_cid 1151 * @note: btstack_type 2 1152 */ 1153 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){ 1154 return little_endian_read_16(event, 15); 1155 } 1156 /** 1157 * @brief Get field local_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1158 * @param event packet 1159 * @return local_mtu 1160 * @note: btstack_type 2 1161 */ 1162 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){ 1163 return little_endian_read_16(event, 17); 1164 } 1165 /** 1166 * @brief Get field remote_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1167 * @param event packet 1168 * @return remote_mtu 1169 * @note: btstack_type 2 1170 */ 1171 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){ 1172 return little_endian_read_16(event, 19); 1173 } 1174 /** 1175 * @brief Get field flush_timeout from event L2CAP_EVENT_CHANNEL_OPENED 1176 * @param event packet 1177 * @return flush_timeout 1178 * @note: btstack_type 2 1179 */ 1180 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){ 1181 return little_endian_read_16(event, 21); 1182 } 1183 /** 1184 * @brief Get field incoming from event L2CAP_EVENT_CHANNEL_OPENED 1185 * @param event packet 1186 * @return incoming 1187 * @note: btstack_type 1 1188 */ 1189 static inline uint8_t l2cap_event_channel_opened_get_incoming(const uint8_t * event){ 1190 return event[23]; 1191 } 1192 /** 1193 * @brief Get field mode from event L2CAP_EVENT_CHANNEL_OPENED 1194 * @param event packet 1195 * @return mode 1196 * @note: btstack_type 1 1197 */ 1198 static inline uint8_t l2cap_event_channel_opened_get_mode(const uint8_t * event){ 1199 return event[24]; 1200 } 1201 /** 1202 * @brief Get field fcs from event L2CAP_EVENT_CHANNEL_OPENED 1203 * @param event packet 1204 * @return fcs 1205 * @note: btstack_type 1 1206 */ 1207 static inline uint8_t l2cap_event_channel_opened_get_fcs(const uint8_t * event){ 1208 return event[25]; 1209 } 1210 1211 /** 1212 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_CLOSED 1213 * @param event packet 1214 * @return local_cid 1215 * @note: btstack_type 2 1216 */ 1217 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){ 1218 return little_endian_read_16(event, 2); 1219 } 1220 1221 /** 1222 * @brief Get field address from event L2CAP_EVENT_INCOMING_CONNECTION 1223 * @param event packet 1224 * @param Pointer to storage for address 1225 * @note: btstack_type B 1226 */ 1227 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1228 reverse_bytes(&event[2], address, 6); 1229 } 1230 /** 1231 * @brief Get field handle from event L2CAP_EVENT_INCOMING_CONNECTION 1232 * @param event packet 1233 * @return handle 1234 * @note: btstack_type H 1235 */ 1236 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){ 1237 return little_endian_read_16(event, 8); 1238 } 1239 /** 1240 * @brief Get field psm from event L2CAP_EVENT_INCOMING_CONNECTION 1241 * @param event packet 1242 * @return psm 1243 * @note: btstack_type 2 1244 */ 1245 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){ 1246 return little_endian_read_16(event, 10); 1247 } 1248 /** 1249 * @brief Get field local_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1250 * @param event packet 1251 * @return local_cid 1252 * @note: btstack_type 2 1253 */ 1254 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){ 1255 return little_endian_read_16(event, 12); 1256 } 1257 /** 1258 * @brief Get field remote_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1259 * @param event packet 1260 * @return remote_cid 1261 * @note: btstack_type 2 1262 */ 1263 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){ 1264 return little_endian_read_16(event, 14); 1265 } 1266 1267 /** 1268 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1269 * @param event packet 1270 * @return handle 1271 * @note: btstack_type H 1272 */ 1273 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){ 1274 return little_endian_read_16(event, 2); 1275 } 1276 /** 1277 * @brief Get field interval_min from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1278 * @param event packet 1279 * @return interval_min 1280 * @note: btstack_type 2 1281 */ 1282 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){ 1283 return little_endian_read_16(event, 4); 1284 } 1285 /** 1286 * @brief Get field interval_max from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1287 * @param event packet 1288 * @return interval_max 1289 * @note: btstack_type 2 1290 */ 1291 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){ 1292 return little_endian_read_16(event, 6); 1293 } 1294 /** 1295 * @brief Get field latencey from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1296 * @param event packet 1297 * @return latencey 1298 * @note: btstack_type 2 1299 */ 1300 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latencey(const uint8_t * event){ 1301 return little_endian_read_16(event, 8); 1302 } 1303 /** 1304 * @brief Get field timeout_multiplier from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1305 * @param event packet 1306 * @return timeout_multiplier 1307 * @note: btstack_type 2 1308 */ 1309 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){ 1310 return little_endian_read_16(event, 10); 1311 } 1312 1313 /** 1314 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1315 * @param event packet 1316 * @return handle 1317 * @note: btstack_type H 1318 */ 1319 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){ 1320 return little_endian_read_16(event, 2); 1321 } 1322 /** 1323 * @brief Get field result from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1324 * @param event packet 1325 * @return result 1326 * @note: btstack_type 2 1327 */ 1328 static inline uint16_t l2cap_event_connection_parameter_update_response_get_result(const uint8_t * event){ 1329 return little_endian_read_16(event, 4); 1330 } 1331 1332 /** 1333 * @brief Get field local_cid from event L2CAP_EVENT_CAN_SEND_NOW 1334 * @param event packet 1335 * @return local_cid 1336 * @note: btstack_type 2 1337 */ 1338 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){ 1339 return little_endian_read_16(event, 2); 1340 } 1341 1342 /** 1343 * @brief Get field address_type from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1344 * @param event packet 1345 * @return address_type 1346 * @note: btstack_type 1 1347 */ 1348 static inline uint8_t l2cap_event_le_incoming_connection_get_address_type(const uint8_t * event){ 1349 return event[2]; 1350 } 1351 /** 1352 * @brief Get field address from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1353 * @param event packet 1354 * @param Pointer to storage for address 1355 * @note: btstack_type B 1356 */ 1357 static inline void l2cap_event_le_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1358 reverse_bytes(&event[3], address, 6); 1359 } 1360 /** 1361 * @brief Get field handle from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1362 * @param event packet 1363 * @return handle 1364 * @note: btstack_type H 1365 */ 1366 static inline hci_con_handle_t l2cap_event_le_incoming_connection_get_handle(const uint8_t * event){ 1367 return little_endian_read_16(event, 9); 1368 } 1369 /** 1370 * @brief Get field psm from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1371 * @param event packet 1372 * @return psm 1373 * @note: btstack_type 2 1374 */ 1375 static inline uint16_t l2cap_event_le_incoming_connection_get_psm(const uint8_t * event){ 1376 return little_endian_read_16(event, 11); 1377 } 1378 /** 1379 * @brief Get field local_cid from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1380 * @param event packet 1381 * @return local_cid 1382 * @note: btstack_type 2 1383 */ 1384 static inline uint16_t l2cap_event_le_incoming_connection_get_local_cid(const uint8_t * event){ 1385 return little_endian_read_16(event, 13); 1386 } 1387 /** 1388 * @brief Get field remote_cid from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1389 * @param event packet 1390 * @return remote_cid 1391 * @note: btstack_type 2 1392 */ 1393 static inline uint16_t l2cap_event_le_incoming_connection_get_remote_cid(const uint8_t * event){ 1394 return little_endian_read_16(event, 15); 1395 } 1396 /** 1397 * @brief Get field remote_mtu from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1398 * @param event packet 1399 * @return remote_mtu 1400 * @note: btstack_type 2 1401 */ 1402 static inline uint16_t l2cap_event_le_incoming_connection_get_remote_mtu(const uint8_t * event){ 1403 return little_endian_read_16(event, 17); 1404 } 1405 1406 /** 1407 * @brief Get field status from event L2CAP_EVENT_LE_CHANNEL_OPENED 1408 * @param event packet 1409 * @return status 1410 * @note: btstack_type 1 1411 */ 1412 static inline uint8_t l2cap_event_le_channel_opened_get_status(const uint8_t * event){ 1413 return event[2]; 1414 } 1415 /** 1416 * @brief Get field address_type from event L2CAP_EVENT_LE_CHANNEL_OPENED 1417 * @param event packet 1418 * @return address_type 1419 * @note: btstack_type 1 1420 */ 1421 static inline uint8_t l2cap_event_le_channel_opened_get_address_type(const uint8_t * event){ 1422 return event[3]; 1423 } 1424 /** 1425 * @brief Get field address from event L2CAP_EVENT_LE_CHANNEL_OPENED 1426 * @param event packet 1427 * @param Pointer to storage for address 1428 * @note: btstack_type B 1429 */ 1430 static inline void l2cap_event_le_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1431 reverse_bytes(&event[4], address, 6); 1432 } 1433 /** 1434 * @brief Get field handle from event L2CAP_EVENT_LE_CHANNEL_OPENED 1435 * @param event packet 1436 * @return handle 1437 * @note: btstack_type H 1438 */ 1439 static inline hci_con_handle_t l2cap_event_le_channel_opened_get_handle(const uint8_t * event){ 1440 return little_endian_read_16(event, 10); 1441 } 1442 /** 1443 * @brief Get field incoming from event L2CAP_EVENT_LE_CHANNEL_OPENED 1444 * @param event packet 1445 * @return incoming 1446 * @note: btstack_type 1 1447 */ 1448 static inline uint8_t l2cap_event_le_channel_opened_get_incoming(const uint8_t * event){ 1449 return event[12]; 1450 } 1451 /** 1452 * @brief Get field psm from event L2CAP_EVENT_LE_CHANNEL_OPENED 1453 * @param event packet 1454 * @return psm 1455 * @note: btstack_type 2 1456 */ 1457 static inline uint16_t l2cap_event_le_channel_opened_get_psm(const uint8_t * event){ 1458 return little_endian_read_16(event, 13); 1459 } 1460 /** 1461 * @brief Get field local_cid from event L2CAP_EVENT_LE_CHANNEL_OPENED 1462 * @param event packet 1463 * @return local_cid 1464 * @note: btstack_type 2 1465 */ 1466 static inline uint16_t l2cap_event_le_channel_opened_get_local_cid(const uint8_t * event){ 1467 return little_endian_read_16(event, 15); 1468 } 1469 /** 1470 * @brief Get field remote_cid from event L2CAP_EVENT_LE_CHANNEL_OPENED 1471 * @param event packet 1472 * @return remote_cid 1473 * @note: btstack_type 2 1474 */ 1475 static inline uint16_t l2cap_event_le_channel_opened_get_remote_cid(const uint8_t * event){ 1476 return little_endian_read_16(event, 17); 1477 } 1478 /** 1479 * @brief Get field local_mtu from event L2CAP_EVENT_LE_CHANNEL_OPENED 1480 * @param event packet 1481 * @return local_mtu 1482 * @note: btstack_type 2 1483 */ 1484 static inline uint16_t l2cap_event_le_channel_opened_get_local_mtu(const uint8_t * event){ 1485 return little_endian_read_16(event, 19); 1486 } 1487 /** 1488 * @brief Get field remote_mtu from event L2CAP_EVENT_LE_CHANNEL_OPENED 1489 * @param event packet 1490 * @return remote_mtu 1491 * @note: btstack_type 2 1492 */ 1493 static inline uint16_t l2cap_event_le_channel_opened_get_remote_mtu(const uint8_t * event){ 1494 return little_endian_read_16(event, 21); 1495 } 1496 1497 /** 1498 * @brief Get field local_cid from event L2CAP_EVENT_LE_CHANNEL_CLOSED 1499 * @param event packet 1500 * @return local_cid 1501 * @note: btstack_type 2 1502 */ 1503 static inline uint16_t l2cap_event_le_channel_closed_get_local_cid(const uint8_t * event){ 1504 return little_endian_read_16(event, 2); 1505 } 1506 1507 /** 1508 * @brief Get field local_cid from event L2CAP_EVENT_LE_CAN_SEND_NOW 1509 * @param event packet 1510 * @return local_cid 1511 * @note: btstack_type 2 1512 */ 1513 static inline uint16_t l2cap_event_le_can_send_now_get_local_cid(const uint8_t * event){ 1514 return little_endian_read_16(event, 2); 1515 } 1516 1517 /** 1518 * @brief Get field local_cid from event L2CAP_EVENT_LE_PACKET_SENT 1519 * @param event packet 1520 * @return local_cid 1521 * @note: btstack_type 2 1522 */ 1523 static inline uint16_t l2cap_event_le_packet_sent_get_local_cid(const uint8_t * event){ 1524 return little_endian_read_16(event, 2); 1525 } 1526 1527 /** 1528 * @brief Get field local_cid from event L2CAP_EVENT_ERTM_BUFFER_RELEASED 1529 * @param event packet 1530 * @return local_cid 1531 * @note: btstack_type 2 1532 */ 1533 static inline uint16_t l2cap_event_ertm_buffer_released_get_local_cid(const uint8_t * event){ 1534 return little_endian_read_16(event, 2); 1535 } 1536 1537 1538 /** 1539 * @brief Get field status from event RFCOMM_EVENT_CHANNEL_OPENED 1540 * @param event packet 1541 * @return status 1542 * @note: btstack_type 1 1543 */ 1544 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){ 1545 return event[2]; 1546 } 1547 /** 1548 * @brief Get field bd_addr from event RFCOMM_EVENT_CHANNEL_OPENED 1549 * @param event packet 1550 * @param Pointer to storage for bd_addr 1551 * @note: btstack_type B 1552 */ 1553 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1554 reverse_bytes(&event[3], bd_addr, 6); 1555 } 1556 /** 1557 * @brief Get field con_handle from event RFCOMM_EVENT_CHANNEL_OPENED 1558 * @param event packet 1559 * @return con_handle 1560 * @note: btstack_type 2 1561 */ 1562 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){ 1563 return little_endian_read_16(event, 9); 1564 } 1565 /** 1566 * @brief Get field server_channel from event RFCOMM_EVENT_CHANNEL_OPENED 1567 * @param event packet 1568 * @return server_channel 1569 * @note: btstack_type 1 1570 */ 1571 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){ 1572 return event[11]; 1573 } 1574 /** 1575 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_OPENED 1576 * @param event packet 1577 * @return rfcomm_cid 1578 * @note: btstack_type 2 1579 */ 1580 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){ 1581 return little_endian_read_16(event, 12); 1582 } 1583 /** 1584 * @brief Get field max_frame_size from event RFCOMM_EVENT_CHANNEL_OPENED 1585 * @param event packet 1586 * @return max_frame_size 1587 * @note: btstack_type 2 1588 */ 1589 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){ 1590 return little_endian_read_16(event, 14); 1591 } 1592 /** 1593 * @brief Get field incoming from event RFCOMM_EVENT_CHANNEL_OPENED 1594 * @param event packet 1595 * @return incoming 1596 * @note: btstack_type 1 1597 */ 1598 static inline uint8_t rfcomm_event_channel_opened_get_incoming(const uint8_t * event){ 1599 return event[16]; 1600 } 1601 1602 /** 1603 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_CLOSED 1604 * @param event packet 1605 * @return rfcomm_cid 1606 * @note: btstack_type 2 1607 */ 1608 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){ 1609 return little_endian_read_16(event, 2); 1610 } 1611 1612 /** 1613 * @brief Get field bd_addr from event RFCOMM_EVENT_INCOMING_CONNECTION 1614 * @param event packet 1615 * @param Pointer to storage for bd_addr 1616 * @note: btstack_type B 1617 */ 1618 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1619 reverse_bytes(&event[2], bd_addr, 6); 1620 } 1621 /** 1622 * @brief Get field server_channel from event RFCOMM_EVENT_INCOMING_CONNECTION 1623 * @param event packet 1624 * @return server_channel 1625 * @note: btstack_type 1 1626 */ 1627 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){ 1628 return event[8]; 1629 } 1630 /** 1631 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_INCOMING_CONNECTION 1632 * @param event packet 1633 * @return rfcomm_cid 1634 * @note: btstack_type 2 1635 */ 1636 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){ 1637 return little_endian_read_16(event, 9); 1638 } 1639 1640 /** 1641 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_LINE_STATUS 1642 * @param event packet 1643 * @return rfcomm_cid 1644 * @note: btstack_type 2 1645 */ 1646 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){ 1647 return little_endian_read_16(event, 2); 1648 } 1649 /** 1650 * @brief Get field line_status from event RFCOMM_EVENT_REMOTE_LINE_STATUS 1651 * @param event packet 1652 * @return line_status 1653 * @note: btstack_type 1 1654 */ 1655 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){ 1656 return event[4]; 1657 } 1658 1659 /** 1660 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 1661 * @param event packet 1662 * @return rfcomm_cid 1663 * @note: btstack_type 2 1664 */ 1665 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){ 1666 return little_endian_read_16(event, 2); 1667 } 1668 /** 1669 * @brief Get field modem_status from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 1670 * @param event packet 1671 * @return modem_status 1672 * @note: btstack_type 1 1673 */ 1674 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){ 1675 return event[4]; 1676 } 1677 1678 /** 1679 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CAN_SEND_NOW 1680 * @param event packet 1681 * @return rfcomm_cid 1682 * @note: btstack_type 2 1683 */ 1684 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){ 1685 return little_endian_read_16(event, 2); 1686 } 1687 1688 /** 1689 * @brief Get field status from event SDP_EVENT_QUERY_COMPLETE 1690 * @param event packet 1691 * @return status 1692 * @note: btstack_type 1 1693 */ 1694 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){ 1695 return event[2]; 1696 } 1697 1698 /** 1699 * @brief Get field rfcomm_channel from event SDP_EVENT_QUERY_RFCOMM_SERVICE 1700 * @param event packet 1701 * @return rfcomm_channel 1702 * @note: btstack_type 1 1703 */ 1704 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){ 1705 return event[2]; 1706 } 1707 /** 1708 * @brief Get field name from event SDP_EVENT_QUERY_RFCOMM_SERVICE 1709 * @param event packet 1710 * @return name 1711 * @note: btstack_type T 1712 */ 1713 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){ 1714 return (const char *) &event[3]; 1715 } 1716 1717 /** 1718 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1719 * @param event packet 1720 * @return record_id 1721 * @note: btstack_type 2 1722 */ 1723 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){ 1724 return little_endian_read_16(event, 2); 1725 } 1726 /** 1727 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1728 * @param event packet 1729 * @return attribute_id 1730 * @note: btstack_type 2 1731 */ 1732 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){ 1733 return little_endian_read_16(event, 4); 1734 } 1735 /** 1736 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1737 * @param event packet 1738 * @return attribute_length 1739 * @note: btstack_type 2 1740 */ 1741 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){ 1742 return little_endian_read_16(event, 6); 1743 } 1744 /** 1745 * @brief Get field data_offset from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1746 * @param event packet 1747 * @return data_offset 1748 * @note: btstack_type 2 1749 */ 1750 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){ 1751 return little_endian_read_16(event, 8); 1752 } 1753 /** 1754 * @brief Get field data from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1755 * @param event packet 1756 * @return data 1757 * @note: btstack_type 1 1758 */ 1759 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){ 1760 return event[10]; 1761 } 1762 1763 /** 1764 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1765 * @param event packet 1766 * @return record_id 1767 * @note: btstack_type 2 1768 */ 1769 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){ 1770 return little_endian_read_16(event, 2); 1771 } 1772 /** 1773 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1774 * @param event packet 1775 * @return attribute_id 1776 * @note: btstack_type 2 1777 */ 1778 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){ 1779 return little_endian_read_16(event, 4); 1780 } 1781 /** 1782 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1783 * @param event packet 1784 * @return attribute_length 1785 * @note: btstack_type L 1786 */ 1787 static inline uint16_t sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){ 1788 return little_endian_read_16(event, 6); 1789 } 1790 /** 1791 * @brief Get field attribute_value from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1792 * @param event packet 1793 * @return attribute_value 1794 * @note: btstack_type V 1795 */ 1796 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){ 1797 return &event[8]; 1798 } 1799 1800 /** 1801 * @brief Get field total_count from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 1802 * @param event packet 1803 * @return total_count 1804 * @note: btstack_type 2 1805 */ 1806 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){ 1807 return little_endian_read_16(event, 2); 1808 } 1809 /** 1810 * @brief Get field record_index from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 1811 * @param event packet 1812 * @return record_index 1813 * @note: btstack_type 2 1814 */ 1815 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){ 1816 return little_endian_read_16(event, 4); 1817 } 1818 /** 1819 * @brief Get field record_handle from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 1820 * @param event packet 1821 * @return record_handle 1822 * @note: btstack_type 4 1823 */ 1824 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){ 1825 return little_endian_read_32(event, 6); 1826 } 1827 1828 #ifdef ENABLE_BLE 1829 /** 1830 * @brief Get field handle from event GATT_EVENT_QUERY_COMPLETE 1831 * @param event packet 1832 * @return handle 1833 * @note: btstack_type H 1834 */ 1835 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){ 1836 return little_endian_read_16(event, 2); 1837 } 1838 /** 1839 * @brief Get field att_status from event GATT_EVENT_QUERY_COMPLETE 1840 * @param event packet 1841 * @return att_status 1842 * @note: btstack_type 1 1843 */ 1844 static inline uint8_t gatt_event_query_complete_get_att_status(const uint8_t * event){ 1845 return event[4]; 1846 } 1847 #endif 1848 1849 #ifdef ENABLE_BLE 1850 /** 1851 * @brief Get field handle from event GATT_EVENT_SERVICE_QUERY_RESULT 1852 * @param event packet 1853 * @return handle 1854 * @note: btstack_type H 1855 */ 1856 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){ 1857 return little_endian_read_16(event, 2); 1858 } 1859 /** 1860 * @brief Get field service from event GATT_EVENT_SERVICE_QUERY_RESULT 1861 * @param event packet 1862 * @param Pointer to storage for service 1863 * @note: btstack_type X 1864 */ 1865 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 1866 gatt_client_deserialize_service(event, 4, service); 1867 } 1868 #endif 1869 1870 #ifdef ENABLE_BLE 1871 /** 1872 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 1873 * @param event packet 1874 * @return handle 1875 * @note: btstack_type H 1876 */ 1877 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){ 1878 return little_endian_read_16(event, 2); 1879 } 1880 /** 1881 * @brief Get field characteristic from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 1882 * @param event packet 1883 * @param Pointer to storage for characteristic 1884 * @note: btstack_type Y 1885 */ 1886 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){ 1887 gatt_client_deserialize_characteristic(event, 4, characteristic); 1888 } 1889 #endif 1890 1891 #ifdef ENABLE_BLE 1892 /** 1893 * @brief Get field handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 1894 * @param event packet 1895 * @return handle 1896 * @note: btstack_type H 1897 */ 1898 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){ 1899 return little_endian_read_16(event, 2); 1900 } 1901 /** 1902 * @brief Get field include_handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 1903 * @param event packet 1904 * @return include_handle 1905 * @note: btstack_type 2 1906 */ 1907 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){ 1908 return little_endian_read_16(event, 4); 1909 } 1910 /** 1911 * @brief Get field service from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 1912 * @param event packet 1913 * @param Pointer to storage for service 1914 * @note: btstack_type X 1915 */ 1916 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 1917 gatt_client_deserialize_service(event, 6, service); 1918 } 1919 #endif 1920 1921 #ifdef ENABLE_BLE 1922 /** 1923 * @brief Get field handle from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 1924 * @param event packet 1925 * @return handle 1926 * @note: btstack_type H 1927 */ 1928 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){ 1929 return little_endian_read_16(event, 2); 1930 } 1931 /** 1932 * @brief Get field characteristic_descriptor from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 1933 * @param event packet 1934 * @param Pointer to storage for characteristic_descriptor 1935 * @note: btstack_type Z 1936 */ 1937 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){ 1938 gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor); 1939 } 1940 #endif 1941 1942 #ifdef ENABLE_BLE 1943 /** 1944 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 1945 * @param event packet 1946 * @return handle 1947 * @note: btstack_type H 1948 */ 1949 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){ 1950 return little_endian_read_16(event, 2); 1951 } 1952 /** 1953 * @brief Get field value_handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 1954 * @param event packet 1955 * @return value_handle 1956 * @note: btstack_type 2 1957 */ 1958 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 1959 return little_endian_read_16(event, 4); 1960 } 1961 /** 1962 * @brief Get field value_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 1963 * @param event packet 1964 * @return value_length 1965 * @note: btstack_type L 1966 */ 1967 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){ 1968 return little_endian_read_16(event, 6); 1969 } 1970 /** 1971 * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 1972 * @param event packet 1973 * @return value 1974 * @note: btstack_type V 1975 */ 1976 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){ 1977 return &event[8]; 1978 } 1979 #endif 1980 1981 #ifdef ENABLE_BLE 1982 /** 1983 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 1984 * @param event packet 1985 * @return handle 1986 * @note: btstack_type H 1987 */ 1988 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){ 1989 return little_endian_read_16(event, 2); 1990 } 1991 /** 1992 * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 1993 * @param event packet 1994 * @return value_handle 1995 * @note: btstack_type 2 1996 */ 1997 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 1998 return little_endian_read_16(event, 4); 1999 } 2000 /** 2001 * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2002 * @param event packet 2003 * @return value_offset 2004 * @note: btstack_type 2 2005 */ 2006 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){ 2007 return little_endian_read_16(event, 6); 2008 } 2009 /** 2010 * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2011 * @param event packet 2012 * @return value_length 2013 * @note: btstack_type L 2014 */ 2015 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2016 return little_endian_read_16(event, 8); 2017 } 2018 /** 2019 * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2020 * @param event packet 2021 * @return value 2022 * @note: btstack_type V 2023 */ 2024 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){ 2025 return &event[10]; 2026 } 2027 #endif 2028 2029 #ifdef ENABLE_BLE 2030 /** 2031 * @brief Get field handle from event GATT_EVENT_NOTIFICATION 2032 * @param event packet 2033 * @return handle 2034 * @note: btstack_type H 2035 */ 2036 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){ 2037 return little_endian_read_16(event, 2); 2038 } 2039 /** 2040 * @brief Get field value_handle from event GATT_EVENT_NOTIFICATION 2041 * @param event packet 2042 * @return value_handle 2043 * @note: btstack_type 2 2044 */ 2045 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){ 2046 return little_endian_read_16(event, 4); 2047 } 2048 /** 2049 * @brief Get field value_length from event GATT_EVENT_NOTIFICATION 2050 * @param event packet 2051 * @return value_length 2052 * @note: btstack_type L 2053 */ 2054 static inline uint16_t gatt_event_notification_get_value_length(const uint8_t * event){ 2055 return little_endian_read_16(event, 6); 2056 } 2057 /** 2058 * @brief Get field value from event GATT_EVENT_NOTIFICATION 2059 * @param event packet 2060 * @return value 2061 * @note: btstack_type V 2062 */ 2063 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){ 2064 return &event[8]; 2065 } 2066 #endif 2067 2068 #ifdef ENABLE_BLE 2069 /** 2070 * @brief Get field handle from event GATT_EVENT_INDICATION 2071 * @param event packet 2072 * @return handle 2073 * @note: btstack_type H 2074 */ 2075 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){ 2076 return little_endian_read_16(event, 2); 2077 } 2078 /** 2079 * @brief Get field value_handle from event GATT_EVENT_INDICATION 2080 * @param event packet 2081 * @return value_handle 2082 * @note: btstack_type 2 2083 */ 2084 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){ 2085 return little_endian_read_16(event, 4); 2086 } 2087 /** 2088 * @brief Get field value_length from event GATT_EVENT_INDICATION 2089 * @param event packet 2090 * @return value_length 2091 * @note: btstack_type L 2092 */ 2093 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){ 2094 return little_endian_read_16(event, 6); 2095 } 2096 /** 2097 * @brief Get field value from event GATT_EVENT_INDICATION 2098 * @param event packet 2099 * @return value 2100 * @note: btstack_type V 2101 */ 2102 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){ 2103 return &event[8]; 2104 } 2105 #endif 2106 2107 #ifdef ENABLE_BLE 2108 /** 2109 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2110 * @param event packet 2111 * @return handle 2112 * @note: btstack_type H 2113 */ 2114 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2115 return little_endian_read_16(event, 2); 2116 } 2117 /** 2118 * @brief Get field descriptor_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2119 * @param event packet 2120 * @return descriptor_handle 2121 * @note: btstack_type 2 2122 */ 2123 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 2124 return little_endian_read_16(event, 4); 2125 } 2126 /** 2127 * @brief Get field descriptor_length from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2128 * @param event packet 2129 * @return descriptor_length 2130 * @note: btstack_type L 2131 */ 2132 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 2133 return little_endian_read_16(event, 6); 2134 } 2135 /** 2136 * @brief Get field descriptor from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2137 * @param event packet 2138 * @return descriptor 2139 * @note: btstack_type V 2140 */ 2141 static inline const uint8_t * gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 2142 return &event[8]; 2143 } 2144 #endif 2145 2146 #ifdef ENABLE_BLE 2147 /** 2148 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2149 * @param event packet 2150 * @return handle 2151 * @note: btstack_type H 2152 */ 2153 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2154 return little_endian_read_16(event, 2); 2155 } 2156 /** 2157 * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2158 * @param event packet 2159 * @return descriptor_offset 2160 * @note: btstack_type 2 2161 */ 2162 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){ 2163 return little_endian_read_16(event, 4); 2164 } 2165 /** 2166 * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2167 * @param event packet 2168 * @return descriptor_length 2169 * @note: btstack_type L 2170 */ 2171 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 2172 return little_endian_read_16(event, 6); 2173 } 2174 /** 2175 * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2176 * @param event packet 2177 * @return descriptor 2178 * @note: btstack_type V 2179 */ 2180 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 2181 return &event[8]; 2182 } 2183 #endif 2184 2185 #ifdef ENABLE_BLE 2186 /** 2187 * @brief Get field handle from event GATT_EVENT_MTU 2188 * @param event packet 2189 * @return handle 2190 * @note: btstack_type H 2191 */ 2192 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){ 2193 return little_endian_read_16(event, 2); 2194 } 2195 /** 2196 * @brief Get field MTU from event GATT_EVENT_MTU 2197 * @param event packet 2198 * @return MTU 2199 * @note: btstack_type 2 2200 */ 2201 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){ 2202 return little_endian_read_16(event, 4); 2203 } 2204 #endif 2205 2206 #ifdef ENABLE_BLE 2207 /** 2208 * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 2209 * @param event packet 2210 * @return handle 2211 * @note: btstack_type H 2212 */ 2213 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){ 2214 return little_endian_read_16(event, 2); 2215 } 2216 #endif 2217 2218 /** 2219 * @brief Get field address_type from event ATT_EVENT_CONNECTED 2220 * @param event packet 2221 * @return address_type 2222 * @note: btstack_type 1 2223 */ 2224 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){ 2225 return event[2]; 2226 } 2227 /** 2228 * @brief Get field address from event ATT_EVENT_CONNECTED 2229 * @param event packet 2230 * @param Pointer to storage for address 2231 * @note: btstack_type B 2232 */ 2233 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 2234 reverse_bytes(&event[3], address, 6); 2235 } 2236 /** 2237 * @brief Get field handle from event ATT_EVENT_CONNECTED 2238 * @param event packet 2239 * @return handle 2240 * @note: btstack_type H 2241 */ 2242 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){ 2243 return little_endian_read_16(event, 9); 2244 } 2245 2246 /** 2247 * @brief Get field handle from event ATT_EVENT_DISCONNECTED 2248 * @param event packet 2249 * @return handle 2250 * @note: btstack_type H 2251 */ 2252 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){ 2253 return little_endian_read_16(event, 2); 2254 } 2255 2256 /** 2257 * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 2258 * @param event packet 2259 * @return handle 2260 * @note: btstack_type H 2261 */ 2262 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){ 2263 return little_endian_read_16(event, 2); 2264 } 2265 /** 2266 * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 2267 * @param event packet 2268 * @return MTU 2269 * @note: btstack_type 2 2270 */ 2271 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){ 2272 return little_endian_read_16(event, 4); 2273 } 2274 2275 /** 2276 * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2277 * @param event packet 2278 * @return status 2279 * @note: btstack_type 1 2280 */ 2281 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){ 2282 return event[2]; 2283 } 2284 /** 2285 * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2286 * @param event packet 2287 * @return conn_handle 2288 * @note: btstack_type H 2289 */ 2290 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){ 2291 return little_endian_read_16(event, 3); 2292 } 2293 /** 2294 * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2295 * @param event packet 2296 * @return attribute_handle 2297 * @note: btstack_type 2 2298 */ 2299 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){ 2300 return little_endian_read_16(event, 5); 2301 } 2302 2303 2304 /** 2305 * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED 2306 * @param event packet 2307 * @return status 2308 * @note: btstack_type 1 2309 */ 2310 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){ 2311 return event[2]; 2312 } 2313 /** 2314 * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED 2315 * @param event packet 2316 * @return service_uuid 2317 * @note: btstack_type 2 2318 */ 2319 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){ 2320 return little_endian_read_16(event, 3); 2321 } 2322 2323 /** 2324 * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED 2325 * @param event packet 2326 * @return status 2327 * @note: btstack_type 1 2328 */ 2329 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){ 2330 return event[2]; 2331 } 2332 /** 2333 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED 2334 * @param event packet 2335 * @return bnep_cid 2336 * @note: btstack_type 2 2337 */ 2338 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){ 2339 return little_endian_read_16(event, 3); 2340 } 2341 /** 2342 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED 2343 * @param event packet 2344 * @return source_uuid 2345 * @note: btstack_type 2 2346 */ 2347 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){ 2348 return little_endian_read_16(event, 5); 2349 } 2350 /** 2351 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED 2352 * @param event packet 2353 * @return destination_uuid 2354 * @note: btstack_type 2 2355 */ 2356 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){ 2357 return little_endian_read_16(event, 7); 2358 } 2359 /** 2360 * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED 2361 * @param event packet 2362 * @return mtu 2363 * @note: btstack_type 2 2364 */ 2365 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){ 2366 return little_endian_read_16(event, 9); 2367 } 2368 /** 2369 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED 2370 * @param event packet 2371 * @param Pointer to storage for remote_address 2372 * @note: btstack_type B 2373 */ 2374 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2375 reverse_bytes(&event[11], remote_address, 6); 2376 } 2377 /** 2378 * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED 2379 * @param event packet 2380 * @return con_handle 2381 * @note: btstack_type H 2382 */ 2383 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){ 2384 return little_endian_read_16(event, 17); 2385 } 2386 2387 /** 2388 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED 2389 * @param event packet 2390 * @return bnep_cid 2391 * @note: btstack_type 2 2392 */ 2393 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){ 2394 return little_endian_read_16(event, 2); 2395 } 2396 /** 2397 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED 2398 * @param event packet 2399 * @return source_uuid 2400 * @note: btstack_type 2 2401 */ 2402 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){ 2403 return little_endian_read_16(event, 4); 2404 } 2405 /** 2406 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED 2407 * @param event packet 2408 * @return destination_uuid 2409 * @note: btstack_type 2 2410 */ 2411 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){ 2412 return little_endian_read_16(event, 6); 2413 } 2414 /** 2415 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED 2416 * @param event packet 2417 * @param Pointer to storage for remote_address 2418 * @note: btstack_type B 2419 */ 2420 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2421 reverse_bytes(&event[8], remote_address, 6); 2422 } 2423 2424 /** 2425 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT 2426 * @param event packet 2427 * @return bnep_cid 2428 * @note: btstack_type 2 2429 */ 2430 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){ 2431 return little_endian_read_16(event, 2); 2432 } 2433 /** 2434 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 2435 * @param event packet 2436 * @return source_uuid 2437 * @note: btstack_type 2 2438 */ 2439 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){ 2440 return little_endian_read_16(event, 4); 2441 } 2442 /** 2443 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 2444 * @param event packet 2445 * @return destination_uuid 2446 * @note: btstack_type 2 2447 */ 2448 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){ 2449 return little_endian_read_16(event, 6); 2450 } 2451 /** 2452 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT 2453 * @param event packet 2454 * @param Pointer to storage for remote_address 2455 * @note: btstack_type B 2456 */ 2457 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2458 reverse_bytes(&event[8], remote_address, 6); 2459 } 2460 /** 2461 * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT 2462 * @param event packet 2463 * @return channel_state 2464 * @note: btstack_type 1 2465 */ 2466 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){ 2467 return event[14]; 2468 } 2469 2470 /** 2471 * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW 2472 * @param event packet 2473 * @return bnep_cid 2474 * @note: btstack_type 2 2475 */ 2476 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){ 2477 return little_endian_read_16(event, 2); 2478 } 2479 /** 2480 * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW 2481 * @param event packet 2482 * @return source_uuid 2483 * @note: btstack_type 2 2484 */ 2485 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){ 2486 return little_endian_read_16(event, 4); 2487 } 2488 /** 2489 * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW 2490 * @param event packet 2491 * @return destination_uuid 2492 * @note: btstack_type 2 2493 */ 2494 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){ 2495 return little_endian_read_16(event, 6); 2496 } 2497 /** 2498 * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW 2499 * @param event packet 2500 * @param Pointer to storage for remote_address 2501 * @note: btstack_type B 2502 */ 2503 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2504 reverse_bytes(&event[8], remote_address, 6); 2505 } 2506 2507 #ifdef ENABLE_BLE 2508 /** 2509 * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST 2510 * @param event packet 2511 * @return handle 2512 * @note: btstack_type H 2513 */ 2514 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ 2515 return little_endian_read_16(event, 2); 2516 } 2517 /** 2518 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST 2519 * @param event packet 2520 * @return addr_type 2521 * @note: btstack_type 1 2522 */ 2523 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ 2524 return event[4]; 2525 } 2526 /** 2527 * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST 2528 * @param event packet 2529 * @param Pointer to storage for address 2530 * @note: btstack_type B 2531 */ 2532 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ 2533 reverse_bytes(&event[5], address, 6); 2534 } 2535 #endif 2536 2537 #ifdef ENABLE_BLE 2538 /** 2539 * @brief Get field handle from event SM_EVENT_JUST_WORKS_CANCEL 2540 * @param event packet 2541 * @return handle 2542 * @note: btstack_type H 2543 */ 2544 static inline hci_con_handle_t sm_event_just_works_cancel_get_handle(const uint8_t * event){ 2545 return little_endian_read_16(event, 2); 2546 } 2547 /** 2548 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_CANCEL 2549 * @param event packet 2550 * @return addr_type 2551 * @note: btstack_type 1 2552 */ 2553 static inline uint8_t sm_event_just_works_cancel_get_addr_type(const uint8_t * event){ 2554 return event[4]; 2555 } 2556 /** 2557 * @brief Get field address from event SM_EVENT_JUST_WORKS_CANCEL 2558 * @param event packet 2559 * @param Pointer to storage for address 2560 * @note: btstack_type B 2561 */ 2562 static inline void sm_event_just_works_cancel_get_address(const uint8_t * event, bd_addr_t address){ 2563 reverse_bytes(&event[5], address, 6); 2564 } 2565 #endif 2566 2567 #ifdef ENABLE_BLE 2568 /** 2569 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2570 * @param event packet 2571 * @return handle 2572 * @note: btstack_type H 2573 */ 2574 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ 2575 return little_endian_read_16(event, 2); 2576 } 2577 /** 2578 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2579 * @param event packet 2580 * @return addr_type 2581 * @note: btstack_type 1 2582 */ 2583 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ 2584 return event[4]; 2585 } 2586 /** 2587 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2588 * @param event packet 2589 * @param Pointer to storage for address 2590 * @note: btstack_type B 2591 */ 2592 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ 2593 reverse_bytes(&event[5], address, 6); 2594 } 2595 /** 2596 * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2597 * @param event packet 2598 * @return passkey 2599 * @note: btstack_type 4 2600 */ 2601 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ 2602 return little_endian_read_32(event, 11); 2603 } 2604 #endif 2605 2606 #ifdef ENABLE_BLE 2607 /** 2608 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 2609 * @param event packet 2610 * @return handle 2611 * @note: btstack_type H 2612 */ 2613 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ 2614 return little_endian_read_16(event, 2); 2615 } 2616 /** 2617 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 2618 * @param event packet 2619 * @return addr_type 2620 * @note: btstack_type 1 2621 */ 2622 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ 2623 return event[4]; 2624 } 2625 /** 2626 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 2627 * @param event packet 2628 * @param Pointer to storage for address 2629 * @note: btstack_type B 2630 */ 2631 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ 2632 reverse_bytes(&event[5], address, 6); 2633 } 2634 #endif 2635 2636 #ifdef ENABLE_BLE 2637 /** 2638 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER 2639 * @param event packet 2640 * @return handle 2641 * @note: btstack_type H 2642 */ 2643 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ 2644 return little_endian_read_16(event, 2); 2645 } 2646 /** 2647 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER 2648 * @param event packet 2649 * @return addr_type 2650 * @note: btstack_type 1 2651 */ 2652 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ 2653 return event[4]; 2654 } 2655 /** 2656 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER 2657 * @param event packet 2658 * @param Pointer to storage for address 2659 * @note: btstack_type B 2660 */ 2661 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ 2662 reverse_bytes(&event[5], address, 6); 2663 } 2664 #endif 2665 2666 #ifdef ENABLE_BLE 2667 /** 2668 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_CANCEL 2669 * @param event packet 2670 * @return handle 2671 * @note: btstack_type H 2672 */ 2673 static inline hci_con_handle_t sm_event_passkey_input_cancel_get_handle(const uint8_t * event){ 2674 return little_endian_read_16(event, 2); 2675 } 2676 /** 2677 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_CANCEL 2678 * @param event packet 2679 * @return addr_type 2680 * @note: btstack_type 1 2681 */ 2682 static inline uint8_t sm_event_passkey_input_cancel_get_addr_type(const uint8_t * event){ 2683 return event[4]; 2684 } 2685 /** 2686 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_CANCEL 2687 * @param event packet 2688 * @param Pointer to storage for address 2689 * @note: btstack_type B 2690 */ 2691 static inline void sm_event_passkey_input_cancel_get_address(const uint8_t * event, bd_addr_t address){ 2692 reverse_bytes(&event[5], address, 6); 2693 } 2694 #endif 2695 2696 #ifdef ENABLE_BLE 2697 /** 2698 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2699 * @param event packet 2700 * @return handle 2701 * @note: btstack_type H 2702 */ 2703 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){ 2704 return little_endian_read_16(event, 2); 2705 } 2706 /** 2707 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2708 * @param event packet 2709 * @return addr_type 2710 * @note: btstack_type 1 2711 */ 2712 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){ 2713 return event[4]; 2714 } 2715 /** 2716 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2717 * @param event packet 2718 * @param Pointer to storage for address 2719 * @note: btstack_type B 2720 */ 2721 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){ 2722 reverse_bytes(&event[5], address, 6); 2723 } 2724 /** 2725 * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2726 * @param event packet 2727 * @return passkey 2728 * @note: btstack_type 4 2729 */ 2730 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){ 2731 return little_endian_read_32(event, 11); 2732 } 2733 #endif 2734 2735 #ifdef ENABLE_BLE 2736 /** 2737 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_CANCEL 2738 * @param event packet 2739 * @return handle 2740 * @note: btstack_type H 2741 */ 2742 static inline hci_con_handle_t sm_event_numeric_comparison_cancel_get_handle(const uint8_t * event){ 2743 return little_endian_read_16(event, 2); 2744 } 2745 /** 2746 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_CANCEL 2747 * @param event packet 2748 * @return addr_type 2749 * @note: btstack_type 1 2750 */ 2751 static inline uint8_t sm_event_numeric_comparison_cancel_get_addr_type(const uint8_t * event){ 2752 return event[4]; 2753 } 2754 /** 2755 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_CANCEL 2756 * @param event packet 2757 * @param Pointer to storage for address 2758 * @note: btstack_type B 2759 */ 2760 static inline void sm_event_numeric_comparison_cancel_get_address(const uint8_t * event, bd_addr_t address){ 2761 reverse_bytes(&event[5], address, 6); 2762 } 2763 #endif 2764 2765 #ifdef ENABLE_BLE 2766 /** 2767 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED 2768 * @param event packet 2769 * @return handle 2770 * @note: btstack_type H 2771 */ 2772 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ 2773 return little_endian_read_16(event, 2); 2774 } 2775 /** 2776 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED 2777 * @param event packet 2778 * @return addr_type 2779 * @note: btstack_type 1 2780 */ 2781 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ 2782 return event[4]; 2783 } 2784 /** 2785 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED 2786 * @param event packet 2787 * @param Pointer to storage for address 2788 * @note: btstack_type B 2789 */ 2790 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ 2791 reverse_bytes(&event[5], address, 6); 2792 } 2793 #endif 2794 2795 #ifdef ENABLE_BLE 2796 /** 2797 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED 2798 * @param event packet 2799 * @return handle 2800 * @note: btstack_type H 2801 */ 2802 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ 2803 return little_endian_read_16(event, 2); 2804 } 2805 /** 2806 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED 2807 * @param event packet 2808 * @return addr_type 2809 * @note: btstack_type 1 2810 */ 2811 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ 2812 return event[4]; 2813 } 2814 /** 2815 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED 2816 * @param event packet 2817 * @param Pointer to storage for address 2818 * @note: btstack_type B 2819 */ 2820 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ 2821 reverse_bytes(&event[5], address, 6); 2822 } 2823 #endif 2824 2825 #ifdef ENABLE_BLE 2826 /** 2827 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2828 * @param event packet 2829 * @return handle 2830 * @note: btstack_type H 2831 */ 2832 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ 2833 return little_endian_read_16(event, 2); 2834 } 2835 /** 2836 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2837 * @param event packet 2838 * @return addr_type 2839 * @note: btstack_type 1 2840 */ 2841 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ 2842 return event[4]; 2843 } 2844 /** 2845 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2846 * @param event packet 2847 * @param Pointer to storage for address 2848 * @note: btstack_type B 2849 */ 2850 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ 2851 reverse_bytes(&event[5], address, 6); 2852 } 2853 /** 2854 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2855 * @param event packet 2856 * @return identity_addr_type 2857 * @note: btstack_type 1 2858 */ 2859 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){ 2860 return event[11]; 2861 } 2862 /** 2863 * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2864 * @param event packet 2865 * @param Pointer to storage for identity_address 2866 * @note: btstack_type B 2867 */ 2868 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 2869 reverse_bytes(&event[12], identity_address, 6); 2870 } 2871 /** 2872 * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2873 * @param event packet 2874 * @return index 2875 * @note: btstack_type 2 2876 */ 2877 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){ 2878 return little_endian_read_16(event, 18); 2879 } 2880 #endif 2881 2882 #ifdef ENABLE_BLE 2883 /** 2884 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST 2885 * @param event packet 2886 * @return handle 2887 * @note: btstack_type H 2888 */ 2889 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){ 2890 return little_endian_read_16(event, 2); 2891 } 2892 /** 2893 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST 2894 * @param event packet 2895 * @return addr_type 2896 * @note: btstack_type 1 2897 */ 2898 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ 2899 return event[4]; 2900 } 2901 /** 2902 * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST 2903 * @param event packet 2904 * @param Pointer to storage for address 2905 * @note: btstack_type B 2906 */ 2907 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ 2908 reverse_bytes(&event[5], address, 6); 2909 } 2910 #endif 2911 2912 #ifdef ENABLE_BLE 2913 /** 2914 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT 2915 * @param event packet 2916 * @return handle 2917 * @note: btstack_type H 2918 */ 2919 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ 2920 return little_endian_read_16(event, 2); 2921 } 2922 /** 2923 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT 2924 * @param event packet 2925 * @return addr_type 2926 * @note: btstack_type 1 2927 */ 2928 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ 2929 return event[4]; 2930 } 2931 /** 2932 * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT 2933 * @param event packet 2934 * @param Pointer to storage for address 2935 * @note: btstack_type B 2936 */ 2937 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ 2938 reverse_bytes(&event[5], address, 6); 2939 } 2940 /** 2941 * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT 2942 * @param event packet 2943 * @return authorization_result 2944 * @note: btstack_type 1 2945 */ 2946 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ 2947 return event[11]; 2948 } 2949 #endif 2950 2951 #ifdef ENABLE_BLE 2952 /** 2953 * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION 2954 * @param event packet 2955 * @return handle 2956 * @note: btstack_type H 2957 */ 2958 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){ 2959 return little_endian_read_16(event, 2); 2960 } 2961 /** 2962 * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION 2963 * @param event packet 2964 * @return action 2965 * @note: btstack_type 1 2966 */ 2967 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){ 2968 return event[4]; 2969 } 2970 #endif 2971 2972 #ifdef ENABLE_BLE 2973 /** 2974 * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED 2975 * @param event packet 2976 * @return handle 2977 * @note: btstack_type H 2978 */ 2979 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){ 2980 return little_endian_read_16(event, 2); 2981 } 2982 /** 2983 * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED 2984 * @param event packet 2985 * @return addr_type 2986 * @note: btstack_type 1 2987 */ 2988 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){ 2989 return event[4]; 2990 } 2991 /** 2992 * @brief Get field address from event SM_EVENT_IDENTITY_CREATED 2993 * @param event packet 2994 * @param Pointer to storage for address 2995 * @note: btstack_type B 2996 */ 2997 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){ 2998 reverse_bytes(&event[5], address, 6); 2999 } 3000 /** 3001 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED 3002 * @param event packet 3003 * @return identity_addr_type 3004 * @note: btstack_type 1 3005 */ 3006 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){ 3007 return event[11]; 3008 } 3009 /** 3010 * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED 3011 * @param event packet 3012 * @param Pointer to storage for identity_address 3013 * @note: btstack_type B 3014 */ 3015 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3016 reverse_bytes(&event[12], identity_address, 6); 3017 } 3018 /** 3019 * @brief Get field index from event SM_EVENT_IDENTITY_CREATED 3020 * @param event packet 3021 * @return index 3022 * @note: btstack_type 2 3023 */ 3024 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){ 3025 return little_endian_read_16(event, 18); 3026 } 3027 #endif 3028 3029 #ifdef ENABLE_BLE 3030 /** 3031 * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE 3032 * @param event packet 3033 * @return handle 3034 * @note: btstack_type H 3035 */ 3036 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){ 3037 return little_endian_read_16(event, 2); 3038 } 3039 /** 3040 * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE 3041 * @param event packet 3042 * @return addr_type 3043 * @note: btstack_type 1 3044 */ 3045 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){ 3046 return event[4]; 3047 } 3048 /** 3049 * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE 3050 * @param event packet 3051 * @param Pointer to storage for address 3052 * @note: btstack_type B 3053 */ 3054 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){ 3055 reverse_bytes(&event[5], address, 6); 3056 } 3057 /** 3058 * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE 3059 * @param event packet 3060 * @return status 3061 * @note: btstack_type 1 3062 */ 3063 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){ 3064 return event[11]; 3065 } 3066 /** 3067 * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE 3068 * @param event packet 3069 * @return reason 3070 * @note: btstack_type 1 3071 */ 3072 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){ 3073 return event[12]; 3074 } 3075 #endif 3076 3077 /** 3078 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 3079 * @param event packet 3080 * @return handle 3081 * @note: btstack_type H 3082 */ 3083 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 3084 return little_endian_read_16(event, 2); 3085 } 3086 /** 3087 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 3088 * @param event packet 3089 * @return security_level 3090 * @note: btstack_type 1 3091 */ 3092 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 3093 return event[4]; 3094 } 3095 3096 /** 3097 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3098 * @param event packet 3099 * @return status 3100 * @note: btstack_type 1 3101 */ 3102 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 3103 return event[2]; 3104 } 3105 /** 3106 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3107 * @param event packet 3108 * @param Pointer to storage for address 3109 * @note: btstack_type B 3110 */ 3111 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 3112 reverse_bytes(&event[3], address, 6); 3113 } 3114 3115 /** 3116 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 3117 * @param event packet 3118 * @return advertising_event_type 3119 * @note: btstack_type 1 3120 */ 3121 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 3122 return event[2]; 3123 } 3124 /** 3125 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 3126 * @param event packet 3127 * @return address_type 3128 * @note: btstack_type 1 3129 */ 3130 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 3131 return event[3]; 3132 } 3133 /** 3134 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 3135 * @param event packet 3136 * @param Pointer to storage for address 3137 * @note: btstack_type B 3138 */ 3139 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 3140 reverse_bytes(&event[4], address, 6); 3141 } 3142 /** 3143 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 3144 * @param event packet 3145 * @return rssi 3146 * @note: btstack_type 1 3147 */ 3148 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 3149 return event[10]; 3150 } 3151 /** 3152 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 3153 * @param event packet 3154 * @return data_length 3155 * @note: btstack_type J 3156 */ 3157 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 3158 return event[11]; 3159 } 3160 /** 3161 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 3162 * @param event packet 3163 * @return data 3164 * @note: btstack_type V 3165 */ 3166 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 3167 return &event[12]; 3168 } 3169 3170 /** 3171 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 3172 * @param event packet 3173 * @param Pointer to storage for bd_addr 3174 * @note: btstack_type B 3175 */ 3176 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 3177 reverse_bytes(&event[2], bd_addr, 6); 3178 } 3179 /** 3180 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 3181 * @param event packet 3182 * @return page_scan_repetition_mode 3183 * @note: btstack_type 1 3184 */ 3185 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 3186 return event[8]; 3187 } 3188 /** 3189 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 3190 * @param event packet 3191 * @return class_of_device 3192 * @note: btstack_type 3 3193 */ 3194 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 3195 return little_endian_read_24(event, 9); 3196 } 3197 /** 3198 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 3199 * @param event packet 3200 * @return clock_offset 3201 * @note: btstack_type 2 3202 */ 3203 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 3204 return little_endian_read_16(event, 12); 3205 } 3206 /** 3207 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 3208 * @param event packet 3209 * @return rssi_available 3210 * @note: btstack_type 1 3211 */ 3212 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 3213 return event[14]; 3214 } 3215 /** 3216 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 3217 * @param event packet 3218 * @return rssi 3219 * @note: btstack_type 1 3220 */ 3221 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 3222 return event[15]; 3223 } 3224 /** 3225 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 3226 * @param event packet 3227 * @return name_available 3228 * @note: btstack_type 1 3229 */ 3230 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 3231 return event[16]; 3232 } 3233 /** 3234 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 3235 * @param event packet 3236 * @return name_len 3237 * @note: btstack_type J 3238 */ 3239 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 3240 return event[17]; 3241 } 3242 /** 3243 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 3244 * @param event packet 3245 * @return name 3246 * @note: btstack_type V 3247 */ 3248 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 3249 return &event[18]; 3250 } 3251 3252 /** 3253 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 3254 * @param event packet 3255 * @return status 3256 * @note: btstack_type 1 3257 */ 3258 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 3259 return event[2]; 3260 } 3261 3262 /** 3263 * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT 3264 * @param event packet 3265 * @return con_handle 3266 * @note: btstack_type H 3267 */ 3268 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){ 3269 return little_endian_read_16(event, 2); 3270 } 3271 /** 3272 * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT 3273 * @param event packet 3274 * @return rssi 3275 * @note: btstack_type 1 3276 */ 3277 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){ 3278 return event[4]; 3279 } 3280 3281 /** 3282 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3283 * @param event packet 3284 * @return status 3285 * @note: btstack_type 1 3286 */ 3287 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 3288 return event[3]; 3289 } 3290 /** 3291 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3292 * @param event packet 3293 * @return connection_handle 3294 * @note: btstack_type H 3295 */ 3296 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 3297 return little_endian_read_16(event, 4); 3298 } 3299 /** 3300 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3301 * @param event packet 3302 * @return role 3303 * @note: btstack_type 1 3304 */ 3305 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 3306 return event[6]; 3307 } 3308 /** 3309 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3310 * @param event packet 3311 * @return peer_address_type 3312 * @note: btstack_type 1 3313 */ 3314 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 3315 return event[7]; 3316 } 3317 /** 3318 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3319 * @param event packet 3320 * @param Pointer to storage for peer_address 3321 * @note: btstack_type B 3322 */ 3323 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 3324 reverse_bytes(&event[8], peer_address, 6); 3325 } 3326 /** 3327 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3328 * @param event packet 3329 * @return conn_interval 3330 * @note: btstack_type 2 3331 */ 3332 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 3333 return little_endian_read_16(event, 14); 3334 } 3335 /** 3336 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3337 * @param event packet 3338 * @return conn_latency 3339 * @note: btstack_type 2 3340 */ 3341 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 3342 return little_endian_read_16(event, 16); 3343 } 3344 /** 3345 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3346 * @param event packet 3347 * @return supervision_timeout 3348 * @note: btstack_type 2 3349 */ 3350 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 3351 return little_endian_read_16(event, 18); 3352 } 3353 /** 3354 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3355 * @param event packet 3356 * @return master_clock_accuracy 3357 * @note: btstack_type 1 3358 */ 3359 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 3360 return event[20]; 3361 } 3362 3363 /** 3364 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3365 * @param event packet 3366 * @return status 3367 * @note: btstack_type 1 3368 */ 3369 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 3370 return event[3]; 3371 } 3372 /** 3373 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3374 * @param event packet 3375 * @return connection_handle 3376 * @note: btstack_type H 3377 */ 3378 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 3379 return little_endian_read_16(event, 4); 3380 } 3381 /** 3382 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3383 * @param event packet 3384 * @return conn_interval 3385 * @note: btstack_type 2 3386 */ 3387 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 3388 return little_endian_read_16(event, 6); 3389 } 3390 /** 3391 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3392 * @param event packet 3393 * @return conn_latency 3394 * @note: btstack_type 2 3395 */ 3396 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 3397 return little_endian_read_16(event, 8); 3398 } 3399 /** 3400 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3401 * @param event packet 3402 * @return supervision_timeout 3403 * @note: btstack_type 2 3404 */ 3405 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 3406 return little_endian_read_16(event, 10); 3407 } 3408 3409 /** 3410 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3411 * @param event packet 3412 * @return connection_handle 3413 * @note: btstack_type H 3414 */ 3415 static inline hci_con_handle_t hci_subevent_le_read_remote_used_features_complete_get_connection_handle(const uint8_t * event){ 3416 return little_endian_read_16(event, 3); 3417 } 3418 /** 3419 * @brief Get field random_number from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3420 * @param event packet 3421 * @return random_number 3422 * @note: btstack_type D 3423 */ 3424 static inline const uint8_t * hci_subevent_le_read_remote_used_features_complete_get_random_number(const uint8_t * event){ 3425 return (const uint8_t *) &event[5]; 3426 } 3427 /** 3428 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3429 * @param event packet 3430 * @return encryption_diversifier 3431 * @note: btstack_type 2 3432 */ 3433 static inline uint16_t hci_subevent_le_read_remote_used_features_complete_get_encryption_diversifier(const uint8_t * event){ 3434 return little_endian_read_16(event, 13); 3435 } 3436 3437 /** 3438 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3439 * @param event packet 3440 * @return connection_handle 3441 * @note: btstack_type H 3442 */ 3443 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 3444 return little_endian_read_16(event, 3); 3445 } 3446 /** 3447 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3448 * @param event packet 3449 * @return random_number 3450 * @note: btstack_type D 3451 */ 3452 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 3453 return (const uint8_t *) &event[5]; 3454 } 3455 /** 3456 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3457 * @param event packet 3458 * @return encryption_diversifier 3459 * @note: btstack_type 2 3460 */ 3461 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 3462 return little_endian_read_16(event, 13); 3463 } 3464 3465 /** 3466 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3467 * @param event packet 3468 * @return connection_handle 3469 * @note: btstack_type H 3470 */ 3471 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 3472 return little_endian_read_16(event, 3); 3473 } 3474 /** 3475 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3476 * @param event packet 3477 * @return interval_min 3478 * @note: btstack_type 2 3479 */ 3480 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 3481 return little_endian_read_16(event, 5); 3482 } 3483 /** 3484 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3485 * @param event packet 3486 * @return interval_max 3487 * @note: btstack_type 2 3488 */ 3489 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 3490 return little_endian_read_16(event, 7); 3491 } 3492 /** 3493 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3494 * @param event packet 3495 * @return latency 3496 * @note: btstack_type 2 3497 */ 3498 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 3499 return little_endian_read_16(event, 9); 3500 } 3501 /** 3502 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3503 * @param event packet 3504 * @return timeout 3505 * @note: btstack_type 2 3506 */ 3507 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 3508 return little_endian_read_16(event, 11); 3509 } 3510 3511 /** 3512 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3513 * @param event packet 3514 * @return connection_handle 3515 * @note: btstack_type H 3516 */ 3517 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 3518 return little_endian_read_16(event, 3); 3519 } 3520 /** 3521 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3522 * @param event packet 3523 * @return max_tx_octets 3524 * @note: btstack_type 2 3525 */ 3526 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 3527 return little_endian_read_16(event, 5); 3528 } 3529 /** 3530 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3531 * @param event packet 3532 * @return max_tx_time 3533 * @note: btstack_type 2 3534 */ 3535 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 3536 return little_endian_read_16(event, 7); 3537 } 3538 /** 3539 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3540 * @param event packet 3541 * @return max_rx_octets 3542 * @note: btstack_type 2 3543 */ 3544 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 3545 return little_endian_read_16(event, 9); 3546 } 3547 /** 3548 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3549 * @param event packet 3550 * @return max_rx_time 3551 * @note: btstack_type 2 3552 */ 3553 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 3554 return little_endian_read_16(event, 11); 3555 } 3556 3557 /** 3558 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3559 * @param event packet 3560 * @return status 3561 * @note: btstack_type 1 3562 */ 3563 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 3564 return event[3]; 3565 } 3566 /** 3567 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3568 * @param event packet 3569 * @param Pointer to storage for dhkey_x 3570 * @note: btstack_type Q 3571 */ 3572 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 3573 reverse_bytes(&event[4], dhkey_x, 32); 3574 } 3575 /** 3576 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3577 * @param event packet 3578 * @param Pointer to storage for dhkey_y 3579 * @note: btstack_type Q 3580 */ 3581 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 3582 reverse_bytes(&event[36], dhkey_y, 32); 3583 } 3584 3585 /** 3586 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 3587 * @param event packet 3588 * @return status 3589 * @note: btstack_type 1 3590 */ 3591 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 3592 return event[3]; 3593 } 3594 /** 3595 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 3596 * @param event packet 3597 * @param Pointer to storage for dhkey 3598 * @note: btstack_type Q 3599 */ 3600 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 3601 reverse_bytes(&event[4], dhkey, 32); 3602 } 3603 3604 /** 3605 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3606 * @param event packet 3607 * @return status 3608 * @note: btstack_type 1 3609 */ 3610 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_status(const uint8_t * event){ 3611 return event[3]; 3612 } 3613 /** 3614 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3615 * @param event packet 3616 * @return connection_handle 3617 * @note: btstack_type H 3618 */ 3619 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_get_connection_handle(const uint8_t * event){ 3620 return little_endian_read_16(event, 4); 3621 } 3622 /** 3623 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3624 * @param event packet 3625 * @return role 3626 * @note: btstack_type 1 3627 */ 3628 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_role(const uint8_t * event){ 3629 return event[6]; 3630 } 3631 /** 3632 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3633 * @param event packet 3634 * @return peer_address_type 3635 * @note: btstack_type 1 3636 */ 3637 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_peer_address_type(const uint8_t * event){ 3638 return event[7]; 3639 } 3640 /** 3641 * @brief Get field perr_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3642 * @param event packet 3643 * @param Pointer to storage for perr_addresss 3644 * @note: btstack_type B 3645 */ 3646 static inline void hci_subevent_le_enhanced_connection_complete_get_perr_addresss(const uint8_t * event, bd_addr_t perr_addresss){ 3647 reverse_bytes(&event[8], perr_addresss, 6); 3648 } 3649 /** 3650 * @brief Get field local_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3651 * @param event packet 3652 * @param Pointer to storage for local_resolvable_private_addres 3653 * @note: btstack_type B 3654 */ 3655 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){ 3656 reverse_bytes(&event[14], local_resolvable_private_addres, 6); 3657 } 3658 /** 3659 * @brief Get field peer_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3660 * @param event packet 3661 * @param Pointer to storage for peer_resolvable_private_addres 3662 * @note: btstack_type B 3663 */ 3664 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){ 3665 reverse_bytes(&event[20], peer_resolvable_private_addres, 6); 3666 } 3667 /** 3668 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3669 * @param event packet 3670 * @return conn_interval 3671 * @note: btstack_type 2 3672 */ 3673 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_interval(const uint8_t * event){ 3674 return little_endian_read_16(event, 26); 3675 } 3676 /** 3677 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3678 * @param event packet 3679 * @return conn_latency 3680 * @note: btstack_type 2 3681 */ 3682 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_latency(const uint8_t * event){ 3683 return little_endian_read_16(event, 28); 3684 } 3685 /** 3686 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3687 * @param event packet 3688 * @return supervision_timeout 3689 * @note: btstack_type 2 3690 */ 3691 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_supervision_timeout(const uint8_t * event){ 3692 return little_endian_read_16(event, 30); 3693 } 3694 /** 3695 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3696 * @param event packet 3697 * @return master_clock_accuracy 3698 * @note: btstack_type 1 3699 */ 3700 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 3701 return event[32]; 3702 } 3703 3704 /** 3705 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 3706 * @param event packet 3707 * @return status 3708 * @note: btstack_type 1 3709 */ 3710 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 3711 return event[3]; 3712 } 3713 3714 /** 3715 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 3716 * @param event packet 3717 * @return status 3718 * @note: btstack_type 1 3719 */ 3720 static inline uint8_t hsp_subevent_rfcomm_disconnection_complete_get_status(const uint8_t * event){ 3721 return event[3]; 3722 } 3723 3724 /** 3725 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 3726 * @param event packet 3727 * @return status 3728 * @note: btstack_type 1 3729 */ 3730 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 3731 return event[3]; 3732 } 3733 /** 3734 * @brief Get field handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 3735 * @param event packet 3736 * @return handle 3737 * @note: btstack_type H 3738 */ 3739 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_handle(const uint8_t * event){ 3740 return little_endian_read_16(event, 4); 3741 } 3742 3743 /** 3744 * @brief Get field status from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 3745 * @param event packet 3746 * @return status 3747 * @note: btstack_type 1 3748 */ 3749 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_status(const uint8_t * event){ 3750 return event[3]; 3751 } 3752 3753 3754 /** 3755 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 3756 * @param event packet 3757 * @return gain 3758 * @note: btstack_type 1 3759 */ 3760 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 3761 return event[3]; 3762 } 3763 3764 /** 3765 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 3766 * @param event packet 3767 * @return gain 3768 * @note: btstack_type 1 3769 */ 3770 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 3771 return event[3]; 3772 } 3773 3774 /** 3775 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 3776 * @param event packet 3777 * @return value_length 3778 * @note: btstack_type J 3779 */ 3780 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 3781 return event[3]; 3782 } 3783 /** 3784 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 3785 * @param event packet 3786 * @return value 3787 * @note: btstack_type V 3788 */ 3789 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 3790 return &event[4]; 3791 } 3792 3793 /** 3794 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 3795 * @param event packet 3796 * @return value_length 3797 * @note: btstack_type J 3798 */ 3799 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 3800 return event[3]; 3801 } 3802 /** 3803 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 3804 * @param event packet 3805 * @return value 3806 * @note: btstack_type V 3807 */ 3808 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 3809 return &event[4]; 3810 } 3811 3812 /** 3813 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 3814 * @param event packet 3815 * @return status 3816 * @note: btstack_type 1 3817 */ 3818 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 3819 return event[3]; 3820 } 3821 /** 3822 * @brief Get field con_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 3823 * @param event packet 3824 * @return con_handle 3825 * @note: btstack_type H 3826 */ 3827 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_con_handle(const uint8_t * event){ 3828 return little_endian_read_16(event, 4); 3829 } 3830 /** 3831 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 3832 * @param event packet 3833 * @param Pointer to storage for bd_addr 3834 * @note: btstack_type B 3835 */ 3836 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 3837 reverse_bytes(&event[6], bd_addr, 6); 3838 } 3839 3840 3841 /** 3842 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3843 * @param event packet 3844 * @return status 3845 * @note: btstack_type 1 3846 */ 3847 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 3848 return event[3]; 3849 } 3850 /** 3851 * @brief Get field handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3852 * @param event packet 3853 * @return handle 3854 * @note: btstack_type H 3855 */ 3856 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_handle(const uint8_t * event){ 3857 return little_endian_read_16(event, 4); 3858 } 3859 /** 3860 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3861 * @param event packet 3862 * @param Pointer to storage for bd_addr 3863 * @note: btstack_type B 3864 */ 3865 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 3866 reverse_bytes(&event[6], bd_addr, 6); 3867 } 3868 /** 3869 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3870 * @param event packet 3871 * @return negotiated_codec 3872 * @note: btstack_type 1 3873 */ 3874 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 3875 return event[12]; 3876 } 3877 3878 3879 /** 3880 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 3881 * @param event packet 3882 * @return status 3883 * @note: btstack_type 1 3884 */ 3885 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 3886 return event[3]; 3887 } 3888 3889 /** 3890 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3891 * @param event packet 3892 * @return indicator_index 3893 * @note: btstack_type 1 3894 */ 3895 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 3896 return event[3]; 3897 } 3898 /** 3899 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3900 * @param event packet 3901 * @return indicator_status 3902 * @note: btstack_type 1 3903 */ 3904 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 3905 return event[4]; 3906 } 3907 /** 3908 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3909 * @param event packet 3910 * @return indicator_min_range 3911 * @note: btstack_type 1 3912 */ 3913 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 3914 return event[5]; 3915 } 3916 /** 3917 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3918 * @param event packet 3919 * @return indicator_max_range 3920 * @note: btstack_type 1 3921 */ 3922 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 3923 return event[6]; 3924 } 3925 /** 3926 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3927 * @param event packet 3928 * @return indicator_mandatory 3929 * @note: btstack_type 1 3930 */ 3931 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 3932 return event[7]; 3933 } 3934 /** 3935 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3936 * @param event packet 3937 * @return indicator_enabled 3938 * @note: btstack_type 1 3939 */ 3940 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 3941 return event[8]; 3942 } 3943 /** 3944 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3945 * @param event packet 3946 * @return indicator_status_changed 3947 * @note: btstack_type 1 3948 */ 3949 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 3950 return event[9]; 3951 } 3952 /** 3953 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3954 * @param event packet 3955 * @return indicator_name 3956 * @note: btstack_type T 3957 */ 3958 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 3959 return (const char *) &event[10]; 3960 } 3961 3962 /** 3963 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 3964 * @param event packet 3965 * @return network_operator_mode 3966 * @note: btstack_type 1 3967 */ 3968 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 3969 return event[3]; 3970 } 3971 /** 3972 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 3973 * @param event packet 3974 * @return network_operator_format 3975 * @note: btstack_type 1 3976 */ 3977 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 3978 return event[4]; 3979 } 3980 /** 3981 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 3982 * @param event packet 3983 * @return network_operator_name 3984 * @note: btstack_type T 3985 */ 3986 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 3987 return (const char *) &event[5]; 3988 } 3989 3990 /** 3991 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 3992 * @param event packet 3993 * @return error 3994 * @note: btstack_type 1 3995 */ 3996 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 3997 return event[3]; 3998 } 3999 4000 4001 4002 4003 /** 4004 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 4005 * @param event packet 4006 * @return number 4007 * @note: btstack_type T 4008 */ 4009 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 4010 return (const char *) &event[3]; 4011 } 4012 4013 4014 /** 4015 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 4016 * @param event packet 4017 * @return number 4018 * @note: btstack_type T 4019 */ 4020 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 4021 return (const char *) &event[3]; 4022 } 4023 4024 /** 4025 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 4026 * @param event packet 4027 * @return dtmf 4028 * @note: btstack_type T 4029 */ 4030 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 4031 return (const char *) &event[3]; 4032 } 4033 4034 4035 4036 4037 /** 4038 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 4039 * @param event packet 4040 * @return gain 4041 * @note: btstack_type 1 4042 */ 4043 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 4044 return event[3]; 4045 } 4046 4047 /** 4048 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 4049 * @param event packet 4050 * @return gain 4051 * @note: btstack_type 1 4052 */ 4053 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 4054 return event[3]; 4055 } 4056 4057 /** 4058 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 4059 * @param event packet 4060 * @return type 4061 * @note: btstack_type 1 4062 */ 4063 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 4064 return event[3]; 4065 } 4066 /** 4067 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 4068 * @param event packet 4069 * @return number 4070 * @note: btstack_type T 4071 */ 4072 static inline const char * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 4073 return (const char *) &event[4]; 4074 } 4075 4076 /** 4077 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 4078 * @param event packet 4079 * @return type 4080 * @note: btstack_type 1 4081 */ 4082 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 4083 return event[3]; 4084 } 4085 /** 4086 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 4087 * @param event packet 4088 * @return number 4089 * @note: btstack_type T 4090 */ 4091 static inline const char * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 4092 return (const char *) &event[4]; 4093 } 4094 4095 /** 4096 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4097 * @param event packet 4098 * @return clcc_idx 4099 * @note: btstack_type 1 4100 */ 4101 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 4102 return event[3]; 4103 } 4104 /** 4105 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4106 * @param event packet 4107 * @return clcc_dir 4108 * @note: btstack_type 1 4109 */ 4110 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 4111 return event[4]; 4112 } 4113 /** 4114 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4115 * @param event packet 4116 * @return clcc_status 4117 * @note: btstack_type 1 4118 */ 4119 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 4120 return event[5]; 4121 } 4122 /** 4123 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4124 * @param event packet 4125 * @return clcc_mode 4126 * @note: btstack_type 1 4127 */ 4128 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 4129 return event[6]; 4130 } 4131 /** 4132 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4133 * @param event packet 4134 * @return clcc_mpty 4135 * @note: btstack_type 1 4136 */ 4137 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 4138 return event[7]; 4139 } 4140 /** 4141 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4142 * @param event packet 4143 * @return bnip_type 4144 * @note: btstack_type 1 4145 */ 4146 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 4147 return event[8]; 4148 } 4149 /** 4150 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4151 * @param event packet 4152 * @return bnip_number 4153 * @note: btstack_type T 4154 */ 4155 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 4156 return (const char *) &event[9]; 4157 } 4158 4159 /** 4160 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4161 * @param event packet 4162 * @return status 4163 * @note: btstack_type 1 4164 */ 4165 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 4166 return event[3]; 4167 } 4168 /** 4169 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4170 * @param event packet 4171 * @return bnip_type 4172 * @note: btstack_type 1 4173 */ 4174 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 4175 return event[4]; 4176 } 4177 /** 4178 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4179 * @param event packet 4180 * @return bnip_number 4181 * @note: btstack_type T 4182 */ 4183 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 4184 return (const char *) &event[5]; 4185 } 4186 4187 /** 4188 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 4189 * @param event packet 4190 * @return value 4191 * @note: btstack_type T 4192 */ 4193 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 4194 return (const char *) &event[3]; 4195 } 4196 4197 #ifdef ENABLE_BLE 4198 /** 4199 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 4200 * @param event packet 4201 * @return handle 4202 * @note: btstack_type H 4203 */ 4204 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 4205 return little_endian_read_16(event, 3); 4206 } 4207 #endif 4208 4209 #ifdef ENABLE_BLE 4210 /** 4211 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4212 * @param event packet 4213 * @return handle 4214 * @note: btstack_type H 4215 */ 4216 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 4217 return little_endian_read_16(event, 3); 4218 } 4219 /** 4220 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4221 * @param event packet 4222 * @return attribute_id 4223 * @note: btstack_type 2 4224 */ 4225 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 4226 return little_endian_read_16(event, 5); 4227 } 4228 /** 4229 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4230 * @param event packet 4231 * @return text 4232 * @note: btstack_type T 4233 */ 4234 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 4235 return (const char *) &event[7]; 4236 } 4237 #endif 4238 4239 #ifdef ENABLE_BLE 4240 /** 4241 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 4242 * @param event packet 4243 * @return handle 4244 * @note: btstack_type H 4245 */ 4246 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 4247 return little_endian_read_16(event, 3); 4248 } 4249 #endif 4250 4251 /** 4252 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4253 * @param event packet 4254 * @return avdtp_cid 4255 * @note: btstack_type 2 4256 */ 4257 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 4258 return little_endian_read_16(event, 3); 4259 } 4260 /** 4261 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4262 * @param event packet 4263 * @return local_seid 4264 * @note: btstack_type 1 4265 */ 4266 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 4267 return event[5]; 4268 } 4269 /** 4270 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4271 * @param event packet 4272 * @return is_initiator 4273 * @note: btstack_type 1 4274 */ 4275 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 4276 return event[6]; 4277 } 4278 /** 4279 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4280 * @param event packet 4281 * @return signal_identifier 4282 * @note: btstack_type 1 4283 */ 4284 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 4285 return event[7]; 4286 } 4287 4288 /** 4289 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 4290 * @param event packet 4291 * @return avdtp_cid 4292 * @note: btstack_type 2 4293 */ 4294 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 4295 return little_endian_read_16(event, 3); 4296 } 4297 /** 4298 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 4299 * @param event packet 4300 * @return local_seid 4301 * @note: btstack_type 1 4302 */ 4303 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 4304 return event[5]; 4305 } 4306 /** 4307 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 4308 * @param event packet 4309 * @return is_initiator 4310 * @note: btstack_type 1 4311 */ 4312 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 4313 return event[6]; 4314 } 4315 /** 4316 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 4317 * @param event packet 4318 * @return signal_identifier 4319 * @note: btstack_type 1 4320 */ 4321 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 4322 return event[7]; 4323 } 4324 4325 /** 4326 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4327 * @param event packet 4328 * @return avdtp_cid 4329 * @note: btstack_type 2 4330 */ 4331 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 4332 return little_endian_read_16(event, 3); 4333 } 4334 /** 4335 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4336 * @param event packet 4337 * @return local_seid 4338 * @note: btstack_type 1 4339 */ 4340 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 4341 return event[5]; 4342 } 4343 /** 4344 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4345 * @param event packet 4346 * @return is_initiator 4347 * @note: btstack_type 1 4348 */ 4349 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 4350 return event[6]; 4351 } 4352 /** 4353 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4354 * @param event packet 4355 * @return signal_identifier 4356 * @note: btstack_type 1 4357 */ 4358 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 4359 return event[7]; 4360 } 4361 4362 /** 4363 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4364 * @param event packet 4365 * @return avdtp_cid 4366 * @note: btstack_type 2 4367 */ 4368 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 4369 return little_endian_read_16(event, 3); 4370 } 4371 /** 4372 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4373 * @param event packet 4374 * @param Pointer to storage for bd_addr 4375 * @note: btstack_type B 4376 */ 4377 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4378 reverse_bytes(&event[5], bd_addr, 6); 4379 } 4380 /** 4381 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4382 * @param event packet 4383 * @return status 4384 * @note: btstack_type 1 4385 */ 4386 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 4387 return event[11]; 4388 } 4389 4390 /** 4391 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 4392 * @param event packet 4393 * @return avdtp_cid 4394 * @note: btstack_type 2 4395 */ 4396 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 4397 return little_endian_read_16(event, 3); 4398 } 4399 4400 /** 4401 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4402 * @param event packet 4403 * @return avdtp_cid 4404 * @note: btstack_type 2 4405 */ 4406 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 4407 return little_endian_read_16(event, 3); 4408 } 4409 /** 4410 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4411 * @param event packet 4412 * @return remote_seid 4413 * @note: btstack_type 1 4414 */ 4415 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 4416 return event[5]; 4417 } 4418 /** 4419 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4420 * @param event packet 4421 * @return in_use 4422 * @note: btstack_type 1 4423 */ 4424 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 4425 return event[6]; 4426 } 4427 /** 4428 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4429 * @param event packet 4430 * @return media_type 4431 * @note: btstack_type 1 4432 */ 4433 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 4434 return event[7]; 4435 } 4436 /** 4437 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4438 * @param event packet 4439 * @return sep_type 4440 * @note: btstack_type 1 4441 */ 4442 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 4443 return event[8]; 4444 } 4445 4446 /** 4447 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4448 * @param event packet 4449 * @return avdtp_cid 4450 * @note: btstack_type 2 4451 */ 4452 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 4453 return little_endian_read_16(event, 3); 4454 } 4455 /** 4456 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4457 * @param event packet 4458 * @return local_seid 4459 * @note: btstack_type 1 4460 */ 4461 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_local_seid(const uint8_t * event){ 4462 return event[5]; 4463 } 4464 /** 4465 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4466 * @param event packet 4467 * @return remote_seid 4468 * @note: btstack_type 1 4469 */ 4470 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 4471 return event[6]; 4472 } 4473 /** 4474 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4475 * @param event packet 4476 * @return media_type 4477 * @note: btstack_type 1 4478 */ 4479 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 4480 return event[7]; 4481 } 4482 /** 4483 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4484 * @param event packet 4485 * @return sampling_frequency_bitmap 4486 * @note: btstack_type 1 4487 */ 4488 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 4489 return event[8]; 4490 } 4491 /** 4492 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4493 * @param event packet 4494 * @return channel_mode_bitmap 4495 * @note: btstack_type 1 4496 */ 4497 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 4498 return event[9]; 4499 } 4500 /** 4501 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4502 * @param event packet 4503 * @return block_length_bitmap 4504 * @note: btstack_type 1 4505 */ 4506 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 4507 return event[10]; 4508 } 4509 /** 4510 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4511 * @param event packet 4512 * @return subbands_bitmap 4513 * @note: btstack_type 1 4514 */ 4515 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 4516 return event[11]; 4517 } 4518 /** 4519 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4520 * @param event packet 4521 * @return allocation_method_bitmap 4522 * @note: btstack_type 1 4523 */ 4524 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 4525 return event[12]; 4526 } 4527 /** 4528 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4529 * @param event packet 4530 * @return min_bitpool_value 4531 * @note: btstack_type 1 4532 */ 4533 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 4534 return event[13]; 4535 } 4536 /** 4537 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4538 * @param event packet 4539 * @return max_bitpool_value 4540 * @note: btstack_type 1 4541 */ 4542 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 4543 return event[14]; 4544 } 4545 4546 /** 4547 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4548 * @param event packet 4549 * @return avdtp_cid 4550 * @note: btstack_type 2 4551 */ 4552 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 4553 return little_endian_read_16(event, 3); 4554 } 4555 /** 4556 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4557 * @param event packet 4558 * @return local_seid 4559 * @note: btstack_type 1 4560 */ 4561 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_local_seid(const uint8_t * event){ 4562 return event[5]; 4563 } 4564 /** 4565 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4566 * @param event packet 4567 * @return remote_seid 4568 * @note: btstack_type 1 4569 */ 4570 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 4571 return event[6]; 4572 } 4573 /** 4574 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4575 * @param event packet 4576 * @return media_type 4577 * @note: btstack_type 1 4578 */ 4579 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 4580 return event[7]; 4581 } 4582 /** 4583 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4584 * @param event packet 4585 * @return media_codec_type 4586 * @note: btstack_type 2 4587 */ 4588 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 4589 return little_endian_read_16(event, 8); 4590 } 4591 /** 4592 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4593 * @param event packet 4594 * @return media_codec_information_len 4595 * @note: btstack_type L 4596 */ 4597 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 4598 return little_endian_read_16(event, 10); 4599 } 4600 /** 4601 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4602 * @param event packet 4603 * @return media_codec_information 4604 * @note: btstack_type V 4605 */ 4606 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 4607 return &event[12]; 4608 } 4609 4610 /** 4611 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 4612 * @param event packet 4613 * @return avdtp_cid 4614 * @note: btstack_type 2 4615 */ 4616 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 4617 return little_endian_read_16(event, 3); 4618 } 4619 /** 4620 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 4621 * @param event packet 4622 * @return local_seid 4623 * @note: btstack_type 1 4624 */ 4625 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_local_seid(const uint8_t * event){ 4626 return event[5]; 4627 } 4628 /** 4629 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 4630 * @param event packet 4631 * @return remote_seid 4632 * @note: btstack_type 1 4633 */ 4634 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 4635 return event[6]; 4636 } 4637 4638 /** 4639 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 4640 * @param event packet 4641 * @return avdtp_cid 4642 * @note: btstack_type 2 4643 */ 4644 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 4645 return little_endian_read_16(event, 3); 4646 } 4647 /** 4648 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 4649 * @param event packet 4650 * @return local_seid 4651 * @note: btstack_type 1 4652 */ 4653 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_local_seid(const uint8_t * event){ 4654 return event[5]; 4655 } 4656 /** 4657 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 4658 * @param event packet 4659 * @return remote_seid 4660 * @note: btstack_type 1 4661 */ 4662 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 4663 return event[6]; 4664 } 4665 4666 /** 4667 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4668 * @param event packet 4669 * @return avdtp_cid 4670 * @note: btstack_type 2 4671 */ 4672 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 4673 return little_endian_read_16(event, 3); 4674 } 4675 /** 4676 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4677 * @param event packet 4678 * @return local_seid 4679 * @note: btstack_type 1 4680 */ 4681 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_local_seid(const uint8_t * event){ 4682 return event[5]; 4683 } 4684 /** 4685 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4686 * @param event packet 4687 * @return remote_seid 4688 * @note: btstack_type 1 4689 */ 4690 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 4691 return event[6]; 4692 } 4693 /** 4694 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4695 * @param event packet 4696 * @return recovery_type 4697 * @note: btstack_type 1 4698 */ 4699 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 4700 return event[7]; 4701 } 4702 /** 4703 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4704 * @param event packet 4705 * @return maximum_recovery_window_size 4706 * @note: btstack_type 1 4707 */ 4708 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 4709 return event[8]; 4710 } 4711 /** 4712 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4713 * @param event packet 4714 * @return maximum_number_media_packets 4715 * @note: btstack_type 1 4716 */ 4717 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 4718 return event[9]; 4719 } 4720 4721 /** 4722 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4723 * @param event packet 4724 * @return avdtp_cid 4725 * @note: btstack_type 2 4726 */ 4727 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 4728 return little_endian_read_16(event, 3); 4729 } 4730 /** 4731 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4732 * @param event packet 4733 * @return local_seid 4734 * @note: btstack_type 1 4735 */ 4736 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_local_seid(const uint8_t * event){ 4737 return event[5]; 4738 } 4739 /** 4740 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4741 * @param event packet 4742 * @return remote_seid 4743 * @note: btstack_type 1 4744 */ 4745 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 4746 return event[6]; 4747 } 4748 /** 4749 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4750 * @param event packet 4751 * @return cp_type 4752 * @note: btstack_type 2 4753 */ 4754 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 4755 return little_endian_read_16(event, 7); 4756 } 4757 /** 4758 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4759 * @param event packet 4760 * @return cp_type_value_len 4761 * @note: btstack_type L 4762 */ 4763 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 4764 return little_endian_read_16(event, 9); 4765 } 4766 /** 4767 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4768 * @param event packet 4769 * @return cp_type_value 4770 * @note: btstack_type V 4771 */ 4772 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 4773 return &event[11]; 4774 } 4775 4776 /** 4777 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4778 * @param event packet 4779 * @return avdtp_cid 4780 * @note: btstack_type 2 4781 */ 4782 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 4783 return little_endian_read_16(event, 3); 4784 } 4785 /** 4786 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4787 * @param event packet 4788 * @return local_seid 4789 * @note: btstack_type 1 4790 */ 4791 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_local_seid(const uint8_t * event){ 4792 return event[5]; 4793 } 4794 /** 4795 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4796 * @param event packet 4797 * @return remote_seid 4798 * @note: btstack_type 1 4799 */ 4800 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 4801 return event[6]; 4802 } 4803 /** 4804 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4805 * @param event packet 4806 * @return fragmentation 4807 * @note: btstack_type 1 4808 */ 4809 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 4810 return event[7]; 4811 } 4812 /** 4813 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4814 * @param event packet 4815 * @return transport_identifiers_num 4816 * @note: btstack_type 1 4817 */ 4818 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 4819 return event[8]; 4820 } 4821 /** 4822 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4823 * @param event packet 4824 * @return transport_session_identifier_1 4825 * @note: btstack_type 1 4826 */ 4827 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 4828 return event[9]; 4829 } 4830 /** 4831 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4832 * @param event packet 4833 * @return transport_session_identifier_2 4834 * @note: btstack_type 1 4835 */ 4836 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 4837 return event[10]; 4838 } 4839 /** 4840 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4841 * @param event packet 4842 * @return transport_session_identifier_3 4843 * @note: btstack_type 1 4844 */ 4845 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 4846 return event[11]; 4847 } 4848 /** 4849 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4850 * @param event packet 4851 * @return tcid_1 4852 * @note: btstack_type 1 4853 */ 4854 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 4855 return event[12]; 4856 } 4857 /** 4858 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4859 * @param event packet 4860 * @return tcid_2 4861 * @note: btstack_type 1 4862 */ 4863 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 4864 return event[13]; 4865 } 4866 /** 4867 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4868 * @param event packet 4869 * @return tcid_3 4870 * @note: btstack_type 1 4871 */ 4872 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 4873 return event[14]; 4874 } 4875 4876 /** 4877 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 4878 * @param event packet 4879 * @return avdtp_cid 4880 * @note: btstack_type 2 4881 */ 4882 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 4883 return little_endian_read_16(event, 3); 4884 } 4885 /** 4886 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 4887 * @param event packet 4888 * @return local_seid 4889 * @note: btstack_type 1 4890 */ 4891 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_local_seid(const uint8_t * event){ 4892 return event[5]; 4893 } 4894 /** 4895 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 4896 * @param event packet 4897 * @return remote_seid 4898 * @note: btstack_type 1 4899 */ 4900 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 4901 return event[6]; 4902 } 4903 4904 /** 4905 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4906 * @param event packet 4907 * @return avdtp_cid 4908 * @note: btstack_type 2 4909 */ 4910 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 4911 return little_endian_read_16(event, 3); 4912 } 4913 /** 4914 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4915 * @param event packet 4916 * @return local_seid 4917 * @note: btstack_type 1 4918 */ 4919 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_local_seid(const uint8_t * event){ 4920 return event[5]; 4921 } 4922 /** 4923 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4924 * @param event packet 4925 * @return remote_seid 4926 * @note: btstack_type 1 4927 */ 4928 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 4929 return event[6]; 4930 } 4931 /** 4932 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4933 * @param event packet 4934 * @return back_ch 4935 * @note: btstack_type 1 4936 */ 4937 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 4938 return event[7]; 4939 } 4940 /** 4941 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4942 * @param event packet 4943 * @return media 4944 * @note: btstack_type 1 4945 */ 4946 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 4947 return event[8]; 4948 } 4949 /** 4950 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4951 * @param event packet 4952 * @return recovery 4953 * @note: btstack_type 1 4954 */ 4955 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 4956 return event[9]; 4957 } 4958 4959 /** 4960 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4961 * @param event packet 4962 * @return avdtp_cid 4963 * @note: btstack_type 2 4964 */ 4965 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 4966 return little_endian_read_16(event, 3); 4967 } 4968 /** 4969 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4970 * @param event packet 4971 * @return local_seid 4972 * @note: btstack_type 1 4973 */ 4974 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 4975 return event[5]; 4976 } 4977 /** 4978 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4979 * @param event packet 4980 * @return remote_seid 4981 * @note: btstack_type 1 4982 */ 4983 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 4984 return event[6]; 4985 } 4986 /** 4987 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4988 * @param event packet 4989 * @return reconfigure 4990 * @note: btstack_type 1 4991 */ 4992 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 4993 return event[7]; 4994 } 4995 /** 4996 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4997 * @param event packet 4998 * @return media_type 4999 * @note: btstack_type 1 5000 */ 5001 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 5002 return event[8]; 5003 } 5004 /** 5005 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5006 * @param event packet 5007 * @return sampling_frequency 5008 * @note: btstack_type 2 5009 */ 5010 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 5011 return little_endian_read_16(event, 9); 5012 } 5013 /** 5014 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5015 * @param event packet 5016 * @return channel_mode 5017 * @note: btstack_type 1 5018 */ 5019 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 5020 return event[11]; 5021 } 5022 /** 5023 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5024 * @param event packet 5025 * @return num_channels 5026 * @note: btstack_type 1 5027 */ 5028 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 5029 return event[12]; 5030 } 5031 /** 5032 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5033 * @param event packet 5034 * @return block_length 5035 * @note: btstack_type 1 5036 */ 5037 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 5038 return event[13]; 5039 } 5040 /** 5041 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5042 * @param event packet 5043 * @return subbands 5044 * @note: btstack_type 1 5045 */ 5046 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 5047 return event[14]; 5048 } 5049 /** 5050 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5051 * @param event packet 5052 * @return allocation_method 5053 * @note: btstack_type 1 5054 */ 5055 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 5056 return event[15]; 5057 } 5058 /** 5059 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5060 * @param event packet 5061 * @return min_bitpool_value 5062 * @note: btstack_type 1 5063 */ 5064 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 5065 return event[16]; 5066 } 5067 /** 5068 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5069 * @param event packet 5070 * @return max_bitpool_value 5071 * @note: btstack_type 1 5072 */ 5073 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 5074 return event[17]; 5075 } 5076 5077 /** 5078 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5079 * @param event packet 5080 * @return avdtp_cid 5081 * @note: btstack_type 2 5082 */ 5083 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 5084 return little_endian_read_16(event, 3); 5085 } 5086 /** 5087 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5088 * @param event packet 5089 * @return local_seid 5090 * @note: btstack_type 1 5091 */ 5092 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 5093 return event[5]; 5094 } 5095 /** 5096 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5097 * @param event packet 5098 * @return remote_seid 5099 * @note: btstack_type 1 5100 */ 5101 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 5102 return event[6]; 5103 } 5104 /** 5105 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5106 * @param event packet 5107 * @return reconfigure 5108 * @note: btstack_type 1 5109 */ 5110 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 5111 return event[7]; 5112 } 5113 /** 5114 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5115 * @param event packet 5116 * @return media_type 5117 * @note: btstack_type 1 5118 */ 5119 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 5120 return event[8]; 5121 } 5122 /** 5123 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5124 * @param event packet 5125 * @return media_codec_type 5126 * @note: btstack_type 2 5127 */ 5128 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 5129 return little_endian_read_16(event, 9); 5130 } 5131 /** 5132 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5133 * @param event packet 5134 * @return media_codec_information_len 5135 * @note: btstack_type L 5136 */ 5137 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 5138 return little_endian_read_16(event, 11); 5139 } 5140 /** 5141 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5142 * @param event packet 5143 * @return media_codec_information 5144 * @note: btstack_type V 5145 */ 5146 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 5147 return &event[13]; 5148 } 5149 5150 /** 5151 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5152 * @param event packet 5153 * @return avdtp_cid 5154 * @note: btstack_type 2 5155 */ 5156 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 5157 return little_endian_read_16(event, 3); 5158 } 5159 /** 5160 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5161 * @param event packet 5162 * @param Pointer to storage for bd_addr 5163 * @note: btstack_type B 5164 */ 5165 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5166 reverse_bytes(&event[5], bd_addr, 6); 5167 } 5168 /** 5169 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5170 * @param event packet 5171 * @return local_seid 5172 * @note: btstack_type 1 5173 */ 5174 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 5175 return event[11]; 5176 } 5177 /** 5178 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5179 * @param event packet 5180 * @return remote_seid 5181 * @note: btstack_type 1 5182 */ 5183 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 5184 return event[12]; 5185 } 5186 /** 5187 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5188 * @param event packet 5189 * @return status 5190 * @note: btstack_type 1 5191 */ 5192 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 5193 return event[13]; 5194 } 5195 5196 /** 5197 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 5198 * @param event packet 5199 * @return avdtp_cid 5200 * @note: btstack_type 2 5201 */ 5202 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 5203 return little_endian_read_16(event, 3); 5204 } 5205 /** 5206 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 5207 * @param event packet 5208 * @return local_seid 5209 * @note: btstack_type 1 5210 */ 5211 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 5212 return event[5]; 5213 } 5214 5215 /** 5216 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5217 * @param event packet 5218 * @return avdtp_cid 5219 * @note: btstack_type 2 5220 */ 5221 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 5222 return little_endian_read_16(event, 3); 5223 } 5224 /** 5225 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5226 * @param event packet 5227 * @return local_seid 5228 * @note: btstack_type 1 5229 */ 5230 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 5231 return event[5]; 5232 } 5233 /** 5234 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5235 * @param event packet 5236 * @return sequence_number 5237 * @note: btstack_type 2 5238 */ 5239 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 5240 return little_endian_read_16(event, 6); 5241 } 5242 5243 /** 5244 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5245 * @param event packet 5246 * @return avdtp_cid 5247 * @note: btstack_type 2 5248 */ 5249 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 5250 return little_endian_read_16(event, 3); 5251 } 5252 /** 5253 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5254 * @param event packet 5255 * @return local_seid 5256 * @note: btstack_type 1 5257 */ 5258 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_local_seid(const uint8_t * event){ 5259 return event[5]; 5260 } 5261 /** 5262 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5263 * @param event packet 5264 * @return remote_seid 5265 * @note: btstack_type 1 5266 */ 5267 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 5268 return event[6]; 5269 } 5270 5271 /** 5272 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 5273 * @param event packet 5274 * @return avdtp_cid 5275 * @note: btstack_type 2 5276 */ 5277 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 5278 return little_endian_read_16(event, 3); 5279 } 5280 5281 /** 5282 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 5283 * @param event packet 5284 * @return avdtp_cid 5285 * @note: btstack_type 2 5286 */ 5287 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 5288 return little_endian_read_16(event, 3); 5289 } 5290 /** 5291 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 5292 * @param event packet 5293 * @return local_seid 5294 * @note: btstack_type 1 5295 */ 5296 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 5297 return event[5]; 5298 } 5299 /** 5300 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 5301 * @param event packet 5302 * @return delay_100us 5303 * @note: btstack_type 2 5304 */ 5305 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 5306 return little_endian_read_16(event, 6); 5307 } 5308 5309 /** 5310 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5311 * @param event packet 5312 * @return a2dp_cid 5313 * @note: btstack_type 2 5314 */ 5315 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 5316 return little_endian_read_16(event, 3); 5317 } 5318 /** 5319 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5320 * @param event packet 5321 * @return local_seid 5322 * @note: btstack_type 1 5323 */ 5324 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 5325 return event[5]; 5326 } 5327 5328 /** 5329 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5330 * @param event packet 5331 * @return a2dp_cid 5332 * @note: btstack_type 2 5333 */ 5334 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 5335 return little_endian_read_16(event, 3); 5336 } 5337 /** 5338 * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5339 * @param event packet 5340 * @return int_seid 5341 * @note: btstack_type 1 5342 */ 5343 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_int_seid(const uint8_t * event){ 5344 return event[5]; 5345 } 5346 /** 5347 * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5348 * @param event packet 5349 * @return acp_seid 5350 * @note: btstack_type 1 5351 */ 5352 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_acp_seid(const uint8_t * event){ 5353 return event[6]; 5354 } 5355 /** 5356 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5357 * @param event packet 5358 * @return reconfigure 5359 * @note: btstack_type 1 5360 */ 5361 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 5362 return event[7]; 5363 } 5364 /** 5365 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5366 * @param event packet 5367 * @return media_type 5368 * @note: btstack_type 1 5369 */ 5370 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 5371 return event[8]; 5372 } 5373 /** 5374 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5375 * @param event packet 5376 * @return sampling_frequency 5377 * @note: btstack_type 2 5378 */ 5379 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 5380 return little_endian_read_16(event, 9); 5381 } 5382 /** 5383 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5384 * @param event packet 5385 * @return channel_mode 5386 * @note: btstack_type 1 5387 */ 5388 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 5389 return event[11]; 5390 } 5391 /** 5392 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5393 * @param event packet 5394 * @return num_channels 5395 * @note: btstack_type 1 5396 */ 5397 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 5398 return event[12]; 5399 } 5400 /** 5401 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5402 * @param event packet 5403 * @return block_length 5404 * @note: btstack_type 1 5405 */ 5406 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 5407 return event[13]; 5408 } 5409 /** 5410 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5411 * @param event packet 5412 * @return subbands 5413 * @note: btstack_type 1 5414 */ 5415 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 5416 return event[14]; 5417 } 5418 /** 5419 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5420 * @param event packet 5421 * @return allocation_method 5422 * @note: btstack_type 1 5423 */ 5424 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 5425 return event[15]; 5426 } 5427 /** 5428 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5429 * @param event packet 5430 * @return min_bitpool_value 5431 * @note: btstack_type 1 5432 */ 5433 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 5434 return event[16]; 5435 } 5436 /** 5437 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5438 * @param event packet 5439 * @return max_bitpool_value 5440 * @note: btstack_type 1 5441 */ 5442 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 5443 return event[17]; 5444 } 5445 5446 /** 5447 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5448 * @param event packet 5449 * @return a2dp_cid 5450 * @note: btstack_type 2 5451 */ 5452 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 5453 return little_endian_read_16(event, 3); 5454 } 5455 /** 5456 * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5457 * @param event packet 5458 * @return int_seid 5459 * @note: btstack_type 1 5460 */ 5461 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_int_seid(const uint8_t * event){ 5462 return event[5]; 5463 } 5464 /** 5465 * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5466 * @param event packet 5467 * @return acp_seid 5468 * @note: btstack_type 1 5469 */ 5470 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_acp_seid(const uint8_t * event){ 5471 return event[6]; 5472 } 5473 /** 5474 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5475 * @param event packet 5476 * @return reconfigure 5477 * @note: btstack_type 1 5478 */ 5479 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 5480 return event[7]; 5481 } 5482 /** 5483 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5484 * @param event packet 5485 * @return media_type 5486 * @note: btstack_type 1 5487 */ 5488 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 5489 return event[8]; 5490 } 5491 /** 5492 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5493 * @param event packet 5494 * @return media_codec_type 5495 * @note: btstack_type 2 5496 */ 5497 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 5498 return little_endian_read_16(event, 9); 5499 } 5500 /** 5501 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5502 * @param event packet 5503 * @return media_codec_information_len 5504 * @note: btstack_type L 5505 */ 5506 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 5507 return little_endian_read_16(event, 11); 5508 } 5509 /** 5510 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5511 * @param event packet 5512 * @return media_codec_information 5513 * @note: btstack_type V 5514 */ 5515 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 5516 return &event[13]; 5517 } 5518 5519 /** 5520 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5521 * @param event packet 5522 * @return a2dp_cid 5523 * @note: btstack_type 2 5524 */ 5525 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 5526 return little_endian_read_16(event, 3); 5527 } 5528 /** 5529 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5530 * @param event packet 5531 * @param Pointer to storage for bd_addr 5532 * @note: btstack_type B 5533 */ 5534 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5535 reverse_bytes(&event[5], bd_addr, 6); 5536 } 5537 /** 5538 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5539 * @param event packet 5540 * @return local_seid 5541 * @note: btstack_type 1 5542 */ 5543 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 5544 return event[11]; 5545 } 5546 /** 5547 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5548 * @param event packet 5549 * @return remote_seid 5550 * @note: btstack_type 1 5551 */ 5552 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 5553 return event[12]; 5554 } 5555 /** 5556 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5557 * @param event packet 5558 * @return status 5559 * @note: btstack_type 1 5560 */ 5561 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 5562 return event[13]; 5563 } 5564 5565 /** 5566 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 5567 * @param event packet 5568 * @return a2dp_cid 5569 * @note: btstack_type 2 5570 */ 5571 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 5572 return little_endian_read_16(event, 3); 5573 } 5574 /** 5575 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 5576 * @param event packet 5577 * @return local_seid 5578 * @note: btstack_type 1 5579 */ 5580 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 5581 return event[5]; 5582 } 5583 5584 /** 5585 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 5586 * @param event packet 5587 * @return a2dp_cid 5588 * @note: btstack_type 2 5589 */ 5590 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 5591 return little_endian_read_16(event, 3); 5592 } 5593 /** 5594 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 5595 * @param event packet 5596 * @return local_seid 5597 * @note: btstack_type 1 5598 */ 5599 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 5600 return event[5]; 5601 } 5602 5603 /** 5604 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 5605 * @param event packet 5606 * @return a2dp_cid 5607 * @note: btstack_type 2 5608 */ 5609 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 5610 return little_endian_read_16(event, 3); 5611 } 5612 /** 5613 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 5614 * @param event packet 5615 * @return local_seid 5616 * @note: btstack_type 1 5617 */ 5618 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 5619 return event[5]; 5620 } 5621 5622 /** 5623 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 5624 * @param event packet 5625 * @return a2dp_cid 5626 * @note: btstack_type 2 5627 */ 5628 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 5629 return little_endian_read_16(event, 3); 5630 } 5631 /** 5632 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 5633 * @param event packet 5634 * @return local_seid 5635 * @note: btstack_type 1 5636 */ 5637 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 5638 return event[5]; 5639 } 5640 5641 /** 5642 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 5643 * @param event packet 5644 * @return a2dp_cid 5645 * @note: btstack_type 2 5646 */ 5647 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 5648 return little_endian_read_16(event, 3); 5649 } 5650 /** 5651 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 5652 * @param event packet 5653 * @return local_seid 5654 * @note: btstack_type 1 5655 */ 5656 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 5657 return event[5]; 5658 } 5659 /** 5660 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 5661 * @param event packet 5662 * @return signal_identifier 5663 * @note: btstack_type 1 5664 */ 5665 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 5666 return event[6]; 5667 } 5668 5669 /** 5670 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 5671 * @param event packet 5672 * @return a2dp_cid 5673 * @note: btstack_type 2 5674 */ 5675 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 5676 return little_endian_read_16(event, 3); 5677 } 5678 /** 5679 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 5680 * @param event packet 5681 * @return local_seid 5682 * @note: btstack_type 1 5683 */ 5684 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 5685 return event[5]; 5686 } 5687 /** 5688 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 5689 * @param event packet 5690 * @return signal_identifier 5691 * @note: btstack_type 1 5692 */ 5693 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 5694 return event[6]; 5695 } 5696 5697 /** 5698 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 5699 * @param event packet 5700 * @return a2dp_cid 5701 * @note: btstack_type 2 5702 */ 5703 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 5704 return little_endian_read_16(event, 3); 5705 } 5706 /** 5707 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 5708 * @param event packet 5709 * @param Pointer to storage for bd_addr 5710 * @note: btstack_type B 5711 */ 5712 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5713 reverse_bytes(&event[5], bd_addr, 6); 5714 } 5715 /** 5716 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 5717 * @param event packet 5718 * @return status 5719 * @note: btstack_type 1 5720 */ 5721 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 5722 return event[11]; 5723 } 5724 5725 /** 5726 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 5727 * @param event packet 5728 * @return a2dp_cid 5729 * @note: btstack_type 2 5730 */ 5731 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 5732 return little_endian_read_16(event, 3); 5733 } 5734 5735 /** 5736 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 5737 * @param event packet 5738 * @return a2dp_cid 5739 * @note: btstack_type 2 5740 */ 5741 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 5742 return little_endian_read_16(event, 3); 5743 } 5744 /** 5745 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 5746 * @param event packet 5747 * @return local_seid 5748 * @note: btstack_type 1 5749 */ 5750 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 5751 return event[5]; 5752 } 5753 /** 5754 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 5755 * @param event packet 5756 * @return status 5757 * @note: btstack_type 1 5758 */ 5759 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 5760 return event[6]; 5761 } 5762 5763 /** 5764 * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 5765 * @param event packet 5766 * @return avdtp_cid 5767 * @note: btstack_type 2 5768 */ 5769 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 5770 return little_endian_read_16(event, 3); 5771 } 5772 /** 5773 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 5774 * @param event packet 5775 * @return local_seid 5776 * @note: btstack_type 1 5777 */ 5778 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_local_seid(const uint8_t * event){ 5779 return event[5]; 5780 } 5781 /** 5782 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 5783 * @param event packet 5784 * @return remote_seid 5785 * @note: btstack_type 1 5786 */ 5787 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 5788 return event[6]; 5789 } 5790 5791 /** 5792 * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 5793 * @param event packet 5794 * @return avdtp_cid 5795 * @note: btstack_type 2 5796 */ 5797 static inline uint16_t a2dp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 5798 return little_endian_read_16(event, 3); 5799 } 5800 /** 5801 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 5802 * @param event packet 5803 * @return local_seid 5804 * @note: btstack_type 1 5805 */ 5806 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 5807 return event[5]; 5808 } 5809 /** 5810 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 5811 * @param event packet 5812 * @return delay_100us 5813 * @note: btstack_type 2 5814 */ 5815 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 5816 return little_endian_read_16(event, 6); 5817 } 5818 5819 /** 5820 * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5821 * @param event packet 5822 * @return avdtp_cid 5823 * @note: btstack_type 2 5824 */ 5825 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 5826 return little_endian_read_16(event, 3); 5827 } 5828 /** 5829 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5830 * @param event packet 5831 * @return local_seid 5832 * @note: btstack_type 1 5833 */ 5834 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_local_seid(const uint8_t * event){ 5835 return event[5]; 5836 } 5837 /** 5838 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5839 * @param event packet 5840 * @return remote_seid 5841 * @note: btstack_type 1 5842 */ 5843 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 5844 return event[6]; 5845 } 5846 5847 /** 5848 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 5849 * @param event packet 5850 * @return status 5851 * @note: btstack_type 1 5852 */ 5853 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 5854 return event[3]; 5855 } 5856 /** 5857 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 5858 * @param event packet 5859 * @param Pointer to storage for bd_addr 5860 * @note: btstack_type B 5861 */ 5862 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5863 reverse_bytes(&event[4], bd_addr, 6); 5864 } 5865 /** 5866 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 5867 * @param event packet 5868 * @return avrcp_cid 5869 * @note: btstack_type 2 5870 */ 5871 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 5872 return little_endian_read_16(event, 10); 5873 } 5874 5875 /** 5876 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 5877 * @param event packet 5878 * @return avrcp_cid 5879 * @note: btstack_type 2 5880 */ 5881 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 5882 return little_endian_read_16(event, 3); 5883 } 5884 5885 /** 5886 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 5887 * @param event packet 5888 * @return avrcp_cid 5889 * @note: btstack_type 2 5890 */ 5891 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 5892 return little_endian_read_16(event, 3); 5893 } 5894 /** 5895 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 5896 * @param event packet 5897 * @return command_type 5898 * @note: btstack_type 1 5899 */ 5900 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 5901 return event[5]; 5902 } 5903 /** 5904 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 5905 * @param event packet 5906 * @return repeat_mode 5907 * @note: btstack_type 1 5908 */ 5909 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 5910 return event[6]; 5911 } 5912 /** 5913 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 5914 * @param event packet 5915 * @return shuffle_mode 5916 * @note: btstack_type 1 5917 */ 5918 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 5919 return event[7]; 5920 } 5921 5922 /** 5923 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 5924 * @param event packet 5925 * @return avrcp_cid 5926 * @note: btstack_type 2 5927 */ 5928 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 5929 return little_endian_read_16(event, 3); 5930 } 5931 /** 5932 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 5933 * @param event packet 5934 * @return command_type 5935 * @note: btstack_type 1 5936 */ 5937 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 5938 return event[5]; 5939 } 5940 /** 5941 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 5942 * @param event packet 5943 * @return song_length 5944 * @note: btstack_type 4 5945 */ 5946 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 5947 return little_endian_read_32(event, 6); 5948 } 5949 /** 5950 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 5951 * @param event packet 5952 * @return song_position 5953 * @note: btstack_type 4 5954 */ 5955 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 5956 return little_endian_read_32(event, 10); 5957 } 5958 /** 5959 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 5960 * @param event packet 5961 * @return play_status 5962 * @note: btstack_type 1 5963 */ 5964 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 5965 return event[14]; 5966 } 5967 5968 /** 5969 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 5970 * @param event packet 5971 * @return avrcp_cid 5972 * @note: btstack_type 2 5973 */ 5974 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 5975 return little_endian_read_16(event, 3); 5976 } 5977 /** 5978 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 5979 * @param event packet 5980 * @return command_type 5981 * @note: btstack_type 1 5982 */ 5983 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 5984 return event[5]; 5985 } 5986 /** 5987 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 5988 * @param event packet 5989 * @return play_status 5990 * @note: btstack_type 1 5991 */ 5992 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 5993 return event[6]; 5994 } 5995 5996 /** 5997 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 5998 * @param event packet 5999 * @return avrcp_cid 6000 * @note: btstack_type 2 6001 */ 6002 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 6003 return little_endian_read_16(event, 3); 6004 } 6005 /** 6006 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 6007 * @param event packet 6008 * @return command_type 6009 * @note: btstack_type 1 6010 */ 6011 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 6012 return event[5]; 6013 } 6014 6015 /** 6016 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 6017 * @param event packet 6018 * @return avrcp_cid 6019 * @note: btstack_type 2 6020 */ 6021 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 6022 return little_endian_read_16(event, 3); 6023 } 6024 /** 6025 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 6026 * @param event packet 6027 * @return command_type 6028 * @note: btstack_type 1 6029 */ 6030 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 6031 return event[5]; 6032 } 6033 6034 /** 6035 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 6036 * @param event packet 6037 * @return avrcp_cid 6038 * @note: btstack_type 2 6039 */ 6040 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 6041 return little_endian_read_16(event, 3); 6042 } 6043 /** 6044 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 6045 * @param event packet 6046 * @return command_type 6047 * @note: btstack_type 1 6048 */ 6049 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 6050 return event[5]; 6051 } 6052 6053 /** 6054 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 6055 * @param event packet 6056 * @return avrcp_cid 6057 * @note: btstack_type 2 6058 */ 6059 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 6060 return little_endian_read_16(event, 3); 6061 } 6062 /** 6063 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 6064 * @param event packet 6065 * @return command_type 6066 * @note: btstack_type 1 6067 */ 6068 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 6069 return event[5]; 6070 } 6071 /** 6072 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 6073 * @param event packet 6074 * @return absolute_volume 6075 * @note: btstack_type 1 6076 */ 6077 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 6078 return event[6]; 6079 } 6080 6081 /** 6082 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 6083 * @param event packet 6084 * @return avrcp_cid 6085 * @note: btstack_type 2 6086 */ 6087 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 6088 return little_endian_read_16(event, 3); 6089 } 6090 /** 6091 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 6092 * @param event packet 6093 * @return command_type 6094 * @note: btstack_type 1 6095 */ 6096 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 6097 return event[5]; 6098 } 6099 /** 6100 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 6101 * @param event packet 6102 * @return absolute_volume 6103 * @note: btstack_type 1 6104 */ 6105 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 6106 return event[6]; 6107 } 6108 6109 /** 6110 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 6111 * @param event packet 6112 * @return avrcp_cid 6113 * @note: btstack_type 2 6114 */ 6115 static inline uint16_t avrcp_subevent_enable_notification_complete_get_avrcp_cid(const uint8_t * event){ 6116 return little_endian_read_16(event, 3); 6117 } 6118 /** 6119 * @brief Get field command_type from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 6120 * @param event packet 6121 * @return command_type 6122 * @note: btstack_type 1 6123 */ 6124 static inline uint8_t avrcp_subevent_enable_notification_complete_get_command_type(const uint8_t * event){ 6125 return event[5]; 6126 } 6127 /** 6128 * @brief Get field notification_id from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 6129 * @param event packet 6130 * @return notification_id 6131 * @note: btstack_type 1 6132 */ 6133 static inline uint8_t avrcp_subevent_enable_notification_complete_get_notification_id(const uint8_t * event){ 6134 return event[6]; 6135 } 6136 6137 /** 6138 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 6139 * @param event packet 6140 * @return avrcp_cid 6141 * @note: btstack_type 2 6142 */ 6143 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 6144 return little_endian_read_16(event, 3); 6145 } 6146 /** 6147 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 6148 * @param event packet 6149 * @return command_type 6150 * @note: btstack_type 1 6151 */ 6152 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 6153 return event[5]; 6154 } 6155 /** 6156 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 6157 * @param event packet 6158 * @return operation_id 6159 * @note: btstack_type 1 6160 */ 6161 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 6162 return event[6]; 6163 } 6164 6165 /** 6166 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 6167 * @param event packet 6168 * @return avrcp_cid 6169 * @note: btstack_type 2 6170 */ 6171 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 6172 return little_endian_read_16(event, 3); 6173 } 6174 /** 6175 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 6176 * @param event packet 6177 * @return command_type 6178 * @note: btstack_type 1 6179 */ 6180 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 6181 return event[5]; 6182 } 6183 /** 6184 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 6185 * @param event packet 6186 * @return operation_id 6187 * @note: btstack_type 1 6188 */ 6189 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 6190 return event[6]; 6191 } 6192 6193 /** 6194 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 6195 * @param event packet 6196 * @return avrcp_cid 6197 * @note: btstack_type 2 6198 */ 6199 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 6200 return little_endian_read_16(event, 3); 6201 } 6202 /** 6203 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 6204 * @param event packet 6205 * @return command_type 6206 * @note: btstack_type 1 6207 */ 6208 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 6209 return event[5]; 6210 } 6211 6212 /** 6213 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COMPANY_IDS_QUERY 6214 * @param event packet 6215 * @return avrcp_cid 6216 * @note: btstack_type 2 6217 */ 6218 static inline uint16_t avrcp_subevent_company_ids_query_get_avrcp_cid(const uint8_t * event){ 6219 return little_endian_read_16(event, 3); 6220 } 6221 6222 /** 6223 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_EVENT_IDS_QUERY 6224 * @param event packet 6225 * @return avrcp_cid 6226 * @note: btstack_type 2 6227 */ 6228 static inline uint16_t avrcp_subevent_event_ids_query_get_avrcp_cid(const uint8_t * event){ 6229 return little_endian_read_16(event, 3); 6230 } 6231 6232 /** 6233 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 6234 * @param event packet 6235 * @return avrcp_cid 6236 * @note: btstack_type 2 6237 */ 6238 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 6239 return little_endian_read_16(event, 3); 6240 } 6241 6242 /** 6243 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 6244 * @param event packet 6245 * @return avrcp_cid 6246 * @note: btstack_type 2 6247 */ 6248 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 6249 return little_endian_read_16(event, 3); 6250 } 6251 /** 6252 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 6253 * @param event packet 6254 * @return operation_id 6255 * @note: btstack_type 1 6256 */ 6257 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 6258 return event[5]; 6259 } 6260 /** 6261 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 6262 * @param event packet 6263 * @return operands_length 6264 * @note: btstack_type 1 6265 */ 6266 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 6267 return event[6]; 6268 } 6269 /** 6270 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 6271 * @param event packet 6272 * @return operand 6273 * @note: btstack_type 1 6274 */ 6275 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 6276 return event[7]; 6277 } 6278 6279 /** 6280 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 6281 * @param event packet 6282 * @return avrcp_cid 6283 * @note: btstack_type 2 6284 */ 6285 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 6286 return little_endian_read_16(event, 3); 6287 } 6288 /** 6289 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 6290 * @param event packet 6291 * @return command_type 6292 * @note: btstack_type 1 6293 */ 6294 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 6295 return event[5]; 6296 } 6297 /** 6298 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 6299 * @param event packet 6300 * @return track 6301 * @note: btstack_type 1 6302 */ 6303 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 6304 return event[6]; 6305 } 6306 6307 /** 6308 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 6309 * @param event packet 6310 * @return avrcp_cid 6311 * @note: btstack_type 2 6312 */ 6313 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 6314 return little_endian_read_16(event, 3); 6315 } 6316 /** 6317 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 6318 * @param event packet 6319 * @return command_type 6320 * @note: btstack_type 1 6321 */ 6322 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 6323 return event[5]; 6324 } 6325 /** 6326 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 6327 * @param event packet 6328 * @return total_tracks 6329 * @note: btstack_type 1 6330 */ 6331 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 6332 return event[6]; 6333 } 6334 6335 /** 6336 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 6337 * @param event packet 6338 * @return avrcp_cid 6339 * @note: btstack_type 2 6340 */ 6341 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 6342 return little_endian_read_16(event, 3); 6343 } 6344 /** 6345 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 6346 * @param event packet 6347 * @return command_type 6348 * @note: btstack_type 1 6349 */ 6350 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 6351 return event[5]; 6352 } 6353 /** 6354 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 6355 * @param event packet 6356 * @return song_length 6357 * @note: btstack_type 4 6358 */ 6359 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 6360 return little_endian_read_32(event, 6); 6361 } 6362 6363 /** 6364 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6365 * @param event packet 6366 * @return avrcp_cid 6367 * @note: btstack_type 2 6368 */ 6369 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 6370 return little_endian_read_16(event, 3); 6371 } 6372 /** 6373 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6374 * @param event packet 6375 * @return command_type 6376 * @note: btstack_type 1 6377 */ 6378 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 6379 return event[5]; 6380 } 6381 /** 6382 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6383 * @param event packet 6384 * @return value_len 6385 * @note: btstack_type J 6386 */ 6387 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 6388 return event[6]; 6389 } 6390 /** 6391 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6392 * @param event packet 6393 * @return value 6394 * @note: btstack_type V 6395 */ 6396 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 6397 return &event[7]; 6398 } 6399 6400 /** 6401 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6402 * @param event packet 6403 * @return avrcp_cid 6404 * @note: btstack_type 2 6405 */ 6406 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 6407 return little_endian_read_16(event, 3); 6408 } 6409 /** 6410 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6411 * @param event packet 6412 * @return command_type 6413 * @note: btstack_type 1 6414 */ 6415 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 6416 return event[5]; 6417 } 6418 /** 6419 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6420 * @param event packet 6421 * @return value_len 6422 * @note: btstack_type J 6423 */ 6424 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 6425 return event[6]; 6426 } 6427 /** 6428 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6429 * @param event packet 6430 * @return value 6431 * @note: btstack_type V 6432 */ 6433 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 6434 return &event[7]; 6435 } 6436 6437 /** 6438 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6439 * @param event packet 6440 * @return avrcp_cid 6441 * @note: btstack_type 2 6442 */ 6443 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 6444 return little_endian_read_16(event, 3); 6445 } 6446 /** 6447 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6448 * @param event packet 6449 * @return command_type 6450 * @note: btstack_type 1 6451 */ 6452 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 6453 return event[5]; 6454 } 6455 /** 6456 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6457 * @param event packet 6458 * @return value_len 6459 * @note: btstack_type J 6460 */ 6461 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 6462 return event[6]; 6463 } 6464 /** 6465 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6466 * @param event packet 6467 * @return value 6468 * @note: btstack_type V 6469 */ 6470 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 6471 return &event[7]; 6472 } 6473 6474 /** 6475 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6476 * @param event packet 6477 * @return avrcp_cid 6478 * @note: btstack_type 2 6479 */ 6480 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 6481 return little_endian_read_16(event, 3); 6482 } 6483 /** 6484 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6485 * @param event packet 6486 * @return command_type 6487 * @note: btstack_type 1 6488 */ 6489 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 6490 return event[5]; 6491 } 6492 /** 6493 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6494 * @param event packet 6495 * @return value_len 6496 * @note: btstack_type J 6497 */ 6498 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 6499 return event[6]; 6500 } 6501 /** 6502 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6503 * @param event packet 6504 * @return value 6505 * @note: btstack_type V 6506 */ 6507 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 6508 return &event[7]; 6509 } 6510 6511 /** 6512 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 6513 * @param event packet 6514 * @return avrcp_cid 6515 * @note: btstack_type 2 6516 */ 6517 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 6518 return little_endian_read_16(event, 3); 6519 } 6520 /** 6521 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 6522 * @param event packet 6523 * @return command_type 6524 * @note: btstack_type 1 6525 */ 6526 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 6527 return event[5]; 6528 } 6529 /** 6530 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 6531 * @param event packet 6532 * @return status 6533 * @note: btstack_type 1 6534 */ 6535 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 6536 return event[6]; 6537 } 6538 6539 /** 6540 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 6541 * @param event packet 6542 * @param Pointer to storage for bd_addr 6543 * @note: btstack_type B 6544 */ 6545 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6546 reverse_bytes(&event[3], bd_addr, 6); 6547 } 6548 /** 6549 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 6550 * @param event packet 6551 * @return browsing_cid 6552 * @note: btstack_type 2 6553 */ 6554 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 6555 return little_endian_read_16(event, 9); 6556 } 6557 6558 /** 6559 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 6560 * @param event packet 6561 * @return status 6562 * @note: btstack_type 1 6563 */ 6564 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 6565 return event[3]; 6566 } 6567 /** 6568 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 6569 * @param event packet 6570 * @param Pointer to storage for bd_addr 6571 * @note: btstack_type B 6572 */ 6573 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6574 reverse_bytes(&event[4], bd_addr, 6); 6575 } 6576 /** 6577 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 6578 * @param event packet 6579 * @return browsing_cid 6580 * @note: btstack_type 2 6581 */ 6582 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 6583 return little_endian_read_16(event, 10); 6584 } 6585 6586 /** 6587 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 6588 * @param event packet 6589 * @return browsing_cid 6590 * @note: btstack_type 2 6591 */ 6592 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 6593 return little_endian_read_16(event, 3); 6594 } 6595 6596 /** 6597 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 6598 * @param event packet 6599 * @return browsing_cid 6600 * @note: btstack_type 2 6601 */ 6602 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 6603 return little_endian_read_16(event, 3); 6604 } 6605 /** 6606 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 6607 * @param event packet 6608 * @return uid_counter 6609 * @note: btstack_type 2 6610 */ 6611 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 6612 return little_endian_read_16(event, 5); 6613 } 6614 /** 6615 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 6616 * @param event packet 6617 * @return browsing_status 6618 * @note: btstack_type 1 6619 */ 6620 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 6621 return event[7]; 6622 } 6623 /** 6624 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 6625 * @param event packet 6626 * @return bluetooth_status 6627 * @note: btstack_type 1 6628 */ 6629 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 6630 return event[8]; 6631 } 6632 6633 /** 6634 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 6635 * @param event packet 6636 * @return browsing_cid 6637 * @note: btstack_type 2 6638 */ 6639 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 6640 return little_endian_read_16(event, 3); 6641 } 6642 /** 6643 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 6644 * @param event packet 6645 * @return scope 6646 * @note: btstack_type 1 6647 */ 6648 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 6649 return event[5]; 6650 } 6651 /** 6652 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 6653 * @param event packet 6654 * @return attr_bitmap 6655 * @note: btstack_type 4 6656 */ 6657 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 6658 return little_endian_read_32(event, 6); 6659 } 6660 6661 /** 6662 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 6663 * @param event packet 6664 * @return browsing_cid 6665 * @note: btstack_type 2 6666 */ 6667 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 6668 return little_endian_read_16(event, 3); 6669 } 6670 /** 6671 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 6672 * @param event packet 6673 * @return scope 6674 * @note: btstack_type 1 6675 */ 6676 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 6677 return event[5]; 6678 } 6679 6680 /** 6681 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 6682 * @param event packet 6683 * @return avrcp_cid 6684 * @note: btstack_type 2 6685 */ 6686 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 6687 return little_endian_read_16(event, 3); 6688 } 6689 /** 6690 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 6691 * @param event packet 6692 * @return command_type 6693 * @note: btstack_type 1 6694 */ 6695 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 6696 return event[5]; 6697 } 6698 /** 6699 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 6700 * @param event packet 6701 * @return playback_position_ms 6702 * @note: btstack_type 4 6703 */ 6704 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 6705 return little_endian_read_32(event, 6); 6706 } 6707 6708 /** 6709 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 6710 * @param event packet 6711 * @return goep_cid 6712 * @note: btstack_type 2 6713 */ 6714 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 6715 return little_endian_read_16(event, 3); 6716 } 6717 /** 6718 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 6719 * @param event packet 6720 * @return status 6721 * @note: btstack_type 1 6722 */ 6723 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 6724 return event[5]; 6725 } 6726 /** 6727 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 6728 * @param event packet 6729 * @param Pointer to storage for bd_addr 6730 * @note: btstack_type B 6731 */ 6732 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6733 reverse_bytes(&event[6], bd_addr, 6); 6734 } 6735 /** 6736 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 6737 * @param event packet 6738 * @return con_handle 6739 * @note: btstack_type H 6740 */ 6741 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 6742 return little_endian_read_16(event, 12); 6743 } 6744 /** 6745 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 6746 * @param event packet 6747 * @return incoming 6748 * @note: btstack_type 1 6749 */ 6750 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 6751 return event[14]; 6752 } 6753 6754 /** 6755 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 6756 * @param event packet 6757 * @return goep_cid 6758 * @note: btstack_type 2 6759 */ 6760 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 6761 return little_endian_read_16(event, 3); 6762 } 6763 6764 /** 6765 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 6766 * @param event packet 6767 * @return goep_cid 6768 * @note: btstack_type 2 6769 */ 6770 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 6771 return little_endian_read_16(event, 3); 6772 } 6773 6774 /** 6775 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 6776 * @param event packet 6777 * @return pbap_cid 6778 * @note: btstack_type 2 6779 */ 6780 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 6781 return little_endian_read_16(event, 3); 6782 } 6783 /** 6784 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 6785 * @param event packet 6786 * @return status 6787 * @note: btstack_type 1 6788 */ 6789 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 6790 return event[5]; 6791 } 6792 /** 6793 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 6794 * @param event packet 6795 * @param Pointer to storage for bd_addr 6796 * @note: btstack_type B 6797 */ 6798 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6799 reverse_bytes(&event[6], bd_addr, 6); 6800 } 6801 /** 6802 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 6803 * @param event packet 6804 * @return con_handle 6805 * @note: btstack_type H 6806 */ 6807 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 6808 return little_endian_read_16(event, 12); 6809 } 6810 /** 6811 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 6812 * @param event packet 6813 * @return incoming 6814 * @note: btstack_type 1 6815 */ 6816 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 6817 return event[14]; 6818 } 6819 6820 /** 6821 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 6822 * @param event packet 6823 * @return goep_cid 6824 * @note: btstack_type 2 6825 */ 6826 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 6827 return little_endian_read_16(event, 3); 6828 } 6829 6830 /** 6831 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 6832 * @param event packet 6833 * @return goep_cid 6834 * @note: btstack_type 2 6835 */ 6836 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 6837 return little_endian_read_16(event, 3); 6838 } 6839 /** 6840 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 6841 * @param event packet 6842 * @return status 6843 * @note: btstack_type 1 6844 */ 6845 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 6846 return event[5]; 6847 } 6848 6849 /** 6850 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 6851 * @param event packet 6852 * @return goep_cid 6853 * @note: btstack_type 2 6854 */ 6855 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 6856 return little_endian_read_16(event, 3); 6857 } 6858 /** 6859 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 6860 * @param event packet 6861 * @return status 6862 * @note: btstack_type 1 6863 */ 6864 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 6865 return event[5]; 6866 } 6867 /** 6868 * @brief Get field phoneboook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 6869 * @param event packet 6870 * @return phoneboook_size 6871 * @note: btstack_type 2 6872 */ 6873 static inline uint16_t pbap_subevent_phonebook_size_get_phoneboook_size(const uint8_t * event){ 6874 return little_endian_read_16(event, 6); 6875 } 6876 6877 /** 6878 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 6879 * @param event packet 6880 * @return goep_cid 6881 * @note: btstack_type 2 6882 */ 6883 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 6884 return little_endian_read_16(event, 3); 6885 } 6886 /** 6887 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 6888 * @param event packet 6889 * @return user_id_required 6890 * @note: btstack_type 1 6891 */ 6892 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 6893 return event[5]; 6894 } 6895 /** 6896 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 6897 * @param event packet 6898 * @return full_access 6899 * @note: btstack_type 1 6900 */ 6901 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 6902 return event[6]; 6903 } 6904 6905 /** 6906 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 6907 * @param event packet 6908 * @return goep_cid 6909 * @note: btstack_type 2 6910 */ 6911 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 6912 return little_endian_read_16(event, 3); 6913 } 6914 /** 6915 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 6916 * @param event packet 6917 * @return name_len 6918 * @note: btstack_type J 6919 */ 6920 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 6921 return event[5]; 6922 } 6923 /** 6924 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 6925 * @param event packet 6926 * @return name 6927 * @note: btstack_type V 6928 */ 6929 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 6930 return &event[6]; 6931 } 6932 /** 6933 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 6934 * @param event packet 6935 * @return handle_len 6936 * @note: btstack_type J 6937 */ 6938 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 6939 return event[6 + event[5]]; 6940 } 6941 /** 6942 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 6943 * @param event packet 6944 * @return handle 6945 * @note: btstack_type V 6946 */ 6947 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 6948 return &event[6 + event[5] + 1]; 6949 } 6950 6951 /** 6952 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 6953 * @param event packet 6954 * @return hid_cid 6955 * @note: btstack_type 2 6956 */ 6957 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 6958 return little_endian_read_16(event, 3); 6959 } 6960 /** 6961 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 6962 * @param event packet 6963 * @return status 6964 * @note: btstack_type 1 6965 */ 6966 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 6967 return event[5]; 6968 } 6969 /** 6970 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 6971 * @param event packet 6972 * @param Pointer to storage for bd_addr 6973 * @note: btstack_type B 6974 */ 6975 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6976 reverse_bytes(&event[6], bd_addr, 6); 6977 } 6978 /** 6979 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 6980 * @param event packet 6981 * @return con_handle 6982 * @note: btstack_type H 6983 */ 6984 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 6985 return little_endian_read_16(event, 12); 6986 } 6987 /** 6988 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 6989 * @param event packet 6990 * @return incoming 6991 * @note: btstack_type 1 6992 */ 6993 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 6994 return event[14]; 6995 } 6996 6997 /** 6998 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 6999 * @param event packet 7000 * @return hid_cid 7001 * @note: btstack_type 2 7002 */ 7003 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 7004 return little_endian_read_16(event, 3); 7005 } 7006 7007 /** 7008 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 7009 * @param event packet 7010 * @return hid_cid 7011 * @note: btstack_type 2 7012 */ 7013 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 7014 return little_endian_read_16(event, 3); 7015 } 7016 7017 /** 7018 * @brief Get field con_handle from event HID_SUBEVENT_SUSPEND 7019 * @param event packet 7020 * @return con_handle 7021 * @note: btstack_type 2 7022 */ 7023 static inline uint16_t hid_subevent_suspend_get_con_handle(const uint8_t * event){ 7024 return little_endian_read_16(event, 3); 7025 } 7026 7027 /** 7028 * @brief Get field con_handle from event HID_SUBEVENT_EXIT_SUSPEND 7029 * @param event packet 7030 * @return con_handle 7031 * @note: btstack_type 2 7032 */ 7033 static inline uint16_t hid_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 7034 return little_endian_read_16(event, 3); 7035 } 7036 7037 /** 7038 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 7039 * @param event packet 7040 * @return con_handle 7041 * @note: btstack_type 2 7042 */ 7043 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 7044 return little_endian_read_16(event, 3); 7045 } 7046 7047 /** 7048 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 7049 * @param event packet 7050 * @return con_handle 7051 * @note: btstack_type 2 7052 */ 7053 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 7054 return little_endian_read_16(event, 3); 7055 } 7056 /** 7057 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 7058 * @param event packet 7059 * @return protocol_mode 7060 * @note: btstack_type 1 7061 */ 7062 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 7063 return event[5]; 7064 } 7065 7066 /** 7067 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 7068 * @param event packet 7069 * @return con_handle 7070 * @note: btstack_type 2 7071 */ 7072 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 7073 return little_endian_read_16(event, 3); 7074 } 7075 /** 7076 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 7077 * @param event packet 7078 * @return enable 7079 * @note: btstack_type 1 7080 */ 7081 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 7082 return event[5]; 7083 } 7084 7085 /** 7086 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 7087 * @param event packet 7088 * @return con_handle 7089 * @note: btstack_type 2 7090 */ 7091 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 7092 return little_endian_read_16(event, 3); 7093 } 7094 /** 7095 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 7096 * @param event packet 7097 * @return enable 7098 * @note: btstack_type 1 7099 */ 7100 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 7101 return event[5]; 7102 } 7103 7104 /** 7105 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 7106 * @param event packet 7107 * @return con_handle 7108 * @note: btstack_type 2 7109 */ 7110 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 7111 return little_endian_read_16(event, 3); 7112 } 7113 /** 7114 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 7115 * @param event packet 7116 * @return enable 7117 * @note: btstack_type 1 7118 */ 7119 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 7120 return event[5]; 7121 } 7122 7123 /** 7124 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 7125 * @param event packet 7126 * @return con_handle 7127 * @note: btstack_type 2 7128 */ 7129 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 7130 return little_endian_read_16(event, 3); 7131 } 7132 /** 7133 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 7134 * @param event packet 7135 * @return enable 7136 * @note: btstack_type 1 7137 */ 7138 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 7139 return event[5]; 7140 } 7141 7142 /** 7143 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 7144 * @param event packet 7145 * @return con_handle 7146 * @note: btstack_type 2 7147 */ 7148 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 7149 return little_endian_read_16(event, 3); 7150 } 7151 /** 7152 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 7153 * @param event packet 7154 * @return enable 7155 * @note: btstack_type 1 7156 */ 7157 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 7158 return event[5]; 7159 } 7160 7161 /** 7162 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 7163 * @param event packet 7164 * @return con_handle 7165 * @note: btstack_type 2 7166 */ 7167 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 7168 return little_endian_read_16(event, 3); 7169 } 7170 7171 /** 7172 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 7173 * @param event packet 7174 * @return con_handle 7175 * @note: btstack_type 2 7176 */ 7177 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 7178 return little_endian_read_16(event, 3); 7179 } 7180 7181 /** 7182 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 7183 * @param event packet 7184 * @return con_handle 7185 * @note: btstack_type 2 7186 */ 7187 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 7188 return little_endian_read_16(event, 3); 7189 } 7190 /** 7191 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 7192 * @param event packet 7193 * @return measurement_type 7194 * @note: btstack_type 1 7195 */ 7196 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 7197 return event[5]; 7198 } 7199 /** 7200 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 7201 * @param event packet 7202 * @return is_enhanced 7203 * @note: btstack_type 1 7204 */ 7205 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 7206 return event[6]; 7207 } 7208 7209 /** 7210 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 7211 * @param event packet 7212 * @return con_handle 7213 * @note: btstack_type 2 7214 */ 7215 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 7216 return little_endian_read_16(event, 3); 7217 } 7218 7219 /** 7220 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 7221 * @param event packet 7222 * @return con_handle 7223 * @note: btstack_type 2 7224 */ 7225 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 7226 return little_endian_read_16(event, 3); 7227 } 7228 7229 /** 7230 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_OPENED 7231 * @param event packet 7232 * @return map_cid 7233 * @note: btstack_type 2 7234 */ 7235 static inline uint16_t map_subevent_connection_opened_get_map_cid(const uint8_t * event){ 7236 return little_endian_read_16(event, 3); 7237 } 7238 /** 7239 * @brief Get field status from event MAP_SUBEVENT_CONNECTION_OPENED 7240 * @param event packet 7241 * @return status 7242 * @note: btstack_type 1 7243 */ 7244 static inline uint8_t map_subevent_connection_opened_get_status(const uint8_t * event){ 7245 return event[5]; 7246 } 7247 /** 7248 * @brief Get field bd_addr from event MAP_SUBEVENT_CONNECTION_OPENED 7249 * @param event packet 7250 * @param Pointer to storage for bd_addr 7251 * @note: btstack_type B 7252 */ 7253 static inline void map_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7254 reverse_bytes(&event[6], bd_addr, 6); 7255 } 7256 /** 7257 * @brief Get field con_handle from event MAP_SUBEVENT_CONNECTION_OPENED 7258 * @param event packet 7259 * @return con_handle 7260 * @note: btstack_type H 7261 */ 7262 static inline hci_con_handle_t map_subevent_connection_opened_get_con_handle(const uint8_t * event){ 7263 return little_endian_read_16(event, 12); 7264 } 7265 /** 7266 * @brief Get field incoming from event MAP_SUBEVENT_CONNECTION_OPENED 7267 * @param event packet 7268 * @return incoming 7269 * @note: btstack_type 1 7270 */ 7271 static inline uint8_t map_subevent_connection_opened_get_incoming(const uint8_t * event){ 7272 return event[14]; 7273 } 7274 7275 /** 7276 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_CLOSED 7277 * @param event packet 7278 * @return map_cid 7279 * @note: btstack_type 2 7280 */ 7281 static inline uint16_t map_subevent_connection_closed_get_map_cid(const uint8_t * event){ 7282 return little_endian_read_16(event, 3); 7283 } 7284 7285 /** 7286 * @brief Get field map_cid from event MAP_SUBEVENT_OPERATION_COMPLETED 7287 * @param event packet 7288 * @return map_cid 7289 * @note: btstack_type 2 7290 */ 7291 static inline uint16_t map_subevent_operation_completed_get_map_cid(const uint8_t * event){ 7292 return little_endian_read_16(event, 3); 7293 } 7294 /** 7295 * @brief Get field status from event MAP_SUBEVENT_OPERATION_COMPLETED 7296 * @param event packet 7297 * @return status 7298 * @note: btstack_type 1 7299 */ 7300 static inline uint8_t map_subevent_operation_completed_get_status(const uint8_t * event){ 7301 return event[5]; 7302 } 7303 7304 /** 7305 * @brief Get field map_cid from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 7306 * @param event packet 7307 * @return map_cid 7308 * @note: btstack_type 2 7309 */ 7310 static inline uint16_t map_subevent_folder_listing_item_get_map_cid(const uint8_t * event){ 7311 return little_endian_read_16(event, 3); 7312 } 7313 /** 7314 * @brief Get field name_len from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 7315 * @param event packet 7316 * @return name_len 7317 * @note: btstack_type L 7318 */ 7319 static inline uint16_t map_subevent_folder_listing_item_get_name_len(const uint8_t * event){ 7320 return little_endian_read_16(event, 5); 7321 } 7322 /** 7323 * @brief Get field name from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 7324 * @param event packet 7325 * @return name 7326 * @note: btstack_type V 7327 */ 7328 static inline const uint8_t * map_subevent_folder_listing_item_get_name(const uint8_t * event){ 7329 return &event[7]; 7330 } 7331 7332 /** 7333 * @brief Get field map_cid from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 7334 * @param event packet 7335 * @return map_cid 7336 * @note: btstack_type 2 7337 */ 7338 static inline uint16_t map_subevent_message_listing_item_get_map_cid(const uint8_t * event){ 7339 return little_endian_read_16(event, 3); 7340 } 7341 /** 7342 * @brief Get field handle from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 7343 * @param event packet 7344 * @return handle 7345 * @note: btstack_type D 7346 */ 7347 static inline const uint8_t * map_subevent_message_listing_item_get_handle(const uint8_t * event){ 7348 return (const uint8_t *) &event[5]; 7349 } 7350 7351 /** 7352 * @brief Get field map_cid from event MAP_SUBEVENT_PARSING_DONE 7353 * @param event packet 7354 * @return map_cid 7355 * @note: btstack_type 2 7356 */ 7357 static inline uint16_t map_subevent_parsing_done_get_map_cid(const uint8_t * event){ 7358 return little_endian_read_16(event, 3); 7359 } 7360 7361 7362 /** 7363 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 7364 * @param event packet 7365 * @return status 7366 * @note: btstack_type 1 7367 */ 7368 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 7369 return event[3]; 7370 } 7371 7372 /** 7373 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 7374 * @param event packet 7375 * @return status 7376 * @note: btstack_type 1 7377 */ 7378 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 7379 return event[3]; 7380 } 7381 /** 7382 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 7383 * @param event packet 7384 * @return pb_transport_cid 7385 * @note: btstack_type 2 7386 */ 7387 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 7388 return little_endian_read_16(event, 4); 7389 } 7390 /** 7391 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 7392 * @param event packet 7393 * @return pb_type 7394 * @note: btstack_type 1 7395 */ 7396 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 7397 return event[6]; 7398 } 7399 7400 /** 7401 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 7402 * @param event packet 7403 * @return pb_transport_cid 7404 * @note: btstack_type 1 7405 */ 7406 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 7407 return event[3]; 7408 } 7409 /** 7410 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 7411 * @param event packet 7412 * @return reason 7413 * @note: btstack_type 2 7414 */ 7415 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 7416 return little_endian_read_16(event, 4); 7417 } 7418 7419 /** 7420 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 7421 * @param event packet 7422 * @return pb_transport_cid 7423 * @note: btstack_type 2 7424 */ 7425 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 7426 return little_endian_read_16(event, 3); 7427 } 7428 /** 7429 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 7430 * @param event packet 7431 * @return attention_time 7432 * @note: btstack_type 1 7433 */ 7434 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 7435 return event[5]; 7436 } 7437 7438 /** 7439 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB 7440 * @param event packet 7441 * @return pb_transport_cid 7442 * @note: btstack_type 2 7443 */ 7444 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 7445 return little_endian_read_16(event, 3); 7446 } 7447 7448 /** 7449 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB 7450 * @param event packet 7451 * @return pb_transport_cid 7452 * @note: btstack_type 2 7453 */ 7454 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 7455 return little_endian_read_16(event, 3); 7456 } 7457 7458 /** 7459 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST 7460 * @param event packet 7461 * @return pb_transport_cid 7462 * @note: btstack_type 2 7463 */ 7464 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 7465 return little_endian_read_16(event, 3); 7466 } 7467 7468 /** 7469 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 7470 * @param event packet 7471 * @return pb_transport_cid 7472 * @note: btstack_type 2 7473 */ 7474 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 7475 return little_endian_read_16(event, 3); 7476 } 7477 /** 7478 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 7479 * @param event packet 7480 * @return output_oob 7481 * @note: btstack_type 4 7482 */ 7483 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 7484 return little_endian_read_32(event, 5); 7485 } 7486 7487 /** 7488 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 7489 * @param event packet 7490 * @return pb_transport_cid 7491 * @note: btstack_type 2 7492 */ 7493 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 7494 return little_endian_read_16(event, 3); 7495 } 7496 7497 /** 7498 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 7499 * @param event packet 7500 * @return pb_transport_cid 7501 * @note: btstack_type 2 7502 */ 7503 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 7504 return little_endian_read_16(event, 3); 7505 } 7506 7507 /** 7508 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 7509 * @param event packet 7510 * @return pb_transport_cid 7511 * @note: btstack_type 2 7512 */ 7513 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 7514 return little_endian_read_16(event, 3); 7515 } 7516 7517 /** 7518 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 7519 * @param event packet 7520 * @return pb_transport_cid 7521 * @note: btstack_type 2 7522 */ 7523 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 7524 return little_endian_read_16(event, 3); 7525 } 7526 7527 /** 7528 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 7529 * @param event packet 7530 * @return pb_transport_cid 7531 * @note: btstack_type 2 7532 */ 7533 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 7534 return little_endian_read_16(event, 3); 7535 } 7536 /** 7537 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 7538 * @param event packet 7539 * @return output_oob 7540 * @note: btstack_type 4 7541 */ 7542 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 7543 return little_endian_read_32(event, 5); 7544 } 7545 7546 /** 7547 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 7548 * @param event packet 7549 * @return pb_transport_cid 7550 * @note: btstack_type 2 7551 */ 7552 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 7553 return little_endian_read_16(event, 3); 7554 } 7555 7556 /** 7557 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7558 * @param event packet 7559 * @return pb_transport_cid 7560 * @note: btstack_type 2 7561 */ 7562 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 7563 return little_endian_read_16(event, 3); 7564 } 7565 /** 7566 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7567 * @param event packet 7568 * @return num_elements 7569 * @note: btstack_type 1 7570 */ 7571 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 7572 return event[5]; 7573 } 7574 /** 7575 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7576 * @param event packet 7577 * @return algorithms 7578 * @note: btstack_type 2 7579 */ 7580 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 7581 return little_endian_read_16(event, 6); 7582 } 7583 /** 7584 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7585 * @param event packet 7586 * @return public_key 7587 * @note: btstack_type 1 7588 */ 7589 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 7590 return event[8]; 7591 } 7592 /** 7593 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7594 * @param event packet 7595 * @return static_oob_type 7596 * @note: btstack_type 1 7597 */ 7598 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 7599 return event[9]; 7600 } 7601 /** 7602 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7603 * @param event packet 7604 * @return output_oob_size 7605 * @note: btstack_type 1 7606 */ 7607 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 7608 return event[10]; 7609 } 7610 /** 7611 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7612 * @param event packet 7613 * @return output_oob_action 7614 * @note: btstack_type 2 7615 */ 7616 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 7617 return little_endian_read_16(event, 11); 7618 } 7619 /** 7620 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7621 * @param event packet 7622 * @return input_oob_size 7623 * @note: btstack_type 1 7624 */ 7625 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 7626 return event[13]; 7627 } 7628 /** 7629 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7630 * @param event packet 7631 * @return input_oob_action 7632 * @note: btstack_type 2 7633 */ 7634 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 7635 return little_endian_read_16(event, 14); 7636 } 7637 7638 /** 7639 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 7640 * @param event packet 7641 * @return pb_transport_cid 7642 * @note: btstack_type 2 7643 */ 7644 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 7645 return little_endian_read_16(event, 3); 7646 } 7647 7648 /** 7649 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 7650 * @param event packet 7651 * @return attention_time 7652 * @note: btstack_type 1 7653 */ 7654 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 7655 return event[3]; 7656 } 7657 7658 /** 7659 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 7660 * @param event packet 7661 * @return con_handle 7662 * @note: btstack_type H 7663 */ 7664 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 7665 return little_endian_read_16(event, 3); 7666 } 7667 7668 /** 7669 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 7670 * @param event packet 7671 * @return con_handle 7672 * @note: btstack_type H 7673 */ 7674 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 7675 return little_endian_read_16(event, 3); 7676 } 7677 7678 /** 7679 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 7680 * @param event packet 7681 * @return con_handle 7682 * @note: btstack_type H 7683 */ 7684 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 7685 return little_endian_read_16(event, 3); 7686 } 7687 7688 /** 7689 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 7690 * @param event packet 7691 * @return con_handle 7692 * @note: btstack_type H 7693 */ 7694 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 7695 return little_endian_read_16(event, 3); 7696 } 7697 7698 /** 7699 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7700 * @param event packet 7701 * @return element_index 7702 * @note: btstack_type 1 7703 */ 7704 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 7705 return event[3]; 7706 } 7707 /** 7708 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7709 * @param event packet 7710 * @return model_identifier 7711 * @note: btstack_type 4 7712 */ 7713 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 7714 return little_endian_read_32(event, 4); 7715 } 7716 /** 7717 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7718 * @param event packet 7719 * @return state_identifier 7720 * @note: btstack_type 4 7721 */ 7722 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 7723 return little_endian_read_32(event, 8); 7724 } 7725 /** 7726 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7727 * @param event packet 7728 * @return reason 7729 * @note: btstack_type 1 7730 */ 7731 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 7732 return event[12]; 7733 } 7734 /** 7735 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7736 * @param event packet 7737 * @return value 7738 * @note: btstack_type 1 7739 */ 7740 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 7741 return event[13]; 7742 } 7743 7744 /** 7745 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 7746 * @param event packet 7747 * @return element_index 7748 * @note: btstack_type 1 7749 */ 7750 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 7751 return event[3]; 7752 } 7753 /** 7754 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 7755 * @param event packet 7756 * @return model_identifier 7757 * @note: btstack_type 4 7758 */ 7759 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 7760 return little_endian_read_32(event, 4); 7761 } 7762 /** 7763 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 7764 * @param event packet 7765 * @return state_identifier 7766 * @note: btstack_type 4 7767 */ 7768 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 7769 return little_endian_read_32(event, 8); 7770 } 7771 /** 7772 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 7773 * @param event packet 7774 * @return reason 7775 * @note: btstack_type 1 7776 */ 7777 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 7778 return event[12]; 7779 } 7780 /** 7781 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 7782 * @param event packet 7783 * @return value 7784 * @note: btstack_type 2 7785 */ 7786 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 7787 return little_endian_read_16(event, 13); 7788 } 7789 7790 /** 7791 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 7792 * @param event packet 7793 * @return element_index 7794 * @note: btstack_type 1 7795 */ 7796 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 7797 return event[3]; 7798 } 7799 /** 7800 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 7801 * @param event packet 7802 * @return model_identifier 7803 * @note: btstack_type 4 7804 */ 7805 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 7806 return little_endian_read_32(event, 4); 7807 } 7808 /** 7809 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 7810 * @param event packet 7811 * @return opcode 7812 * @note: btstack_type 4 7813 */ 7814 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 7815 return little_endian_read_32(event, 8); 7816 } 7817 /** 7818 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 7819 * @param event packet 7820 * @return dest 7821 * @note: btstack_type 2 7822 */ 7823 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 7824 return little_endian_read_16(event, 12); 7825 } 7826 7827 /** 7828 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 7829 * @param event packet 7830 * @return dest 7831 * @note: btstack_type 2 7832 */ 7833 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 7834 return little_endian_read_16(event, 3); 7835 } 7836 /** 7837 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 7838 * @param event packet 7839 * @return status 7840 * @note: btstack_type 1 7841 */ 7842 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 7843 return event[5]; 7844 } 7845 /** 7846 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 7847 * @param event packet 7848 * @return present_value 7849 * @note: btstack_type 1 7850 */ 7851 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 7852 return event[6]; 7853 } 7854 /** 7855 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 7856 * @param event packet 7857 * @return target_value 7858 * @note: btstack_type 1 7859 */ 7860 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 7861 return event[7]; 7862 } 7863 /** 7864 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 7865 * @param event packet 7866 * @return remaining_time_ms 7867 * @note: btstack_type 4 7868 */ 7869 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 7870 return little_endian_read_32(event, 8); 7871 } 7872 7873 /** 7874 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 7875 * @param event packet 7876 * @return dest 7877 * @note: btstack_type 2 7878 */ 7879 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 7880 return little_endian_read_16(event, 3); 7881 } 7882 /** 7883 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 7884 * @param event packet 7885 * @return status 7886 * @note: btstack_type 1 7887 */ 7888 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 7889 return event[5]; 7890 } 7891 /** 7892 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 7893 * @param event packet 7894 * @return present_value 7895 * @note: btstack_type 2 7896 */ 7897 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 7898 return little_endian_read_16(event, 6); 7899 } 7900 /** 7901 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 7902 * @param event packet 7903 * @return target_value 7904 * @note: btstack_type 2 7905 */ 7906 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 7907 return little_endian_read_16(event, 8); 7908 } 7909 /** 7910 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 7911 * @param event packet 7912 * @return remaining_time_ms 7913 * @note: btstack_type 4 7914 */ 7915 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 7916 return little_endian_read_32(event, 10); 7917 } 7918 7919 /** 7920 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 7921 * @param event packet 7922 * @return dest 7923 * @note: btstack_type 2 7924 */ 7925 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 7926 return little_endian_read_16(event, 3); 7927 } 7928 /** 7929 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 7930 * @param event packet 7931 * @return netkey_index 7932 * @note: btstack_type 2 7933 */ 7934 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 7935 return little_endian_read_16(event, 5); 7936 } 7937 /** 7938 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 7939 * @param event packet 7940 * @return appkey_index 7941 * @note: btstack_type 2 7942 */ 7943 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 7944 return little_endian_read_16(event, 7); 7945 } 7946 /** 7947 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 7948 * @param event packet 7949 * @return company_id 7950 * @note: btstack_type 2 7951 */ 7952 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 7953 return little_endian_read_16(event, 9); 7954 } 7955 /** 7956 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 7957 * @param event packet 7958 * @return test_id 7959 * @note: btstack_type 1 7960 */ 7961 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 7962 return event[11]; 7963 } 7964 /** 7965 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 7966 * @param event packet 7967 * @return acknowledged 7968 * @note: btstack_type 1 7969 */ 7970 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 7971 return event[12]; 7972 } 7973 7974 /** 7975 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 7976 * @param event packet 7977 * @return element_index 7978 * @note: btstack_type 1 7979 */ 7980 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 7981 return event[3]; 7982 } 7983 7984 /** 7985 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 7986 * @param event packet 7987 * @return dest 7988 * @note: btstack_type 2 7989 */ 7990 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 7991 return little_endian_read_16(event, 3); 7992 } 7993 /** 7994 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 7995 * @param event packet 7996 * @return status 7997 * @note: btstack_type 1 7998 */ 7999 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 8000 return event[5]; 8001 } 8002 /** 8003 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 8004 * @param event packet 8005 * @return transition_time_gdtt 8006 * @note: btstack_type 1 8007 */ 8008 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 8009 return event[6]; 8010 } 8011 8012 /** 8013 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 8014 * @param event packet 8015 * @return dest 8016 * @note: btstack_type 2 8017 */ 8018 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 8019 return little_endian_read_16(event, 3); 8020 } 8021 /** 8022 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 8023 * @param event packet 8024 * @return foundation_status 8025 * @note: btstack_type 1 8026 */ 8027 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 8028 return event[5]; 8029 } 8030 /** 8031 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 8032 * @param event packet 8033 * @return secure_network_beacon_state 8034 * @note: btstack_type 1 8035 */ 8036 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 8037 return event[6]; 8038 } 8039 8040 /** 8041 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 8042 * @param event packet 8043 * @return dest 8044 * @note: btstack_type 2 8045 */ 8046 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 8047 return little_endian_read_16(event, 3); 8048 } 8049 /** 8050 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 8051 * @param event packet 8052 * @return foundation_status 8053 * @note: btstack_type 1 8054 */ 8055 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 8056 return event[5]; 8057 } 8058 /** 8059 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 8060 * @param event packet 8061 * @return default_ttl 8062 * @note: btstack_type 1 8063 */ 8064 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 8065 return event[6]; 8066 } 8067 8068 /** 8069 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 8070 * @param event packet 8071 * @return dest 8072 * @note: btstack_type 2 8073 */ 8074 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 8075 return little_endian_read_16(event, 3); 8076 } 8077 /** 8078 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 8079 * @param event packet 8080 * @return foundation_status 8081 * @note: btstack_type 1 8082 */ 8083 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 8084 return event[5]; 8085 } 8086 /** 8087 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 8088 * @param event packet 8089 * @return gatt_proxy_state 8090 * @note: btstack_type 1 8091 */ 8092 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 8093 return event[6]; 8094 } 8095 8096 /** 8097 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 8098 * @param event packet 8099 * @return dest 8100 * @note: btstack_type 2 8101 */ 8102 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 8103 return little_endian_read_16(event, 3); 8104 } 8105 /** 8106 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 8107 * @param event packet 8108 * @return foundation_status 8109 * @note: btstack_type 1 8110 */ 8111 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 8112 return event[5]; 8113 } 8114 /** 8115 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 8116 * @param event packet 8117 * @return relay 8118 * @note: btstack_type 1 8119 */ 8120 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 8121 return event[6]; 8122 } 8123 /** 8124 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 8125 * @param event packet 8126 * @return retransmit_count 8127 * @note: btstack_type 1 8128 */ 8129 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 8130 return event[7]; 8131 } 8132 /** 8133 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 8134 * @param event packet 8135 * @return retransmit_interval_ms 8136 * @note: btstack_type 1 8137 */ 8138 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 8139 return event[8]; 8140 } 8141 8142 /** 8143 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8144 * @param event packet 8145 * @return dest 8146 * @note: btstack_type 2 8147 */ 8148 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 8149 return little_endian_read_16(event, 3); 8150 } 8151 /** 8152 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8153 * @param event packet 8154 * @return foundation_status 8155 * @note: btstack_type 1 8156 */ 8157 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 8158 return event[5]; 8159 } 8160 /** 8161 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8162 * @param event packet 8163 * @return publish_address 8164 * @note: btstack_type 2 8165 */ 8166 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 8167 return little_endian_read_16(event, 6); 8168 } 8169 /** 8170 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8171 * @param event packet 8172 * @return appkey_index 8173 * @note: btstack_type 2 8174 */ 8175 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 8176 return little_endian_read_16(event, 8); 8177 } 8178 /** 8179 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8180 * @param event packet 8181 * @return credential_flag 8182 * @note: btstack_type 1 8183 */ 8184 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 8185 return event[10]; 8186 } 8187 /** 8188 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8189 * @param event packet 8190 * @return publish_ttl 8191 * @note: btstack_type 1 8192 */ 8193 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 8194 return event[11]; 8195 } 8196 /** 8197 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8198 * @param event packet 8199 * @return publish_period 8200 * @note: btstack_type 1 8201 */ 8202 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 8203 return event[12]; 8204 } 8205 /** 8206 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8207 * @param event packet 8208 * @return publish_retransmit_count 8209 * @note: btstack_type 1 8210 */ 8211 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 8212 return event[13]; 8213 } 8214 /** 8215 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8216 * @param event packet 8217 * @return publish_retransmit_interval_steps 8218 * @note: btstack_type 1 8219 */ 8220 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 8221 return event[14]; 8222 } 8223 /** 8224 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8225 * @param event packet 8226 * @return model_identifier 8227 * @note: btstack_type 4 8228 */ 8229 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 8230 return little_endian_read_32(event, 15); 8231 } 8232 8233 /** 8234 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 8235 * @param event packet 8236 * @return dest 8237 * @note: btstack_type 2 8238 */ 8239 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 8240 return little_endian_read_16(event, 3); 8241 } 8242 /** 8243 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 8244 * @param event packet 8245 * @return foundation_status 8246 * @note: btstack_type 1 8247 */ 8248 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 8249 return event[5]; 8250 } 8251 /** 8252 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 8253 * @param event packet 8254 * @return address 8255 * @note: btstack_type 2 8256 */ 8257 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 8258 return little_endian_read_16(event, 6); 8259 } 8260 /** 8261 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 8262 * @param event packet 8263 * @return model_identifier 8264 * @note: btstack_type 4 8265 */ 8266 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 8267 return little_endian_read_32(event, 8); 8268 } 8269 8270 /** 8271 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 8272 * @param event packet 8273 * @return dest 8274 * @note: btstack_type 2 8275 */ 8276 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 8277 return little_endian_read_16(event, 3); 8278 } 8279 /** 8280 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 8281 * @param event packet 8282 * @return foundation_status 8283 * @note: btstack_type 1 8284 */ 8285 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 8286 return event[5]; 8287 } 8288 /** 8289 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 8290 * @param event packet 8291 * @return model_identifier 8292 * @note: btstack_type 4 8293 */ 8294 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 8295 return little_endian_read_32(event, 6); 8296 } 8297 /** 8298 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 8299 * @param event packet 8300 * @return num_subscription_addresses 8301 * @note: btstack_type 1 8302 */ 8303 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 8304 return event[10]; 8305 } 8306 /** 8307 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 8308 * @param event packet 8309 * @return subscription_address_pos 8310 * @note: btstack_type 1 8311 */ 8312 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 8313 return event[11]; 8314 } 8315 /** 8316 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 8317 * @param event packet 8318 * @return subscription_address_item 8319 * @note: btstack_type 2 8320 */ 8321 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 8322 return little_endian_read_16(event, 12); 8323 } 8324 8325 /** 8326 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 8327 * @param event packet 8328 * @return dest 8329 * @note: btstack_type 2 8330 */ 8331 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 8332 return little_endian_read_16(event, 3); 8333 } 8334 /** 8335 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 8336 * @param event packet 8337 * @return foundation_status 8338 * @note: btstack_type 1 8339 */ 8340 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 8341 return event[5]; 8342 } 8343 8344 /** 8345 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 8346 * @param event packet 8347 * @return dest 8348 * @note: btstack_type 2 8349 */ 8350 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 8351 return little_endian_read_16(event, 3); 8352 } 8353 /** 8354 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 8355 * @param event packet 8356 * @return foundation_status 8357 * @note: btstack_type 1 8358 */ 8359 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 8360 return event[5]; 8361 } 8362 /** 8363 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 8364 * @param event packet 8365 * @return num_netkey_indexes 8366 * @note: btstack_type 1 8367 */ 8368 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 8369 return event[6]; 8370 } 8371 /** 8372 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 8373 * @param event packet 8374 * @return netkey_index_pos 8375 * @note: btstack_type 1 8376 */ 8377 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 8378 return event[7]; 8379 } 8380 /** 8381 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 8382 * @param event packet 8383 * @return netkey_index_item 8384 * @note: btstack_type 2 8385 */ 8386 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 8387 return little_endian_read_16(event, 8); 8388 } 8389 8390 /** 8391 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 8392 * @param event packet 8393 * @return dest 8394 * @note: btstack_type 2 8395 */ 8396 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 8397 return little_endian_read_16(event, 3); 8398 } 8399 /** 8400 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 8401 * @param event packet 8402 * @return foundation_status 8403 * @note: btstack_type 1 8404 */ 8405 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 8406 return event[5]; 8407 } 8408 /** 8409 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 8410 * @param event packet 8411 * @return netkey_index_item 8412 * @note: btstack_type 2 8413 */ 8414 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 8415 return little_endian_read_16(event, 6); 8416 } 8417 /** 8418 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 8419 * @param event packet 8420 * @return appkey_index_item 8421 * @note: btstack_type 2 8422 */ 8423 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 8424 return little_endian_read_16(event, 8); 8425 } 8426 8427 /** 8428 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8429 * @param event packet 8430 * @return dest 8431 * @note: btstack_type 2 8432 */ 8433 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 8434 return little_endian_read_16(event, 3); 8435 } 8436 /** 8437 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8438 * @param event packet 8439 * @return foundation_status 8440 * @note: btstack_type 1 8441 */ 8442 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 8443 return event[5]; 8444 } 8445 /** 8446 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8447 * @param event packet 8448 * @return netkey_index 8449 * @note: btstack_type 2 8450 */ 8451 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 8452 return little_endian_read_16(event, 6); 8453 } 8454 /** 8455 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8456 * @param event packet 8457 * @return num_appkey_indexes 8458 * @note: btstack_type 1 8459 */ 8460 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 8461 return event[8]; 8462 } 8463 /** 8464 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8465 * @param event packet 8466 * @return appkey_index_pos 8467 * @note: btstack_type 1 8468 */ 8469 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 8470 return event[9]; 8471 } 8472 /** 8473 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8474 * @param event packet 8475 * @return netkey_index_item 8476 * @note: btstack_type 2 8477 */ 8478 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 8479 return little_endian_read_16(event, 10); 8480 } 8481 /** 8482 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8483 * @param event packet 8484 * @return appkey_index_item 8485 * @note: btstack_type 2 8486 */ 8487 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 8488 return little_endian_read_16(event, 12); 8489 } 8490 8491 /** 8492 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 8493 * @param event packet 8494 * @return dest 8495 * @note: btstack_type 2 8496 */ 8497 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 8498 return little_endian_read_16(event, 3); 8499 } 8500 /** 8501 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 8502 * @param event packet 8503 * @return foundation_status 8504 * @note: btstack_type 1 8505 */ 8506 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 8507 return event[5]; 8508 } 8509 /** 8510 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 8511 * @param event packet 8512 * @return netkey_index_item 8513 * @note: btstack_type 2 8514 */ 8515 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 8516 return little_endian_read_16(event, 6); 8517 } 8518 /** 8519 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 8520 * @param event packet 8521 * @return identity_status 8522 * @note: btstack_type 1 8523 */ 8524 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 8525 return event[8]; 8526 } 8527 8528 /** 8529 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 8530 * @param event packet 8531 * @return dest 8532 * @note: btstack_type 2 8533 */ 8534 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 8535 return little_endian_read_16(event, 3); 8536 } 8537 /** 8538 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 8539 * @param event packet 8540 * @return foundation_status 8541 * @note: btstack_type 1 8542 */ 8543 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 8544 return event[5]; 8545 } 8546 /** 8547 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 8548 * @param event packet 8549 * @return appkey_index 8550 * @note: btstack_type 2 8551 */ 8552 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 8553 return little_endian_read_16(event, 6); 8554 } 8555 /** 8556 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 8557 * @param event packet 8558 * @return model_identifier 8559 * @note: btstack_type 4 8560 */ 8561 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 8562 return little_endian_read_32(event, 8); 8563 } 8564 8565 /** 8566 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 8567 * @param event packet 8568 * @return dest 8569 * @note: btstack_type 2 8570 */ 8571 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 8572 return little_endian_read_16(event, 3); 8573 } 8574 /** 8575 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 8576 * @param event packet 8577 * @return foundation_status 8578 * @note: btstack_type 1 8579 */ 8580 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 8581 return event[5]; 8582 } 8583 /** 8584 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 8585 * @param event packet 8586 * @return model_id 8587 * @note: btstack_type 4 8588 */ 8589 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 8590 return little_endian_read_32(event, 6); 8591 } 8592 /** 8593 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 8594 * @param event packet 8595 * @return num_appkey_indexes 8596 * @note: btstack_type 1 8597 */ 8598 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 8599 return event[10]; 8600 } 8601 /** 8602 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 8603 * @param event packet 8604 * @return appkey_index_pos 8605 * @note: btstack_type 1 8606 */ 8607 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 8608 return event[11]; 8609 } 8610 /** 8611 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 8612 * @param event packet 8613 * @return appkey_index_item 8614 * @note: btstack_type 2 8615 */ 8616 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 8617 return little_endian_read_16(event, 12); 8618 } 8619 8620 /** 8621 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 8622 * @param event packet 8623 * @return dest 8624 * @note: btstack_type 2 8625 */ 8626 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 8627 return little_endian_read_16(event, 3); 8628 } 8629 /** 8630 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 8631 * @param event packet 8632 * @return foundation_status 8633 * @note: btstack_type 1 8634 */ 8635 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 8636 return event[5]; 8637 } 8638 8639 /** 8640 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 8641 * @param event packet 8642 * @return dest 8643 * @note: btstack_type 2 8644 */ 8645 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 8646 return little_endian_read_16(event, 3); 8647 } 8648 /** 8649 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 8650 * @param event packet 8651 * @return foundation_status 8652 * @note: btstack_type 1 8653 */ 8654 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 8655 return event[5]; 8656 } 8657 /** 8658 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 8659 * @param event packet 8660 * @return friend_state 8661 * @note: btstack_type 1 8662 */ 8663 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 8664 return event[6]; 8665 } 8666 8667 /** 8668 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 8669 * @param event packet 8670 * @return dest 8671 * @note: btstack_type 2 8672 */ 8673 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 8674 return little_endian_read_16(event, 3); 8675 } 8676 /** 8677 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 8678 * @param event packet 8679 * @return foundation_status 8680 * @note: btstack_type 1 8681 */ 8682 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 8683 return event[5]; 8684 } 8685 /** 8686 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 8687 * @param event packet 8688 * @return netkey_index 8689 * @note: btstack_type 2 8690 */ 8691 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 8692 return little_endian_read_16(event, 6); 8693 } 8694 /** 8695 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 8696 * @param event packet 8697 * @return phase 8698 * @note: btstack_type 1 8699 */ 8700 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 8701 return event[8]; 8702 } 8703 8704 /** 8705 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8706 * @param event packet 8707 * @return dest 8708 * @note: btstack_type 2 8709 */ 8710 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 8711 return little_endian_read_16(event, 3); 8712 } 8713 /** 8714 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8715 * @param event packet 8716 * @return foundation_status 8717 * @note: btstack_type 1 8718 */ 8719 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 8720 return event[5]; 8721 } 8722 /** 8723 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8724 * @param event packet 8725 * @return heartbeat_destination 8726 * @note: btstack_type 2 8727 */ 8728 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 8729 return little_endian_read_16(event, 6); 8730 } 8731 /** 8732 * @brief Get field count_log from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8733 * @param event packet 8734 * @return count_log 8735 * @note: btstack_type 1 8736 */ 8737 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_count_log(const uint8_t * event){ 8738 return event[8]; 8739 } 8740 /** 8741 * @brief Get field period_log from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8742 * @param event packet 8743 * @return period_log 8744 * @note: btstack_type 1 8745 */ 8746 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_period_log(const uint8_t * event){ 8747 return event[9]; 8748 } 8749 /** 8750 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8751 * @param event packet 8752 * @return ttl 8753 * @note: btstack_type 1 8754 */ 8755 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 8756 return event[10]; 8757 } 8758 /** 8759 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8760 * @param event packet 8761 * @return features 8762 * @note: btstack_type 2 8763 */ 8764 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 8765 return little_endian_read_16(event, 11); 8766 } 8767 /** 8768 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8769 * @param event packet 8770 * @return netkey_index 8771 * @note: btstack_type 2 8772 */ 8773 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 8774 return little_endian_read_16(event, 13); 8775 } 8776 8777 /** 8778 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 8779 * @param event packet 8780 * @return dest 8781 * @note: btstack_type 2 8782 */ 8783 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 8784 return little_endian_read_16(event, 3); 8785 } 8786 /** 8787 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 8788 * @param event packet 8789 * @return foundation_status 8790 * @note: btstack_type 1 8791 */ 8792 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 8793 return event[5]; 8794 } 8795 /** 8796 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 8797 * @param event packet 8798 * @return heartbeat_destination 8799 * @note: btstack_type 2 8800 */ 8801 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 8802 return little_endian_read_16(event, 6); 8803 } 8804 /** 8805 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 8806 * @param event packet 8807 * @return heartbeat_source 8808 * @note: btstack_type 2 8809 */ 8810 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 8811 return little_endian_read_16(event, 8); 8812 } 8813 /** 8814 * @brief Get field count_log from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 8815 * @param event packet 8816 * @return count_log 8817 * @note: btstack_type 1 8818 */ 8819 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_count_log(const uint8_t * event){ 8820 return event[10]; 8821 } 8822 /** 8823 * @brief Get field period_log from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 8824 * @param event packet 8825 * @return period_log 8826 * @note: btstack_type 1 8827 */ 8828 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_period_log(const uint8_t * event){ 8829 return event[11]; 8830 } 8831 /** 8832 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 8833 * @param event packet 8834 * @return min_hops 8835 * @note: btstack_type 1 8836 */ 8837 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 8838 return event[12]; 8839 } 8840 /** 8841 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 8842 * @param event packet 8843 * @return max_hops 8844 * @note: btstack_type 1 8845 */ 8846 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 8847 return event[13]; 8848 } 8849 8850 /** 8851 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 8852 * @param event packet 8853 * @return dest 8854 * @note: btstack_type 2 8855 */ 8856 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 8857 return little_endian_read_16(event, 3); 8858 } 8859 /** 8860 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 8861 * @param event packet 8862 * @return foundation_status 8863 * @note: btstack_type 1 8864 */ 8865 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 8866 return event[5]; 8867 } 8868 /** 8869 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 8870 * @param event packet 8871 * @return lpn_address 8872 * @note: btstack_type 2 8873 */ 8874 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 8875 return little_endian_read_16(event, 6); 8876 } 8877 /** 8878 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 8879 * @param event packet 8880 * @return poll_timeout 8881 * @note: btstack_type 3 8882 */ 8883 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 8884 return little_endian_read_24(event, 8); 8885 } 8886 8887 /** 8888 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 8889 * @param event packet 8890 * @return dest 8891 * @note: btstack_type 2 8892 */ 8893 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 8894 return little_endian_read_16(event, 3); 8895 } 8896 /** 8897 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 8898 * @param event packet 8899 * @return foundation_status 8900 * @note: btstack_type 1 8901 */ 8902 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 8903 return event[5]; 8904 } 8905 /** 8906 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 8907 * @param event packet 8908 * @return transmit_count 8909 * @note: btstack_type 1 8910 */ 8911 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 8912 return event[6]; 8913 } 8914 /** 8915 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 8916 * @param event packet 8917 * @return transmit_interval_steps_ms 8918 * @note: btstack_type 2 8919 */ 8920 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 8921 return little_endian_read_16(event, 7); 8922 } 8923 8924 8925 8926 /* API_END */ 8927 8928 #if defined __cplusplus 8929 } 8930 #endif 8931 8932 #endif // BTSTACK_EVENT_H 8933