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