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 #ifdef ENABLE_BLE 3026 /** 3027 * @brief Get field handle from event SM_EVENT_REENCRYPTION_STARTED 3028 * @param event packet 3029 * @return handle 3030 * @note: btstack_type H 3031 */ 3032 static inline hci_con_handle_t sm_event_reencryption_started_get_handle(const uint8_t * event){ 3033 return little_endian_read_16(event, 2); 3034 } 3035 /** 3036 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_STARTED 3037 * @param event packet 3038 * @return addr_type 3039 * @note: btstack_type 1 3040 */ 3041 static inline uint8_t sm_event_reencryption_started_get_addr_type(const uint8_t * event){ 3042 return event[4]; 3043 } 3044 /** 3045 * @brief Get field address from event SM_EVENT_REENCRYPTION_STARTED 3046 * @param event packet 3047 * @param Pointer to storage for address 3048 * @note: btstack_type B 3049 */ 3050 static inline void sm_event_reencryption_started_get_address(const uint8_t * event, bd_addr_t address){ 3051 reverse_bytes(&event[5], address, 6); 3052 } 3053 #endif 3054 3055 #ifdef ENABLE_BLE 3056 /** 3057 * @brief Get field handle from event SM_EVENT_REENCRYPTION_COMPLETE 3058 * @param event packet 3059 * @return handle 3060 * @note: btstack_type H 3061 */ 3062 static inline hci_con_handle_t sm_event_reencryption_complete_get_handle(const uint8_t * event){ 3063 return little_endian_read_16(event, 2); 3064 } 3065 /** 3066 * @brief Get field addr_type from event SM_EVENT_REENCRYPTION_COMPLETE 3067 * @param event packet 3068 * @return addr_type 3069 * @note: btstack_type 1 3070 */ 3071 static inline uint8_t sm_event_reencryption_complete_get_addr_type(const uint8_t * event){ 3072 return event[4]; 3073 } 3074 /** 3075 * @brief Get field address from event SM_EVENT_REENCRYPTION_COMPLETE 3076 * @param event packet 3077 * @param Pointer to storage for address 3078 * @note: btstack_type B 3079 */ 3080 static inline void sm_event_reencryption_complete_get_address(const uint8_t * event, bd_addr_t address){ 3081 reverse_bytes(&event[5], address, 6); 3082 } 3083 /** 3084 * @brief Get field status from event SM_EVENT_REENCRYPTION_COMPLETE 3085 * @param event packet 3086 * @return status 3087 * @note: btstack_type 1 3088 */ 3089 static inline uint8_t sm_event_reencryption_complete_get_status(const uint8_t * event){ 3090 return event[11]; 3091 } 3092 #endif 3093 3094 /** 3095 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 3096 * @param event packet 3097 * @return handle 3098 * @note: btstack_type H 3099 */ 3100 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 3101 return little_endian_read_16(event, 2); 3102 } 3103 /** 3104 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 3105 * @param event packet 3106 * @return security_level 3107 * @note: btstack_type 1 3108 */ 3109 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 3110 return event[4]; 3111 } 3112 3113 /** 3114 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3115 * @param event packet 3116 * @return status 3117 * @note: btstack_type 1 3118 */ 3119 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 3120 return event[2]; 3121 } 3122 /** 3123 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3124 * @param event packet 3125 * @param Pointer to storage for address 3126 * @note: btstack_type B 3127 */ 3128 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 3129 reverse_bytes(&event[3], address, 6); 3130 } 3131 3132 /** 3133 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 3134 * @param event packet 3135 * @return advertising_event_type 3136 * @note: btstack_type 1 3137 */ 3138 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 3139 return event[2]; 3140 } 3141 /** 3142 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 3143 * @param event packet 3144 * @return address_type 3145 * @note: btstack_type 1 3146 */ 3147 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 3148 return event[3]; 3149 } 3150 /** 3151 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 3152 * @param event packet 3153 * @param Pointer to storage for address 3154 * @note: btstack_type B 3155 */ 3156 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 3157 reverse_bytes(&event[4], address, 6); 3158 } 3159 /** 3160 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 3161 * @param event packet 3162 * @return rssi 3163 * @note: btstack_type 1 3164 */ 3165 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 3166 return event[10]; 3167 } 3168 /** 3169 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 3170 * @param event packet 3171 * @return data_length 3172 * @note: btstack_type J 3173 */ 3174 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 3175 return event[11]; 3176 } 3177 /** 3178 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 3179 * @param event packet 3180 * @return data 3181 * @note: btstack_type V 3182 */ 3183 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 3184 return &event[12]; 3185 } 3186 3187 /** 3188 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 3189 * @param event packet 3190 * @param Pointer to storage for bd_addr 3191 * @note: btstack_type B 3192 */ 3193 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 3194 reverse_bytes(&event[2], bd_addr, 6); 3195 } 3196 /** 3197 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 3198 * @param event packet 3199 * @return page_scan_repetition_mode 3200 * @note: btstack_type 1 3201 */ 3202 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 3203 return event[8]; 3204 } 3205 /** 3206 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 3207 * @param event packet 3208 * @return class_of_device 3209 * @note: btstack_type 3 3210 */ 3211 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 3212 return little_endian_read_24(event, 9); 3213 } 3214 /** 3215 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 3216 * @param event packet 3217 * @return clock_offset 3218 * @note: btstack_type 2 3219 */ 3220 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 3221 return little_endian_read_16(event, 12); 3222 } 3223 /** 3224 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 3225 * @param event packet 3226 * @return rssi_available 3227 * @note: btstack_type 1 3228 */ 3229 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 3230 return event[14]; 3231 } 3232 /** 3233 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 3234 * @param event packet 3235 * @return rssi 3236 * @note: btstack_type 1 3237 */ 3238 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 3239 return event[15]; 3240 } 3241 /** 3242 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 3243 * @param event packet 3244 * @return name_available 3245 * @note: btstack_type 1 3246 */ 3247 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 3248 return event[16]; 3249 } 3250 /** 3251 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 3252 * @param event packet 3253 * @return name_len 3254 * @note: btstack_type J 3255 */ 3256 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 3257 return event[17]; 3258 } 3259 /** 3260 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 3261 * @param event packet 3262 * @return name 3263 * @note: btstack_type V 3264 */ 3265 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 3266 return &event[18]; 3267 } 3268 3269 /** 3270 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 3271 * @param event packet 3272 * @return status 3273 * @note: btstack_type 1 3274 */ 3275 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 3276 return event[2]; 3277 } 3278 3279 /** 3280 * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT 3281 * @param event packet 3282 * @return con_handle 3283 * @note: btstack_type H 3284 */ 3285 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){ 3286 return little_endian_read_16(event, 2); 3287 } 3288 /** 3289 * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT 3290 * @param event packet 3291 * @return rssi 3292 * @note: btstack_type 1 3293 */ 3294 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){ 3295 return event[4]; 3296 } 3297 3298 /** 3299 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3300 * @param event packet 3301 * @return status 3302 * @note: btstack_type 1 3303 */ 3304 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 3305 return event[3]; 3306 } 3307 /** 3308 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3309 * @param event packet 3310 * @return connection_handle 3311 * @note: btstack_type H 3312 */ 3313 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 3314 return little_endian_read_16(event, 4); 3315 } 3316 /** 3317 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3318 * @param event packet 3319 * @return role 3320 * @note: btstack_type 1 3321 */ 3322 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 3323 return event[6]; 3324 } 3325 /** 3326 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3327 * @param event packet 3328 * @return peer_address_type 3329 * @note: btstack_type 1 3330 */ 3331 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 3332 return event[7]; 3333 } 3334 /** 3335 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3336 * @param event packet 3337 * @param Pointer to storage for peer_address 3338 * @note: btstack_type B 3339 */ 3340 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 3341 reverse_bytes(&event[8], peer_address, 6); 3342 } 3343 /** 3344 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3345 * @param event packet 3346 * @return conn_interval 3347 * @note: btstack_type 2 3348 */ 3349 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 3350 return little_endian_read_16(event, 14); 3351 } 3352 /** 3353 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3354 * @param event packet 3355 * @return conn_latency 3356 * @note: btstack_type 2 3357 */ 3358 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 3359 return little_endian_read_16(event, 16); 3360 } 3361 /** 3362 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3363 * @param event packet 3364 * @return supervision_timeout 3365 * @note: btstack_type 2 3366 */ 3367 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 3368 return little_endian_read_16(event, 18); 3369 } 3370 /** 3371 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3372 * @param event packet 3373 * @return master_clock_accuracy 3374 * @note: btstack_type 1 3375 */ 3376 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 3377 return event[20]; 3378 } 3379 3380 /** 3381 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3382 * @param event packet 3383 * @return status 3384 * @note: btstack_type 1 3385 */ 3386 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 3387 return event[3]; 3388 } 3389 /** 3390 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3391 * @param event packet 3392 * @return connection_handle 3393 * @note: btstack_type H 3394 */ 3395 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 3396 return little_endian_read_16(event, 4); 3397 } 3398 /** 3399 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3400 * @param event packet 3401 * @return conn_interval 3402 * @note: btstack_type 2 3403 */ 3404 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 3405 return little_endian_read_16(event, 6); 3406 } 3407 /** 3408 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3409 * @param event packet 3410 * @return conn_latency 3411 * @note: btstack_type 2 3412 */ 3413 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 3414 return little_endian_read_16(event, 8); 3415 } 3416 /** 3417 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3418 * @param event packet 3419 * @return supervision_timeout 3420 * @note: btstack_type 2 3421 */ 3422 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 3423 return little_endian_read_16(event, 10); 3424 } 3425 3426 /** 3427 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3428 * @param event packet 3429 * @return connection_handle 3430 * @note: btstack_type H 3431 */ 3432 static inline hci_con_handle_t hci_subevent_le_read_remote_used_features_complete_get_connection_handle(const uint8_t * event){ 3433 return little_endian_read_16(event, 3); 3434 } 3435 /** 3436 * @brief Get field random_number from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3437 * @param event packet 3438 * @return random_number 3439 * @note: btstack_type D 3440 */ 3441 static inline const uint8_t * hci_subevent_le_read_remote_used_features_complete_get_random_number(const uint8_t * event){ 3442 return (const uint8_t *) &event[5]; 3443 } 3444 /** 3445 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3446 * @param event packet 3447 * @return encryption_diversifier 3448 * @note: btstack_type 2 3449 */ 3450 static inline uint16_t hci_subevent_le_read_remote_used_features_complete_get_encryption_diversifier(const uint8_t * event){ 3451 return little_endian_read_16(event, 13); 3452 } 3453 3454 /** 3455 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3456 * @param event packet 3457 * @return connection_handle 3458 * @note: btstack_type H 3459 */ 3460 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 3461 return little_endian_read_16(event, 3); 3462 } 3463 /** 3464 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3465 * @param event packet 3466 * @return random_number 3467 * @note: btstack_type D 3468 */ 3469 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 3470 return (const uint8_t *) &event[5]; 3471 } 3472 /** 3473 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3474 * @param event packet 3475 * @return encryption_diversifier 3476 * @note: btstack_type 2 3477 */ 3478 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 3479 return little_endian_read_16(event, 13); 3480 } 3481 3482 /** 3483 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3484 * @param event packet 3485 * @return connection_handle 3486 * @note: btstack_type H 3487 */ 3488 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 3489 return little_endian_read_16(event, 3); 3490 } 3491 /** 3492 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3493 * @param event packet 3494 * @return interval_min 3495 * @note: btstack_type 2 3496 */ 3497 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 3498 return little_endian_read_16(event, 5); 3499 } 3500 /** 3501 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3502 * @param event packet 3503 * @return interval_max 3504 * @note: btstack_type 2 3505 */ 3506 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 3507 return little_endian_read_16(event, 7); 3508 } 3509 /** 3510 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3511 * @param event packet 3512 * @return latency 3513 * @note: btstack_type 2 3514 */ 3515 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 3516 return little_endian_read_16(event, 9); 3517 } 3518 /** 3519 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3520 * @param event packet 3521 * @return timeout 3522 * @note: btstack_type 2 3523 */ 3524 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 3525 return little_endian_read_16(event, 11); 3526 } 3527 3528 /** 3529 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3530 * @param event packet 3531 * @return connection_handle 3532 * @note: btstack_type H 3533 */ 3534 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 3535 return little_endian_read_16(event, 3); 3536 } 3537 /** 3538 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3539 * @param event packet 3540 * @return max_tx_octets 3541 * @note: btstack_type 2 3542 */ 3543 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 3544 return little_endian_read_16(event, 5); 3545 } 3546 /** 3547 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3548 * @param event packet 3549 * @return max_tx_time 3550 * @note: btstack_type 2 3551 */ 3552 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 3553 return little_endian_read_16(event, 7); 3554 } 3555 /** 3556 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3557 * @param event packet 3558 * @return max_rx_octets 3559 * @note: btstack_type 2 3560 */ 3561 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 3562 return little_endian_read_16(event, 9); 3563 } 3564 /** 3565 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3566 * @param event packet 3567 * @return max_rx_time 3568 * @note: btstack_type 2 3569 */ 3570 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 3571 return little_endian_read_16(event, 11); 3572 } 3573 3574 /** 3575 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3576 * @param event packet 3577 * @return status 3578 * @note: btstack_type 1 3579 */ 3580 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 3581 return event[3]; 3582 } 3583 /** 3584 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3585 * @param event packet 3586 * @param Pointer to storage for dhkey_x 3587 * @note: btstack_type Q 3588 */ 3589 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 3590 reverse_bytes(&event[4], dhkey_x, 32); 3591 } 3592 /** 3593 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3594 * @param event packet 3595 * @param Pointer to storage for dhkey_y 3596 * @note: btstack_type Q 3597 */ 3598 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 3599 reverse_bytes(&event[36], dhkey_y, 32); 3600 } 3601 3602 /** 3603 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 3604 * @param event packet 3605 * @return status 3606 * @note: btstack_type 1 3607 */ 3608 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 3609 return event[3]; 3610 } 3611 /** 3612 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 3613 * @param event packet 3614 * @param Pointer to storage for dhkey 3615 * @note: btstack_type Q 3616 */ 3617 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 3618 reverse_bytes(&event[4], dhkey, 32); 3619 } 3620 3621 /** 3622 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3623 * @param event packet 3624 * @return status 3625 * @note: btstack_type 1 3626 */ 3627 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_status(const uint8_t * event){ 3628 return event[3]; 3629 } 3630 /** 3631 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3632 * @param event packet 3633 * @return connection_handle 3634 * @note: btstack_type H 3635 */ 3636 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_get_connection_handle(const uint8_t * event){ 3637 return little_endian_read_16(event, 4); 3638 } 3639 /** 3640 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3641 * @param event packet 3642 * @return role 3643 * @note: btstack_type 1 3644 */ 3645 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_role(const uint8_t * event){ 3646 return event[6]; 3647 } 3648 /** 3649 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3650 * @param event packet 3651 * @return peer_address_type 3652 * @note: btstack_type 1 3653 */ 3654 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_peer_address_type(const uint8_t * event){ 3655 return event[7]; 3656 } 3657 /** 3658 * @brief Get field perr_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3659 * @param event packet 3660 * @param Pointer to storage for perr_addresss 3661 * @note: btstack_type B 3662 */ 3663 static inline void hci_subevent_le_enhanced_connection_complete_get_perr_addresss(const uint8_t * event, bd_addr_t perr_addresss){ 3664 reverse_bytes(&event[8], perr_addresss, 6); 3665 } 3666 /** 3667 * @brief Get field local_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3668 * @param event packet 3669 * @param Pointer to storage for local_resolvable_private_addres 3670 * @note: btstack_type B 3671 */ 3672 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){ 3673 reverse_bytes(&event[14], local_resolvable_private_addres, 6); 3674 } 3675 /** 3676 * @brief Get field peer_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3677 * @param event packet 3678 * @param Pointer to storage for peer_resolvable_private_addres 3679 * @note: btstack_type B 3680 */ 3681 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){ 3682 reverse_bytes(&event[20], peer_resolvable_private_addres, 6); 3683 } 3684 /** 3685 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3686 * @param event packet 3687 * @return conn_interval 3688 * @note: btstack_type 2 3689 */ 3690 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_interval(const uint8_t * event){ 3691 return little_endian_read_16(event, 26); 3692 } 3693 /** 3694 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3695 * @param event packet 3696 * @return conn_latency 3697 * @note: btstack_type 2 3698 */ 3699 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_latency(const uint8_t * event){ 3700 return little_endian_read_16(event, 28); 3701 } 3702 /** 3703 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3704 * @param event packet 3705 * @return supervision_timeout 3706 * @note: btstack_type 2 3707 */ 3708 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_supervision_timeout(const uint8_t * event){ 3709 return little_endian_read_16(event, 30); 3710 } 3711 /** 3712 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3713 * @param event packet 3714 * @return master_clock_accuracy 3715 * @note: btstack_type 1 3716 */ 3717 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 3718 return event[32]; 3719 } 3720 3721 /** 3722 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 3723 * @param event packet 3724 * @return status 3725 * @note: btstack_type 1 3726 */ 3727 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 3728 return event[3]; 3729 } 3730 3731 /** 3732 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 3733 * @param event packet 3734 * @return status 3735 * @note: btstack_type 1 3736 */ 3737 static inline uint8_t hsp_subevent_rfcomm_disconnection_complete_get_status(const uint8_t * event){ 3738 return event[3]; 3739 } 3740 3741 /** 3742 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 3743 * @param event packet 3744 * @return status 3745 * @note: btstack_type 1 3746 */ 3747 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 3748 return event[3]; 3749 } 3750 /** 3751 * @brief Get field handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 3752 * @param event packet 3753 * @return handle 3754 * @note: btstack_type H 3755 */ 3756 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_handle(const uint8_t * event){ 3757 return little_endian_read_16(event, 4); 3758 } 3759 3760 /** 3761 * @brief Get field status from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 3762 * @param event packet 3763 * @return status 3764 * @note: btstack_type 1 3765 */ 3766 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_status(const uint8_t * event){ 3767 return event[3]; 3768 } 3769 3770 3771 /** 3772 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 3773 * @param event packet 3774 * @return gain 3775 * @note: btstack_type 1 3776 */ 3777 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 3778 return event[3]; 3779 } 3780 3781 /** 3782 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 3783 * @param event packet 3784 * @return gain 3785 * @note: btstack_type 1 3786 */ 3787 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 3788 return event[3]; 3789 } 3790 3791 /** 3792 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 3793 * @param event packet 3794 * @return value_length 3795 * @note: btstack_type J 3796 */ 3797 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 3798 return event[3]; 3799 } 3800 /** 3801 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 3802 * @param event packet 3803 * @return value 3804 * @note: btstack_type V 3805 */ 3806 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 3807 return &event[4]; 3808 } 3809 3810 /** 3811 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 3812 * @param event packet 3813 * @return value_length 3814 * @note: btstack_type J 3815 */ 3816 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 3817 return event[3]; 3818 } 3819 /** 3820 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 3821 * @param event packet 3822 * @return value 3823 * @note: btstack_type V 3824 */ 3825 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 3826 return &event[4]; 3827 } 3828 3829 /** 3830 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 3831 * @param event packet 3832 * @return status 3833 * @note: btstack_type 1 3834 */ 3835 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 3836 return event[3]; 3837 } 3838 /** 3839 * @brief Get field con_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 3840 * @param event packet 3841 * @return con_handle 3842 * @note: btstack_type H 3843 */ 3844 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_con_handle(const uint8_t * event){ 3845 return little_endian_read_16(event, 4); 3846 } 3847 /** 3848 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 3849 * @param event packet 3850 * @param Pointer to storage for bd_addr 3851 * @note: btstack_type B 3852 */ 3853 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 3854 reverse_bytes(&event[6], bd_addr, 6); 3855 } 3856 3857 3858 /** 3859 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3860 * @param event packet 3861 * @return status 3862 * @note: btstack_type 1 3863 */ 3864 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 3865 return event[3]; 3866 } 3867 /** 3868 * @brief Get field handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3869 * @param event packet 3870 * @return handle 3871 * @note: btstack_type H 3872 */ 3873 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_handle(const uint8_t * event){ 3874 return little_endian_read_16(event, 4); 3875 } 3876 /** 3877 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3878 * @param event packet 3879 * @param Pointer to storage for bd_addr 3880 * @note: btstack_type B 3881 */ 3882 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 3883 reverse_bytes(&event[6], bd_addr, 6); 3884 } 3885 /** 3886 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3887 * @param event packet 3888 * @return negotiated_codec 3889 * @note: btstack_type 1 3890 */ 3891 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 3892 return event[12]; 3893 } 3894 3895 3896 /** 3897 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 3898 * @param event packet 3899 * @return status 3900 * @note: btstack_type 1 3901 */ 3902 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 3903 return event[3]; 3904 } 3905 3906 /** 3907 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3908 * @param event packet 3909 * @return indicator_index 3910 * @note: btstack_type 1 3911 */ 3912 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 3913 return event[3]; 3914 } 3915 /** 3916 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3917 * @param event packet 3918 * @return indicator_status 3919 * @note: btstack_type 1 3920 */ 3921 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 3922 return event[4]; 3923 } 3924 /** 3925 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3926 * @param event packet 3927 * @return indicator_min_range 3928 * @note: btstack_type 1 3929 */ 3930 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 3931 return event[5]; 3932 } 3933 /** 3934 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3935 * @param event packet 3936 * @return indicator_max_range 3937 * @note: btstack_type 1 3938 */ 3939 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 3940 return event[6]; 3941 } 3942 /** 3943 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3944 * @param event packet 3945 * @return indicator_mandatory 3946 * @note: btstack_type 1 3947 */ 3948 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 3949 return event[7]; 3950 } 3951 /** 3952 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3953 * @param event packet 3954 * @return indicator_enabled 3955 * @note: btstack_type 1 3956 */ 3957 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 3958 return event[8]; 3959 } 3960 /** 3961 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3962 * @param event packet 3963 * @return indicator_status_changed 3964 * @note: btstack_type 1 3965 */ 3966 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 3967 return event[9]; 3968 } 3969 /** 3970 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3971 * @param event packet 3972 * @return indicator_name 3973 * @note: btstack_type T 3974 */ 3975 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 3976 return (const char *) &event[10]; 3977 } 3978 3979 /** 3980 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 3981 * @param event packet 3982 * @return network_operator_mode 3983 * @note: btstack_type 1 3984 */ 3985 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 3986 return event[3]; 3987 } 3988 /** 3989 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 3990 * @param event packet 3991 * @return network_operator_format 3992 * @note: btstack_type 1 3993 */ 3994 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 3995 return event[4]; 3996 } 3997 /** 3998 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 3999 * @param event packet 4000 * @return network_operator_name 4001 * @note: btstack_type T 4002 */ 4003 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 4004 return (const char *) &event[5]; 4005 } 4006 4007 /** 4008 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 4009 * @param event packet 4010 * @return error 4011 * @note: btstack_type 1 4012 */ 4013 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 4014 return event[3]; 4015 } 4016 4017 4018 4019 4020 /** 4021 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 4022 * @param event packet 4023 * @return number 4024 * @note: btstack_type T 4025 */ 4026 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 4027 return (const char *) &event[3]; 4028 } 4029 4030 4031 /** 4032 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 4033 * @param event packet 4034 * @return number 4035 * @note: btstack_type T 4036 */ 4037 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 4038 return (const char *) &event[3]; 4039 } 4040 4041 /** 4042 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 4043 * @param event packet 4044 * @return dtmf 4045 * @note: btstack_type T 4046 */ 4047 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 4048 return (const char *) &event[3]; 4049 } 4050 4051 4052 4053 4054 /** 4055 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 4056 * @param event packet 4057 * @return gain 4058 * @note: btstack_type 1 4059 */ 4060 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 4061 return event[3]; 4062 } 4063 4064 /** 4065 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 4066 * @param event packet 4067 * @return gain 4068 * @note: btstack_type 1 4069 */ 4070 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 4071 return event[3]; 4072 } 4073 4074 /** 4075 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 4076 * @param event packet 4077 * @return type 4078 * @note: btstack_type 1 4079 */ 4080 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 4081 return event[3]; 4082 } 4083 /** 4084 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 4085 * @param event packet 4086 * @return number 4087 * @note: btstack_type T 4088 */ 4089 static inline const char * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 4090 return (const char *) &event[4]; 4091 } 4092 4093 /** 4094 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 4095 * @param event packet 4096 * @return type 4097 * @note: btstack_type 1 4098 */ 4099 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 4100 return event[3]; 4101 } 4102 /** 4103 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 4104 * @param event packet 4105 * @return number 4106 * @note: btstack_type T 4107 */ 4108 static inline const char * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 4109 return (const char *) &event[4]; 4110 } 4111 4112 /** 4113 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4114 * @param event packet 4115 * @return clcc_idx 4116 * @note: btstack_type 1 4117 */ 4118 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 4119 return event[3]; 4120 } 4121 /** 4122 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4123 * @param event packet 4124 * @return clcc_dir 4125 * @note: btstack_type 1 4126 */ 4127 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 4128 return event[4]; 4129 } 4130 /** 4131 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4132 * @param event packet 4133 * @return clcc_status 4134 * @note: btstack_type 1 4135 */ 4136 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 4137 return event[5]; 4138 } 4139 /** 4140 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4141 * @param event packet 4142 * @return clcc_mode 4143 * @note: btstack_type 1 4144 */ 4145 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 4146 return event[6]; 4147 } 4148 /** 4149 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4150 * @param event packet 4151 * @return clcc_mpty 4152 * @note: btstack_type 1 4153 */ 4154 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 4155 return event[7]; 4156 } 4157 /** 4158 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4159 * @param event packet 4160 * @return bnip_type 4161 * @note: btstack_type 1 4162 */ 4163 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 4164 return event[8]; 4165 } 4166 /** 4167 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4168 * @param event packet 4169 * @return bnip_number 4170 * @note: btstack_type T 4171 */ 4172 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 4173 return (const char *) &event[9]; 4174 } 4175 4176 /** 4177 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4178 * @param event packet 4179 * @return status 4180 * @note: btstack_type 1 4181 */ 4182 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 4183 return event[3]; 4184 } 4185 /** 4186 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4187 * @param event packet 4188 * @return bnip_type 4189 * @note: btstack_type 1 4190 */ 4191 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 4192 return event[4]; 4193 } 4194 /** 4195 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4196 * @param event packet 4197 * @return bnip_number 4198 * @note: btstack_type T 4199 */ 4200 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 4201 return (const char *) &event[5]; 4202 } 4203 4204 /** 4205 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 4206 * @param event packet 4207 * @return value 4208 * @note: btstack_type T 4209 */ 4210 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 4211 return (const char *) &event[3]; 4212 } 4213 4214 #ifdef ENABLE_BLE 4215 /** 4216 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 4217 * @param event packet 4218 * @return handle 4219 * @note: btstack_type H 4220 */ 4221 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 4222 return little_endian_read_16(event, 3); 4223 } 4224 #endif 4225 4226 #ifdef ENABLE_BLE 4227 /** 4228 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4229 * @param event packet 4230 * @return handle 4231 * @note: btstack_type H 4232 */ 4233 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 4234 return little_endian_read_16(event, 3); 4235 } 4236 /** 4237 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4238 * @param event packet 4239 * @return attribute_id 4240 * @note: btstack_type 2 4241 */ 4242 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 4243 return little_endian_read_16(event, 5); 4244 } 4245 /** 4246 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4247 * @param event packet 4248 * @return text 4249 * @note: btstack_type T 4250 */ 4251 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 4252 return (const char *) &event[7]; 4253 } 4254 #endif 4255 4256 #ifdef ENABLE_BLE 4257 /** 4258 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 4259 * @param event packet 4260 * @return handle 4261 * @note: btstack_type H 4262 */ 4263 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 4264 return little_endian_read_16(event, 3); 4265 } 4266 #endif 4267 4268 /** 4269 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4270 * @param event packet 4271 * @return avdtp_cid 4272 * @note: btstack_type 2 4273 */ 4274 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 4275 return little_endian_read_16(event, 3); 4276 } 4277 /** 4278 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4279 * @param event packet 4280 * @return local_seid 4281 * @note: btstack_type 1 4282 */ 4283 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 4284 return event[5]; 4285 } 4286 /** 4287 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4288 * @param event packet 4289 * @return is_initiator 4290 * @note: btstack_type 1 4291 */ 4292 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){ 4293 return event[6]; 4294 } 4295 /** 4296 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4297 * @param event packet 4298 * @return signal_identifier 4299 * @note: btstack_type 1 4300 */ 4301 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 4302 return event[7]; 4303 } 4304 4305 /** 4306 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 4307 * @param event packet 4308 * @return avdtp_cid 4309 * @note: btstack_type 2 4310 */ 4311 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 4312 return little_endian_read_16(event, 3); 4313 } 4314 /** 4315 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 4316 * @param event packet 4317 * @return local_seid 4318 * @note: btstack_type 1 4319 */ 4320 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 4321 return event[5]; 4322 } 4323 /** 4324 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT 4325 * @param event packet 4326 * @return is_initiator 4327 * @note: btstack_type 1 4328 */ 4329 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){ 4330 return event[6]; 4331 } 4332 /** 4333 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 4334 * @param event packet 4335 * @return signal_identifier 4336 * @note: btstack_type 1 4337 */ 4338 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 4339 return event[7]; 4340 } 4341 4342 /** 4343 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4344 * @param event packet 4345 * @return avdtp_cid 4346 * @note: btstack_type 2 4347 */ 4348 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 4349 return little_endian_read_16(event, 3); 4350 } 4351 /** 4352 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4353 * @param event packet 4354 * @return local_seid 4355 * @note: btstack_type 1 4356 */ 4357 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 4358 return event[5]; 4359 } 4360 /** 4361 * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4362 * @param event packet 4363 * @return is_initiator 4364 * @note: btstack_type 1 4365 */ 4366 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){ 4367 return event[6]; 4368 } 4369 /** 4370 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4371 * @param event packet 4372 * @return signal_identifier 4373 * @note: btstack_type 1 4374 */ 4375 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 4376 return event[7]; 4377 } 4378 4379 /** 4380 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4381 * @param event packet 4382 * @return avdtp_cid 4383 * @note: btstack_type 2 4384 */ 4385 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 4386 return little_endian_read_16(event, 3); 4387 } 4388 /** 4389 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4390 * @param event packet 4391 * @param Pointer to storage for bd_addr 4392 * @note: btstack_type B 4393 */ 4394 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4395 reverse_bytes(&event[5], bd_addr, 6); 4396 } 4397 /** 4398 * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4399 * @param event packet 4400 * @return con_handle 4401 * @note: btstack_type 2 4402 */ 4403 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 4404 return little_endian_read_16(event, 11); 4405 } 4406 /** 4407 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4408 * @param event packet 4409 * @return status 4410 * @note: btstack_type 1 4411 */ 4412 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 4413 return event[13]; 4414 } 4415 4416 /** 4417 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 4418 * @param event packet 4419 * @return avdtp_cid 4420 * @note: btstack_type 2 4421 */ 4422 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 4423 return little_endian_read_16(event, 3); 4424 } 4425 4426 /** 4427 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4428 * @param event packet 4429 * @return avdtp_cid 4430 * @note: btstack_type 2 4431 */ 4432 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 4433 return little_endian_read_16(event, 3); 4434 } 4435 /** 4436 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4437 * @param event packet 4438 * @return remote_seid 4439 * @note: btstack_type 1 4440 */ 4441 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 4442 return event[5]; 4443 } 4444 /** 4445 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4446 * @param event packet 4447 * @return in_use 4448 * @note: btstack_type 1 4449 */ 4450 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 4451 return event[6]; 4452 } 4453 /** 4454 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4455 * @param event packet 4456 * @return media_type 4457 * @note: btstack_type 1 4458 */ 4459 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 4460 return event[7]; 4461 } 4462 /** 4463 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4464 * @param event packet 4465 * @return sep_type 4466 * @note: btstack_type 1 4467 */ 4468 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 4469 return event[8]; 4470 } 4471 4472 /** 4473 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4474 * @param event packet 4475 * @return avdtp_cid 4476 * @note: btstack_type 2 4477 */ 4478 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 4479 return little_endian_read_16(event, 3); 4480 } 4481 /** 4482 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4483 * @param event packet 4484 * @return remote_seid 4485 * @note: btstack_type 1 4486 */ 4487 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 4488 return event[5]; 4489 } 4490 /** 4491 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4492 * @param event packet 4493 * @return media_type 4494 * @note: btstack_type 1 4495 */ 4496 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 4497 return event[6]; 4498 } 4499 /** 4500 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4501 * @param event packet 4502 * @return sampling_frequency_bitmap 4503 * @note: btstack_type 1 4504 */ 4505 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 4506 return event[7]; 4507 } 4508 /** 4509 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4510 * @param event packet 4511 * @return channel_mode_bitmap 4512 * @note: btstack_type 1 4513 */ 4514 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 4515 return event[8]; 4516 } 4517 /** 4518 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4519 * @param event packet 4520 * @return block_length_bitmap 4521 * @note: btstack_type 1 4522 */ 4523 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 4524 return event[9]; 4525 } 4526 /** 4527 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4528 * @param event packet 4529 * @return subbands_bitmap 4530 * @note: btstack_type 1 4531 */ 4532 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 4533 return event[10]; 4534 } 4535 /** 4536 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4537 * @param event packet 4538 * @return allocation_method_bitmap 4539 * @note: btstack_type 1 4540 */ 4541 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 4542 return event[11]; 4543 } 4544 /** 4545 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4546 * @param event packet 4547 * @return min_bitpool_value 4548 * @note: btstack_type 1 4549 */ 4550 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 4551 return event[12]; 4552 } 4553 /** 4554 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4555 * @param event packet 4556 * @return max_bitpool_value 4557 * @note: btstack_type 1 4558 */ 4559 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 4560 return event[13]; 4561 } 4562 4563 /** 4564 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4565 * @param event packet 4566 * @return avdtp_cid 4567 * @note: btstack_type 2 4568 */ 4569 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 4570 return little_endian_read_16(event, 3); 4571 } 4572 /** 4573 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4574 * @param event packet 4575 * @return remote_seid 4576 * @note: btstack_type 1 4577 */ 4578 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 4579 return event[5]; 4580 } 4581 /** 4582 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4583 * @param event packet 4584 * @return media_type 4585 * @note: btstack_type 1 4586 */ 4587 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 4588 return event[6]; 4589 } 4590 /** 4591 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4592 * @param event packet 4593 * @return media_codec_type 4594 * @note: btstack_type 2 4595 */ 4596 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 4597 return little_endian_read_16(event, 7); 4598 } 4599 /** 4600 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4601 * @param event packet 4602 * @return media_codec_information_len 4603 * @note: btstack_type L 4604 */ 4605 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 4606 return little_endian_read_16(event, 9); 4607 } 4608 /** 4609 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4610 * @param event packet 4611 * @return media_codec_information 4612 * @note: btstack_type V 4613 */ 4614 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 4615 return &event[11]; 4616 } 4617 4618 /** 4619 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 4620 * @param event packet 4621 * @return avdtp_cid 4622 * @note: btstack_type 2 4623 */ 4624 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 4625 return little_endian_read_16(event, 3); 4626 } 4627 /** 4628 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 4629 * @param event packet 4630 * @return remote_seid 4631 * @note: btstack_type 1 4632 */ 4633 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 4634 return event[5]; 4635 } 4636 4637 /** 4638 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 4639 * @param event packet 4640 * @return avdtp_cid 4641 * @note: btstack_type 2 4642 */ 4643 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 4644 return little_endian_read_16(event, 3); 4645 } 4646 /** 4647 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 4648 * @param event packet 4649 * @return remote_seid 4650 * @note: btstack_type 1 4651 */ 4652 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 4653 return event[5]; 4654 } 4655 4656 /** 4657 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4658 * @param event packet 4659 * @return avdtp_cid 4660 * @note: btstack_type 2 4661 */ 4662 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 4663 return little_endian_read_16(event, 3); 4664 } 4665 /** 4666 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4667 * @param event packet 4668 * @return remote_seid 4669 * @note: btstack_type 1 4670 */ 4671 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 4672 return event[5]; 4673 } 4674 /** 4675 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4676 * @param event packet 4677 * @return recovery_type 4678 * @note: btstack_type 1 4679 */ 4680 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 4681 return event[6]; 4682 } 4683 /** 4684 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4685 * @param event packet 4686 * @return maximum_recovery_window_size 4687 * @note: btstack_type 1 4688 */ 4689 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 4690 return event[7]; 4691 } 4692 /** 4693 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4694 * @param event packet 4695 * @return maximum_number_media_packets 4696 * @note: btstack_type 1 4697 */ 4698 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 4699 return event[8]; 4700 } 4701 4702 /** 4703 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4704 * @param event packet 4705 * @return avdtp_cid 4706 * @note: btstack_type 2 4707 */ 4708 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 4709 return little_endian_read_16(event, 3); 4710 } 4711 /** 4712 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4713 * @param event packet 4714 * @return remote_seid 4715 * @note: btstack_type 1 4716 */ 4717 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 4718 return event[5]; 4719 } 4720 /** 4721 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4722 * @param event packet 4723 * @return cp_type 4724 * @note: btstack_type 2 4725 */ 4726 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 4727 return little_endian_read_16(event, 6); 4728 } 4729 /** 4730 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4731 * @param event packet 4732 * @return cp_type_value_len 4733 * @note: btstack_type L 4734 */ 4735 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 4736 return little_endian_read_16(event, 8); 4737 } 4738 /** 4739 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4740 * @param event packet 4741 * @return cp_type_value 4742 * @note: btstack_type V 4743 */ 4744 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 4745 return &event[10]; 4746 } 4747 4748 /** 4749 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4750 * @param event packet 4751 * @return avdtp_cid 4752 * @note: btstack_type 2 4753 */ 4754 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 4755 return little_endian_read_16(event, 3); 4756 } 4757 /** 4758 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4759 * @param event packet 4760 * @return remote_seid 4761 * @note: btstack_type 1 4762 */ 4763 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 4764 return event[5]; 4765 } 4766 /** 4767 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4768 * @param event packet 4769 * @return fragmentation 4770 * @note: btstack_type 1 4771 */ 4772 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 4773 return event[6]; 4774 } 4775 /** 4776 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4777 * @param event packet 4778 * @return transport_identifiers_num 4779 * @note: btstack_type 1 4780 */ 4781 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 4782 return event[7]; 4783 } 4784 /** 4785 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4786 * @param event packet 4787 * @return transport_session_identifier_1 4788 * @note: btstack_type 1 4789 */ 4790 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 4791 return event[8]; 4792 } 4793 /** 4794 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4795 * @param event packet 4796 * @return transport_session_identifier_2 4797 * @note: btstack_type 1 4798 */ 4799 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 4800 return event[9]; 4801 } 4802 /** 4803 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4804 * @param event packet 4805 * @return transport_session_identifier_3 4806 * @note: btstack_type 1 4807 */ 4808 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 4809 return event[10]; 4810 } 4811 /** 4812 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4813 * @param event packet 4814 * @return tcid_1 4815 * @note: btstack_type 1 4816 */ 4817 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 4818 return event[11]; 4819 } 4820 /** 4821 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4822 * @param event packet 4823 * @return tcid_2 4824 * @note: btstack_type 1 4825 */ 4826 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 4827 return event[12]; 4828 } 4829 /** 4830 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4831 * @param event packet 4832 * @return tcid_3 4833 * @note: btstack_type 1 4834 */ 4835 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 4836 return event[13]; 4837 } 4838 4839 /** 4840 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 4841 * @param event packet 4842 * @return avdtp_cid 4843 * @note: btstack_type 2 4844 */ 4845 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 4846 return little_endian_read_16(event, 3); 4847 } 4848 /** 4849 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 4850 * @param event packet 4851 * @return remote_seid 4852 * @note: btstack_type 1 4853 */ 4854 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 4855 return event[5]; 4856 } 4857 4858 /** 4859 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4860 * @param event packet 4861 * @return avdtp_cid 4862 * @note: btstack_type 2 4863 */ 4864 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 4865 return little_endian_read_16(event, 3); 4866 } 4867 /** 4868 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4869 * @param event packet 4870 * @return remote_seid 4871 * @note: btstack_type 1 4872 */ 4873 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 4874 return event[5]; 4875 } 4876 /** 4877 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4878 * @param event packet 4879 * @return back_ch 4880 * @note: btstack_type 1 4881 */ 4882 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 4883 return event[6]; 4884 } 4885 /** 4886 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4887 * @param event packet 4888 * @return media 4889 * @note: btstack_type 1 4890 */ 4891 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 4892 return event[7]; 4893 } 4894 /** 4895 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4896 * @param event packet 4897 * @return recovery 4898 * @note: btstack_type 1 4899 */ 4900 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 4901 return event[8]; 4902 } 4903 4904 /** 4905 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4906 * @param event packet 4907 * @return avdtp_cid 4908 * @note: btstack_type 2 4909 */ 4910 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 4911 return little_endian_read_16(event, 3); 4912 } 4913 /** 4914 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4915 * @param event packet 4916 * @return local_seid 4917 * @note: btstack_type 1 4918 */ 4919 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 4920 return event[5]; 4921 } 4922 /** 4923 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4924 * @param event packet 4925 * @return remote_seid 4926 * @note: btstack_type 1 4927 */ 4928 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 4929 return event[6]; 4930 } 4931 /** 4932 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4933 * @param event packet 4934 * @return reconfigure 4935 * @note: btstack_type 1 4936 */ 4937 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 4938 return event[7]; 4939 } 4940 /** 4941 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4942 * @param event packet 4943 * @return media_type 4944 * @note: btstack_type 1 4945 */ 4946 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 4947 return event[8]; 4948 } 4949 /** 4950 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4951 * @param event packet 4952 * @return sampling_frequency 4953 * @note: btstack_type 2 4954 */ 4955 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 4956 return little_endian_read_16(event, 9); 4957 } 4958 /** 4959 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4960 * @param event packet 4961 * @return channel_mode 4962 * @note: btstack_type 1 4963 */ 4964 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 4965 return event[11]; 4966 } 4967 /** 4968 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4969 * @param event packet 4970 * @return num_channels 4971 * @note: btstack_type 1 4972 */ 4973 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 4974 return event[12]; 4975 } 4976 /** 4977 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4978 * @param event packet 4979 * @return block_length 4980 * @note: btstack_type 1 4981 */ 4982 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 4983 return event[13]; 4984 } 4985 /** 4986 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4987 * @param event packet 4988 * @return subbands 4989 * @note: btstack_type 1 4990 */ 4991 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 4992 return event[14]; 4993 } 4994 /** 4995 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4996 * @param event packet 4997 * @return allocation_method 4998 * @note: btstack_type 1 4999 */ 5000 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 5001 return event[15]; 5002 } 5003 /** 5004 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5005 * @param event packet 5006 * @return min_bitpool_value 5007 * @note: btstack_type 1 5008 */ 5009 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 5010 return event[16]; 5011 } 5012 /** 5013 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5014 * @param event packet 5015 * @return max_bitpool_value 5016 * @note: btstack_type 1 5017 */ 5018 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 5019 return event[17]; 5020 } 5021 5022 /** 5023 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5024 * @param event packet 5025 * @return avdtp_cid 5026 * @note: btstack_type 2 5027 */ 5028 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 5029 return little_endian_read_16(event, 3); 5030 } 5031 /** 5032 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5033 * @param event packet 5034 * @return local_seid 5035 * @note: btstack_type 1 5036 */ 5037 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 5038 return event[5]; 5039 } 5040 /** 5041 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5042 * @param event packet 5043 * @return remote_seid 5044 * @note: btstack_type 1 5045 */ 5046 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 5047 return event[6]; 5048 } 5049 /** 5050 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5051 * @param event packet 5052 * @return reconfigure 5053 * @note: btstack_type 1 5054 */ 5055 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 5056 return event[7]; 5057 } 5058 /** 5059 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5060 * @param event packet 5061 * @return media_type 5062 * @note: btstack_type 1 5063 */ 5064 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 5065 return event[8]; 5066 } 5067 /** 5068 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5069 * @param event packet 5070 * @return media_codec_type 5071 * @note: btstack_type 2 5072 */ 5073 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 5074 return little_endian_read_16(event, 9); 5075 } 5076 /** 5077 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5078 * @param event packet 5079 * @return media_codec_information_len 5080 * @note: btstack_type L 5081 */ 5082 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 5083 return little_endian_read_16(event, 11); 5084 } 5085 /** 5086 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5087 * @param event packet 5088 * @return media_codec_information 5089 * @note: btstack_type V 5090 */ 5091 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 5092 return &event[13]; 5093 } 5094 5095 /** 5096 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5097 * @param event packet 5098 * @return avdtp_cid 5099 * @note: btstack_type 2 5100 */ 5101 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 5102 return little_endian_read_16(event, 3); 5103 } 5104 /** 5105 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5106 * @param event packet 5107 * @param Pointer to storage for bd_addr 5108 * @note: btstack_type B 5109 */ 5110 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5111 reverse_bytes(&event[5], bd_addr, 6); 5112 } 5113 /** 5114 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5115 * @param event packet 5116 * @return local_seid 5117 * @note: btstack_type 1 5118 */ 5119 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 5120 return event[11]; 5121 } 5122 /** 5123 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5124 * @param event packet 5125 * @return remote_seid 5126 * @note: btstack_type 1 5127 */ 5128 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 5129 return event[12]; 5130 } 5131 /** 5132 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5133 * @param event packet 5134 * @return status 5135 * @note: btstack_type 1 5136 */ 5137 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 5138 return event[13]; 5139 } 5140 5141 /** 5142 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 5143 * @param event packet 5144 * @return avdtp_cid 5145 * @note: btstack_type 2 5146 */ 5147 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 5148 return little_endian_read_16(event, 3); 5149 } 5150 /** 5151 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 5152 * @param event packet 5153 * @return local_seid 5154 * @note: btstack_type 1 5155 */ 5156 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 5157 return event[5]; 5158 } 5159 5160 /** 5161 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5162 * @param event packet 5163 * @return avdtp_cid 5164 * @note: btstack_type 2 5165 */ 5166 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 5167 return little_endian_read_16(event, 3); 5168 } 5169 /** 5170 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5171 * @param event packet 5172 * @return local_seid 5173 * @note: btstack_type 1 5174 */ 5175 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 5176 return event[5]; 5177 } 5178 /** 5179 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5180 * @param event packet 5181 * @return sequence_number 5182 * @note: btstack_type 2 5183 */ 5184 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 5185 return little_endian_read_16(event, 6); 5186 } 5187 5188 /** 5189 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5190 * @param event packet 5191 * @return avdtp_cid 5192 * @note: btstack_type 2 5193 */ 5194 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 5195 return little_endian_read_16(event, 3); 5196 } 5197 /** 5198 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5199 * @param event packet 5200 * @return remote_seid 5201 * @note: btstack_type 1 5202 */ 5203 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 5204 return event[5]; 5205 } 5206 5207 /** 5208 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 5209 * @param event packet 5210 * @return avdtp_cid 5211 * @note: btstack_type 2 5212 */ 5213 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 5214 return little_endian_read_16(event, 3); 5215 } 5216 5217 /** 5218 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 5219 * @param event packet 5220 * @return avdtp_cid 5221 * @note: btstack_type 2 5222 */ 5223 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 5224 return little_endian_read_16(event, 3); 5225 } 5226 /** 5227 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 5228 * @param event packet 5229 * @return local_seid 5230 * @note: btstack_type 1 5231 */ 5232 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 5233 return event[5]; 5234 } 5235 /** 5236 * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 5237 * @param event packet 5238 * @return delay_100us 5239 * @note: btstack_type 2 5240 */ 5241 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 5242 return little_endian_read_16(event, 6); 5243 } 5244 5245 /** 5246 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5247 * @param event packet 5248 * @return a2dp_cid 5249 * @note: btstack_type 2 5250 */ 5251 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 5252 return little_endian_read_16(event, 3); 5253 } 5254 /** 5255 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5256 * @param event packet 5257 * @return local_seid 5258 * @note: btstack_type 1 5259 */ 5260 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 5261 return event[5]; 5262 } 5263 5264 /** 5265 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5266 * @param event packet 5267 * @return a2dp_cid 5268 * @note: btstack_type 2 5269 */ 5270 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 5271 return little_endian_read_16(event, 3); 5272 } 5273 /** 5274 * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5275 * @param event packet 5276 * @return int_seid 5277 * @note: btstack_type 1 5278 */ 5279 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_int_seid(const uint8_t * event){ 5280 return event[5]; 5281 } 5282 /** 5283 * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5284 * @param event packet 5285 * @return acp_seid 5286 * @note: btstack_type 1 5287 */ 5288 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_acp_seid(const uint8_t * event){ 5289 return event[6]; 5290 } 5291 /** 5292 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5293 * @param event packet 5294 * @return reconfigure 5295 * @note: btstack_type 1 5296 */ 5297 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 5298 return event[7]; 5299 } 5300 /** 5301 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5302 * @param event packet 5303 * @return media_type 5304 * @note: btstack_type 1 5305 */ 5306 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 5307 return event[8]; 5308 } 5309 /** 5310 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5311 * @param event packet 5312 * @return sampling_frequency 5313 * @note: btstack_type 2 5314 */ 5315 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 5316 return little_endian_read_16(event, 9); 5317 } 5318 /** 5319 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5320 * @param event packet 5321 * @return channel_mode 5322 * @note: btstack_type 1 5323 */ 5324 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 5325 return event[11]; 5326 } 5327 /** 5328 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5329 * @param event packet 5330 * @return num_channels 5331 * @note: btstack_type 1 5332 */ 5333 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 5334 return event[12]; 5335 } 5336 /** 5337 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5338 * @param event packet 5339 * @return block_length 5340 * @note: btstack_type 1 5341 */ 5342 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 5343 return event[13]; 5344 } 5345 /** 5346 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5347 * @param event packet 5348 * @return subbands 5349 * @note: btstack_type 1 5350 */ 5351 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 5352 return event[14]; 5353 } 5354 /** 5355 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5356 * @param event packet 5357 * @return allocation_method 5358 * @note: btstack_type 1 5359 */ 5360 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 5361 return event[15]; 5362 } 5363 /** 5364 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5365 * @param event packet 5366 * @return min_bitpool_value 5367 * @note: btstack_type 1 5368 */ 5369 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 5370 return event[16]; 5371 } 5372 /** 5373 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5374 * @param event packet 5375 * @return max_bitpool_value 5376 * @note: btstack_type 1 5377 */ 5378 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 5379 return event[17]; 5380 } 5381 5382 /** 5383 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5384 * @param event packet 5385 * @return a2dp_cid 5386 * @note: btstack_type 2 5387 */ 5388 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 5389 return little_endian_read_16(event, 3); 5390 } 5391 /** 5392 * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5393 * @param event packet 5394 * @return int_seid 5395 * @note: btstack_type 1 5396 */ 5397 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_int_seid(const uint8_t * event){ 5398 return event[5]; 5399 } 5400 /** 5401 * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5402 * @param event packet 5403 * @return acp_seid 5404 * @note: btstack_type 1 5405 */ 5406 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_acp_seid(const uint8_t * event){ 5407 return event[6]; 5408 } 5409 /** 5410 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5411 * @param event packet 5412 * @return reconfigure 5413 * @note: btstack_type 1 5414 */ 5415 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 5416 return event[7]; 5417 } 5418 /** 5419 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5420 * @param event packet 5421 * @return media_type 5422 * @note: btstack_type 1 5423 */ 5424 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 5425 return event[8]; 5426 } 5427 /** 5428 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5429 * @param event packet 5430 * @return media_codec_type 5431 * @note: btstack_type 2 5432 */ 5433 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 5434 return little_endian_read_16(event, 9); 5435 } 5436 /** 5437 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5438 * @param event packet 5439 * @return media_codec_information_len 5440 * @note: btstack_type L 5441 */ 5442 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 5443 return little_endian_read_16(event, 11); 5444 } 5445 /** 5446 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5447 * @param event packet 5448 * @return media_codec_information 5449 * @note: btstack_type V 5450 */ 5451 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 5452 return &event[13]; 5453 } 5454 5455 /** 5456 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5457 * @param event packet 5458 * @return a2dp_cid 5459 * @note: btstack_type 2 5460 */ 5461 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 5462 return little_endian_read_16(event, 3); 5463 } 5464 /** 5465 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5466 * @param event packet 5467 * @param Pointer to storage for bd_addr 5468 * @note: btstack_type B 5469 */ 5470 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5471 reverse_bytes(&event[5], bd_addr, 6); 5472 } 5473 /** 5474 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5475 * @param event packet 5476 * @return local_seid 5477 * @note: btstack_type 1 5478 */ 5479 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 5480 return event[11]; 5481 } 5482 /** 5483 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5484 * @param event packet 5485 * @return remote_seid 5486 * @note: btstack_type 1 5487 */ 5488 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 5489 return event[12]; 5490 } 5491 /** 5492 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5493 * @param event packet 5494 * @return status 5495 * @note: btstack_type 1 5496 */ 5497 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 5498 return event[13]; 5499 } 5500 5501 /** 5502 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 5503 * @param event packet 5504 * @return a2dp_cid 5505 * @note: btstack_type 2 5506 */ 5507 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 5508 return little_endian_read_16(event, 3); 5509 } 5510 /** 5511 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 5512 * @param event packet 5513 * @return local_seid 5514 * @note: btstack_type 1 5515 */ 5516 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 5517 return event[5]; 5518 } 5519 5520 /** 5521 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 5522 * @param event packet 5523 * @return a2dp_cid 5524 * @note: btstack_type 2 5525 */ 5526 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 5527 return little_endian_read_16(event, 3); 5528 } 5529 /** 5530 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 5531 * @param event packet 5532 * @return local_seid 5533 * @note: btstack_type 1 5534 */ 5535 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 5536 return event[5]; 5537 } 5538 5539 /** 5540 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 5541 * @param event packet 5542 * @return a2dp_cid 5543 * @note: btstack_type 2 5544 */ 5545 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 5546 return little_endian_read_16(event, 3); 5547 } 5548 /** 5549 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 5550 * @param event packet 5551 * @return local_seid 5552 * @note: btstack_type 1 5553 */ 5554 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 5555 return event[5]; 5556 } 5557 5558 /** 5559 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 5560 * @param event packet 5561 * @return a2dp_cid 5562 * @note: btstack_type 2 5563 */ 5564 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 5565 return little_endian_read_16(event, 3); 5566 } 5567 /** 5568 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 5569 * @param event packet 5570 * @return local_seid 5571 * @note: btstack_type 1 5572 */ 5573 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 5574 return event[5]; 5575 } 5576 5577 /** 5578 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 5579 * @param event packet 5580 * @return a2dp_cid 5581 * @note: btstack_type 2 5582 */ 5583 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 5584 return little_endian_read_16(event, 3); 5585 } 5586 /** 5587 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 5588 * @param event packet 5589 * @return local_seid 5590 * @note: btstack_type 1 5591 */ 5592 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 5593 return event[5]; 5594 } 5595 /** 5596 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 5597 * @param event packet 5598 * @return signal_identifier 5599 * @note: btstack_type 1 5600 */ 5601 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 5602 return event[6]; 5603 } 5604 5605 /** 5606 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 5607 * @param event packet 5608 * @return a2dp_cid 5609 * @note: btstack_type 2 5610 */ 5611 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 5612 return little_endian_read_16(event, 3); 5613 } 5614 /** 5615 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 5616 * @param event packet 5617 * @return local_seid 5618 * @note: btstack_type 1 5619 */ 5620 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 5621 return event[5]; 5622 } 5623 /** 5624 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 5625 * @param event packet 5626 * @return signal_identifier 5627 * @note: btstack_type 1 5628 */ 5629 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 5630 return event[6]; 5631 } 5632 5633 /** 5634 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 5635 * @param event packet 5636 * @return a2dp_cid 5637 * @note: btstack_type 2 5638 */ 5639 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 5640 return little_endian_read_16(event, 3); 5641 } 5642 /** 5643 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 5644 * @param event packet 5645 * @param Pointer to storage for bd_addr 5646 * @note: btstack_type B 5647 */ 5648 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5649 reverse_bytes(&event[5], bd_addr, 6); 5650 } 5651 /** 5652 * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 5653 * @param event packet 5654 * @return con_handle 5655 * @note: btstack_type 2 5656 */ 5657 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){ 5658 return little_endian_read_16(event, 11); 5659 } 5660 /** 5661 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 5662 * @param event packet 5663 * @return status 5664 * @note: btstack_type 1 5665 */ 5666 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 5667 return event[13]; 5668 } 5669 5670 /** 5671 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 5672 * @param event packet 5673 * @return a2dp_cid 5674 * @note: btstack_type 2 5675 */ 5676 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 5677 return little_endian_read_16(event, 3); 5678 } 5679 5680 /** 5681 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 5682 * @param event packet 5683 * @return a2dp_cid 5684 * @note: btstack_type 2 5685 */ 5686 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 5687 return little_endian_read_16(event, 3); 5688 } 5689 /** 5690 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 5691 * @param event packet 5692 * @return local_seid 5693 * @note: btstack_type 1 5694 */ 5695 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 5696 return event[5]; 5697 } 5698 /** 5699 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 5700 * @param event packet 5701 * @return status 5702 * @note: btstack_type 1 5703 */ 5704 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 5705 return event[6]; 5706 } 5707 5708 /** 5709 * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 5710 * @param event packet 5711 * @return avdtp_cid 5712 * @note: btstack_type 2 5713 */ 5714 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 5715 return little_endian_read_16(event, 3); 5716 } 5717 /** 5718 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 5719 * @param event packet 5720 * @return local_seid 5721 * @note: btstack_type 1 5722 */ 5723 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_local_seid(const uint8_t * event){ 5724 return event[5]; 5725 } 5726 /** 5727 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 5728 * @param event packet 5729 * @return remote_seid 5730 * @note: btstack_type 1 5731 */ 5732 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 5733 return event[6]; 5734 } 5735 5736 /** 5737 * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 5738 * @param event packet 5739 * @return avdtp_cid 5740 * @note: btstack_type 2 5741 */ 5742 static inline uint16_t a2dp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){ 5743 return little_endian_read_16(event, 3); 5744 } 5745 /** 5746 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 5747 * @param event packet 5748 * @return local_seid 5749 * @note: btstack_type 1 5750 */ 5751 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){ 5752 return event[5]; 5753 } 5754 /** 5755 * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 5756 * @param event packet 5757 * @return delay_100us 5758 * @note: btstack_type 2 5759 */ 5760 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){ 5761 return little_endian_read_16(event, 6); 5762 } 5763 5764 /** 5765 * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5766 * @param event packet 5767 * @return avdtp_cid 5768 * @note: btstack_type 2 5769 */ 5770 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ 5771 return little_endian_read_16(event, 3); 5772 } 5773 /** 5774 * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5775 * @param event packet 5776 * @return local_seid 5777 * @note: btstack_type 1 5778 */ 5779 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_local_seid(const uint8_t * event){ 5780 return event[5]; 5781 } 5782 /** 5783 * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 5784 * @param event packet 5785 * @return remote_seid 5786 * @note: btstack_type 1 5787 */ 5788 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ 5789 return event[6]; 5790 } 5791 5792 /** 5793 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 5794 * @param event packet 5795 * @return avrcp_cid 5796 * @note: btstack_type 2 5797 */ 5798 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 5799 return little_endian_read_16(event, 3); 5800 } 5801 /** 5802 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 5803 * @param event packet 5804 * @return command_type 5805 * @note: btstack_type 1 5806 */ 5807 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 5808 return event[5]; 5809 } 5810 /** 5811 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 5812 * @param event packet 5813 * @return play_status 5814 * @note: btstack_type 1 5815 */ 5816 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 5817 return event[6]; 5818 } 5819 5820 /** 5821 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 5822 * @param event packet 5823 * @return avrcp_cid 5824 * @note: btstack_type 2 5825 */ 5826 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 5827 return little_endian_read_16(event, 3); 5828 } 5829 /** 5830 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 5831 * @param event packet 5832 * @return command_type 5833 * @note: btstack_type 1 5834 */ 5835 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 5836 return event[5]; 5837 } 5838 5839 /** 5840 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 5841 * @param event packet 5842 * @return avrcp_cid 5843 * @note: btstack_type 2 5844 */ 5845 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){ 5846 return little_endian_read_16(event, 3); 5847 } 5848 /** 5849 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END 5850 * @param event packet 5851 * @return command_type 5852 * @note: btstack_type 1 5853 */ 5854 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){ 5855 return event[5]; 5856 } 5857 5858 /** 5859 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 5860 * @param event packet 5861 * @return avrcp_cid 5862 * @note: btstack_type 2 5863 */ 5864 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){ 5865 return little_endian_read_16(event, 3); 5866 } 5867 /** 5868 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START 5869 * @param event packet 5870 * @return command_type 5871 * @note: btstack_type 1 5872 */ 5873 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){ 5874 return event[5]; 5875 } 5876 5877 /** 5878 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 5879 * @param event packet 5880 * @return avrcp_cid 5881 * @note: btstack_type 2 5882 */ 5883 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 5884 return little_endian_read_16(event, 3); 5885 } 5886 /** 5887 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 5888 * @param event packet 5889 * @return command_type 5890 * @note: btstack_type 1 5891 */ 5892 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){ 5893 return event[5]; 5894 } 5895 /** 5896 * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED 5897 * @param event packet 5898 * @return playback_position 5899 * @note: btstack_type 4 5900 */ 5901 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){ 5902 return little_endian_read_32(event, 6); 5903 } 5904 5905 /** 5906 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 5907 * @param event packet 5908 * @return avrcp_cid 5909 * @note: btstack_type 2 5910 */ 5911 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){ 5912 return little_endian_read_16(event, 3); 5913 } 5914 /** 5915 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 5916 * @param event packet 5917 * @return command_type 5918 * @note: btstack_type 1 5919 */ 5920 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){ 5921 return event[5]; 5922 } 5923 /** 5924 * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED 5925 * @param event packet 5926 * @return battery_status 5927 * @note: btstack_type 1 5928 */ 5929 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){ 5930 return event[6]; 5931 } 5932 5933 /** 5934 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 5935 * @param event packet 5936 * @return avrcp_cid 5937 * @note: btstack_type 2 5938 */ 5939 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){ 5940 return little_endian_read_16(event, 3); 5941 } 5942 /** 5943 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 5944 * @param event packet 5945 * @return command_type 5946 * @note: btstack_type 1 5947 */ 5948 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){ 5949 return event[5]; 5950 } 5951 /** 5952 * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED 5953 * @param event packet 5954 * @return system_status 5955 * @note: btstack_type 1 5956 */ 5957 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){ 5958 return event[6]; 5959 } 5960 5961 /** 5962 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 5963 * @param event packet 5964 * @return avrcp_cid 5965 * @note: btstack_type 2 5966 */ 5967 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 5968 return little_endian_read_16(event, 3); 5969 } 5970 /** 5971 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 5972 * @param event packet 5973 * @return command_type 5974 * @note: btstack_type 1 5975 */ 5976 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 5977 return event[5]; 5978 } 5979 5980 /** 5981 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 5982 * @param event packet 5983 * @return avrcp_cid 5984 * @note: btstack_type 2 5985 */ 5986 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 5987 return little_endian_read_16(event, 3); 5988 } 5989 /** 5990 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 5991 * @param event packet 5992 * @return command_type 5993 * @note: btstack_type 1 5994 */ 5995 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 5996 return event[5]; 5997 } 5998 5999 /** 6000 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 6001 * @param event packet 6002 * @return avrcp_cid 6003 * @note: btstack_type 2 6004 */ 6005 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){ 6006 return little_endian_read_16(event, 3); 6007 } 6008 /** 6009 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 6010 * @param event packet 6011 * @return command_type 6012 * @note: btstack_type 1 6013 */ 6014 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){ 6015 return event[5]; 6016 } 6017 /** 6018 * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED 6019 * @param event packet 6020 * @return uid_counter 6021 * @note: btstack_type 2 6022 */ 6023 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){ 6024 return little_endian_read_16(event, 6); 6025 } 6026 6027 /** 6028 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 6029 * @param event packet 6030 * @return avrcp_cid 6031 * @note: btstack_type 2 6032 */ 6033 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 6034 return little_endian_read_16(event, 3); 6035 } 6036 /** 6037 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 6038 * @param event packet 6039 * @return command_type 6040 * @note: btstack_type 1 6041 */ 6042 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 6043 return event[5]; 6044 } 6045 /** 6046 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 6047 * @param event packet 6048 * @return absolute_volume 6049 * @note: btstack_type 1 6050 */ 6051 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 6052 return event[6]; 6053 } 6054 6055 /** 6056 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 6057 * @param event packet 6058 * @return avrcp_cid 6059 * @note: btstack_type 2 6060 */ 6061 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 6062 return little_endian_read_16(event, 3); 6063 } 6064 /** 6065 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 6066 * @param event packet 6067 * @return command_type 6068 * @note: btstack_type 1 6069 */ 6070 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 6071 return event[5]; 6072 } 6073 /** 6074 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 6075 * @param event packet 6076 * @return absolute_volume 6077 * @note: btstack_type 1 6078 */ 6079 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 6080 return event[6]; 6081 } 6082 6083 /** 6084 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 6085 * @param event packet 6086 * @return avrcp_cid 6087 * @note: btstack_type 2 6088 */ 6089 static inline uint16_t avrcp_subevent_enable_notification_complete_get_avrcp_cid(const uint8_t * event){ 6090 return little_endian_read_16(event, 3); 6091 } 6092 /** 6093 * @brief Get field command_type from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 6094 * @param event packet 6095 * @return command_type 6096 * @note: btstack_type 1 6097 */ 6098 static inline uint8_t avrcp_subevent_enable_notification_complete_get_command_type(const uint8_t * event){ 6099 return event[5]; 6100 } 6101 /** 6102 * @brief Get field notification_id from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 6103 * @param event packet 6104 * @return notification_id 6105 * @note: btstack_type 1 6106 */ 6107 static inline uint8_t avrcp_subevent_enable_notification_complete_get_notification_id(const uint8_t * event){ 6108 return event[6]; 6109 } 6110 6111 /** 6112 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 6113 * @param event packet 6114 * @return status 6115 * @note: btstack_type 1 6116 */ 6117 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 6118 return event[3]; 6119 } 6120 /** 6121 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 6122 * @param event packet 6123 * @return avrcp_cid 6124 * @note: btstack_type 2 6125 */ 6126 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 6127 return little_endian_read_16(event, 4); 6128 } 6129 /** 6130 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 6131 * @param event packet 6132 * @param Pointer to storage for bd_addr 6133 * @note: btstack_type B 6134 */ 6135 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6136 reverse_bytes(&event[6], bd_addr, 6); 6137 } 6138 /** 6139 * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 6140 * @param event packet 6141 * @return con_handle 6142 * @note: btstack_type 2 6143 */ 6144 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){ 6145 return little_endian_read_16(event, 12); 6146 } 6147 6148 /** 6149 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 6150 * @param event packet 6151 * @return avrcp_cid 6152 * @note: btstack_type 2 6153 */ 6154 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 6155 return little_endian_read_16(event, 3); 6156 } 6157 6158 /** 6159 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 6160 * @param event packet 6161 * @return avrcp_cid 6162 * @note: btstack_type 2 6163 */ 6164 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 6165 return little_endian_read_16(event, 3); 6166 } 6167 /** 6168 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 6169 * @param event packet 6170 * @return command_type 6171 * @note: btstack_type 1 6172 */ 6173 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 6174 return event[5]; 6175 } 6176 /** 6177 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 6178 * @param event packet 6179 * @return repeat_mode 6180 * @note: btstack_type 1 6181 */ 6182 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 6183 return event[6]; 6184 } 6185 /** 6186 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 6187 * @param event packet 6188 * @return shuffle_mode 6189 * @note: btstack_type 1 6190 */ 6191 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 6192 return event[7]; 6193 } 6194 6195 /** 6196 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 6197 * @param event packet 6198 * @return avrcp_cid 6199 * @note: btstack_type 2 6200 */ 6201 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 6202 return little_endian_read_16(event, 3); 6203 } 6204 /** 6205 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 6206 * @param event packet 6207 * @return command_type 6208 * @note: btstack_type 1 6209 */ 6210 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 6211 return event[5]; 6212 } 6213 /** 6214 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 6215 * @param event packet 6216 * @return song_length 6217 * @note: btstack_type 4 6218 */ 6219 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 6220 return little_endian_read_32(event, 6); 6221 } 6222 /** 6223 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 6224 * @param event packet 6225 * @return song_position 6226 * @note: btstack_type 4 6227 */ 6228 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 6229 return little_endian_read_32(event, 10); 6230 } 6231 /** 6232 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 6233 * @param event packet 6234 * @return play_status 6235 * @note: btstack_type 1 6236 */ 6237 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 6238 return event[14]; 6239 } 6240 6241 /** 6242 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 6243 * @param event packet 6244 * @return avrcp_cid 6245 * @note: btstack_type 2 6246 */ 6247 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 6248 return little_endian_read_16(event, 3); 6249 } 6250 /** 6251 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 6252 * @param event packet 6253 * @return command_type 6254 * @note: btstack_type 1 6255 */ 6256 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 6257 return event[5]; 6258 } 6259 /** 6260 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 6261 * @param event packet 6262 * @return operation_id 6263 * @note: btstack_type 1 6264 */ 6265 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 6266 return event[6]; 6267 } 6268 6269 /** 6270 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 6271 * @param event packet 6272 * @return avrcp_cid 6273 * @note: btstack_type 2 6274 */ 6275 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 6276 return little_endian_read_16(event, 3); 6277 } 6278 /** 6279 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 6280 * @param event packet 6281 * @return command_type 6282 * @note: btstack_type 1 6283 */ 6284 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 6285 return event[5]; 6286 } 6287 /** 6288 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 6289 * @param event packet 6290 * @return operation_id 6291 * @note: btstack_type 1 6292 */ 6293 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 6294 return event[6]; 6295 } 6296 6297 /** 6298 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 6299 * @param event packet 6300 * @return avrcp_cid 6301 * @note: btstack_type 2 6302 */ 6303 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 6304 return little_endian_read_16(event, 3); 6305 } 6306 /** 6307 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 6308 * @param event packet 6309 * @return command_type 6310 * @note: btstack_type 1 6311 */ 6312 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 6313 return event[5]; 6314 } 6315 6316 /** 6317 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COMPANY_IDS_QUERY 6318 * @param event packet 6319 * @return avrcp_cid 6320 * @note: btstack_type 2 6321 */ 6322 static inline uint16_t avrcp_subevent_company_ids_query_get_avrcp_cid(const uint8_t * event){ 6323 return little_endian_read_16(event, 3); 6324 } 6325 6326 /** 6327 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_EVENT_IDS_QUERY 6328 * @param event packet 6329 * @return avrcp_cid 6330 * @note: btstack_type 2 6331 */ 6332 static inline uint16_t avrcp_subevent_event_ids_query_get_avrcp_cid(const uint8_t * event){ 6333 return little_endian_read_16(event, 3); 6334 } 6335 6336 /** 6337 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 6338 * @param event packet 6339 * @return avrcp_cid 6340 * @note: btstack_type 2 6341 */ 6342 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 6343 return little_endian_read_16(event, 3); 6344 } 6345 6346 /** 6347 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 6348 * @param event packet 6349 * @return avrcp_cid 6350 * @note: btstack_type 2 6351 */ 6352 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 6353 return little_endian_read_16(event, 3); 6354 } 6355 /** 6356 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 6357 * @param event packet 6358 * @return operation_id 6359 * @note: btstack_type 1 6360 */ 6361 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 6362 return event[5]; 6363 } 6364 /** 6365 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 6366 * @param event packet 6367 * @return operands_length 6368 * @note: btstack_type 1 6369 */ 6370 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 6371 return event[6]; 6372 } 6373 /** 6374 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 6375 * @param event packet 6376 * @return operand 6377 * @note: btstack_type 1 6378 */ 6379 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 6380 return event[7]; 6381 } 6382 6383 /** 6384 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 6385 * @param event packet 6386 * @return avrcp_cid 6387 * @note: btstack_type 2 6388 */ 6389 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 6390 return little_endian_read_16(event, 3); 6391 } 6392 /** 6393 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 6394 * @param event packet 6395 * @return command_type 6396 * @note: btstack_type 1 6397 */ 6398 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 6399 return event[5]; 6400 } 6401 /** 6402 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 6403 * @param event packet 6404 * @return track 6405 * @note: btstack_type 1 6406 */ 6407 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 6408 return event[6]; 6409 } 6410 6411 /** 6412 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 6413 * @param event packet 6414 * @return avrcp_cid 6415 * @note: btstack_type 2 6416 */ 6417 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 6418 return little_endian_read_16(event, 3); 6419 } 6420 /** 6421 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 6422 * @param event packet 6423 * @return command_type 6424 * @note: btstack_type 1 6425 */ 6426 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 6427 return event[5]; 6428 } 6429 /** 6430 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 6431 * @param event packet 6432 * @return total_tracks 6433 * @note: btstack_type 1 6434 */ 6435 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 6436 return event[6]; 6437 } 6438 6439 /** 6440 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 6441 * @param event packet 6442 * @return avrcp_cid 6443 * @note: btstack_type 2 6444 */ 6445 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 6446 return little_endian_read_16(event, 3); 6447 } 6448 /** 6449 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 6450 * @param event packet 6451 * @return command_type 6452 * @note: btstack_type 1 6453 */ 6454 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 6455 return event[5]; 6456 } 6457 /** 6458 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 6459 * @param event packet 6460 * @return song_length 6461 * @note: btstack_type 4 6462 */ 6463 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 6464 return little_endian_read_32(event, 6); 6465 } 6466 6467 /** 6468 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6469 * @param event packet 6470 * @return avrcp_cid 6471 * @note: btstack_type 2 6472 */ 6473 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 6474 return little_endian_read_16(event, 3); 6475 } 6476 /** 6477 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6478 * @param event packet 6479 * @return command_type 6480 * @note: btstack_type 1 6481 */ 6482 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 6483 return event[5]; 6484 } 6485 /** 6486 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6487 * @param event packet 6488 * @return value_len 6489 * @note: btstack_type J 6490 */ 6491 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 6492 return event[6]; 6493 } 6494 /** 6495 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6496 * @param event packet 6497 * @return value 6498 * @note: btstack_type V 6499 */ 6500 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 6501 return &event[7]; 6502 } 6503 6504 /** 6505 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6506 * @param event packet 6507 * @return avrcp_cid 6508 * @note: btstack_type 2 6509 */ 6510 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 6511 return little_endian_read_16(event, 3); 6512 } 6513 /** 6514 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6515 * @param event packet 6516 * @return command_type 6517 * @note: btstack_type 1 6518 */ 6519 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 6520 return event[5]; 6521 } 6522 /** 6523 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6524 * @param event packet 6525 * @return value_len 6526 * @note: btstack_type J 6527 */ 6528 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 6529 return event[6]; 6530 } 6531 /** 6532 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6533 * @param event packet 6534 * @return value 6535 * @note: btstack_type V 6536 */ 6537 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 6538 return &event[7]; 6539 } 6540 6541 /** 6542 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6543 * @param event packet 6544 * @return avrcp_cid 6545 * @note: btstack_type 2 6546 */ 6547 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 6548 return little_endian_read_16(event, 3); 6549 } 6550 /** 6551 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6552 * @param event packet 6553 * @return command_type 6554 * @note: btstack_type 1 6555 */ 6556 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 6557 return event[5]; 6558 } 6559 /** 6560 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6561 * @param event packet 6562 * @return value_len 6563 * @note: btstack_type J 6564 */ 6565 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 6566 return event[6]; 6567 } 6568 /** 6569 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6570 * @param event packet 6571 * @return value 6572 * @note: btstack_type V 6573 */ 6574 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 6575 return &event[7]; 6576 } 6577 6578 /** 6579 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6580 * @param event packet 6581 * @return avrcp_cid 6582 * @note: btstack_type 2 6583 */ 6584 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 6585 return little_endian_read_16(event, 3); 6586 } 6587 /** 6588 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6589 * @param event packet 6590 * @return command_type 6591 * @note: btstack_type 1 6592 */ 6593 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 6594 return event[5]; 6595 } 6596 /** 6597 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6598 * @param event packet 6599 * @return value_len 6600 * @note: btstack_type J 6601 */ 6602 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 6603 return event[6]; 6604 } 6605 /** 6606 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6607 * @param event packet 6608 * @return value 6609 * @note: btstack_type V 6610 */ 6611 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 6612 return &event[7]; 6613 } 6614 6615 /** 6616 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 6617 * @param event packet 6618 * @return avrcp_cid 6619 * @note: btstack_type 2 6620 */ 6621 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 6622 return little_endian_read_16(event, 3); 6623 } 6624 /** 6625 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 6626 * @param event packet 6627 * @return command_type 6628 * @note: btstack_type 1 6629 */ 6630 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 6631 return event[5]; 6632 } 6633 /** 6634 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 6635 * @param event packet 6636 * @return status 6637 * @note: btstack_type 1 6638 */ 6639 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 6640 return event[6]; 6641 } 6642 6643 /** 6644 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 6645 * @param event packet 6646 * @return avrcp_cid 6647 * @note: btstack_type 2 6648 */ 6649 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 6650 return little_endian_read_16(event, 3); 6651 } 6652 /** 6653 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 6654 * @param event packet 6655 * @return command_type 6656 * @note: btstack_type 1 6657 */ 6658 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 6659 return event[5]; 6660 } 6661 /** 6662 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 6663 * @param event packet 6664 * @return playback_position_ms 6665 * @note: btstack_type 4 6666 */ 6667 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 6668 return little_endian_read_32(event, 6); 6669 } 6670 6671 /** 6672 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 6673 * @param event packet 6674 * @return avrcp_cid 6675 * @note: btstack_type 2 6676 */ 6677 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){ 6678 return little_endian_read_16(event, 3); 6679 } 6680 /** 6681 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 6682 * @param event packet 6683 * @return command_type 6684 * @note: btstack_type 1 6685 */ 6686 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){ 6687 return event[5]; 6688 } 6689 /** 6690 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 6691 * @param event packet 6692 * @return status 6693 * @note: btstack_type 1 6694 */ 6695 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){ 6696 return event[6]; 6697 } 6698 /** 6699 * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID 6700 * @param event packet 6701 * @return event_id 6702 * @note: btstack_type 1 6703 */ 6704 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){ 6705 return event[7]; 6706 } 6707 6708 /** 6709 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 6710 * @param event packet 6711 * @return avrcp_cid 6712 * @note: btstack_type 2 6713 */ 6714 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){ 6715 return little_endian_read_16(event, 3); 6716 } 6717 /** 6718 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 6719 * @param event packet 6720 * @return command_type 6721 * @note: btstack_type 1 6722 */ 6723 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){ 6724 return event[5]; 6725 } 6726 /** 6727 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE 6728 * @param event packet 6729 * @return status 6730 * @note: btstack_type 1 6731 */ 6732 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){ 6733 return event[6]; 6734 } 6735 6736 /** 6737 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 6738 * @param event packet 6739 * @return avrcp_cid 6740 * @note: btstack_type 2 6741 */ 6742 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){ 6743 return little_endian_read_16(event, 3); 6744 } 6745 /** 6746 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 6747 * @param event packet 6748 * @return command_type 6749 * @note: btstack_type 1 6750 */ 6751 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){ 6752 return event[5]; 6753 } 6754 /** 6755 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 6756 * @param event packet 6757 * @return status 6758 * @note: btstack_type 1 6759 */ 6760 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){ 6761 return event[6]; 6762 } 6763 /** 6764 * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID 6765 * @param event packet 6766 * @return company_id 6767 * @note: btstack_type 3 6768 */ 6769 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){ 6770 return little_endian_read_24(event, 7); 6771 } 6772 6773 /** 6774 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 6775 * @param event packet 6776 * @return avrcp_cid 6777 * @note: btstack_type 2 6778 */ 6779 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){ 6780 return little_endian_read_16(event, 3); 6781 } 6782 /** 6783 * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 6784 * @param event packet 6785 * @return command_type 6786 * @note: btstack_type 1 6787 */ 6788 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){ 6789 return event[5]; 6790 } 6791 /** 6792 * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE 6793 * @param event packet 6794 * @return status 6795 * @note: btstack_type 1 6796 */ 6797 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){ 6798 return event[6]; 6799 } 6800 6801 /** 6802 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 6803 * @param event packet 6804 * @param Pointer to storage for bd_addr 6805 * @note: btstack_type B 6806 */ 6807 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6808 reverse_bytes(&event[3], bd_addr, 6); 6809 } 6810 /** 6811 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 6812 * @param event packet 6813 * @return browsing_cid 6814 * @note: btstack_type 2 6815 */ 6816 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 6817 return little_endian_read_16(event, 9); 6818 } 6819 6820 /** 6821 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 6822 * @param event packet 6823 * @return status 6824 * @note: btstack_type 1 6825 */ 6826 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 6827 return event[3]; 6828 } 6829 /** 6830 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 6831 * @param event packet 6832 * @param Pointer to storage for bd_addr 6833 * @note: btstack_type B 6834 */ 6835 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6836 reverse_bytes(&event[4], bd_addr, 6); 6837 } 6838 /** 6839 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 6840 * @param event packet 6841 * @return browsing_cid 6842 * @note: btstack_type 2 6843 */ 6844 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 6845 return little_endian_read_16(event, 10); 6846 } 6847 6848 /** 6849 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 6850 * @param event packet 6851 * @return browsing_cid 6852 * @note: btstack_type 2 6853 */ 6854 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 6855 return little_endian_read_16(event, 3); 6856 } 6857 6858 /** 6859 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 6860 * @param event packet 6861 * @return browsing_cid 6862 * @note: btstack_type 2 6863 */ 6864 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 6865 return little_endian_read_16(event, 3); 6866 } 6867 /** 6868 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 6869 * @param event packet 6870 * @return uid_counter 6871 * @note: btstack_type 2 6872 */ 6873 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 6874 return little_endian_read_16(event, 5); 6875 } 6876 /** 6877 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 6878 * @param event packet 6879 * @return browsing_status 6880 * @note: btstack_type 1 6881 */ 6882 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 6883 return event[7]; 6884 } 6885 /** 6886 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 6887 * @param event packet 6888 * @return bluetooth_status 6889 * @note: btstack_type 1 6890 */ 6891 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 6892 return event[8]; 6893 } 6894 6895 /** 6896 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 6897 * @param event packet 6898 * @return browsing_cid 6899 * @note: btstack_type 2 6900 */ 6901 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 6902 return little_endian_read_16(event, 3); 6903 } 6904 /** 6905 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 6906 * @param event packet 6907 * @return scope 6908 * @note: btstack_type 1 6909 */ 6910 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 6911 return event[5]; 6912 } 6913 /** 6914 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 6915 * @param event packet 6916 * @return attr_bitmap 6917 * @note: btstack_type 4 6918 */ 6919 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 6920 return little_endian_read_32(event, 6); 6921 } 6922 6923 /** 6924 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 6925 * @param event packet 6926 * @return browsing_cid 6927 * @note: btstack_type 2 6928 */ 6929 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 6930 return little_endian_read_16(event, 3); 6931 } 6932 /** 6933 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 6934 * @param event packet 6935 * @return scope 6936 * @note: btstack_type 1 6937 */ 6938 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 6939 return event[5]; 6940 } 6941 6942 /** 6943 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 6944 * @param event packet 6945 * @return goep_cid 6946 * @note: btstack_type 2 6947 */ 6948 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 6949 return little_endian_read_16(event, 3); 6950 } 6951 /** 6952 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 6953 * @param event packet 6954 * @return status 6955 * @note: btstack_type 1 6956 */ 6957 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 6958 return event[5]; 6959 } 6960 /** 6961 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 6962 * @param event packet 6963 * @param Pointer to storage for bd_addr 6964 * @note: btstack_type B 6965 */ 6966 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6967 reverse_bytes(&event[6], bd_addr, 6); 6968 } 6969 /** 6970 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 6971 * @param event packet 6972 * @return con_handle 6973 * @note: btstack_type H 6974 */ 6975 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 6976 return little_endian_read_16(event, 12); 6977 } 6978 /** 6979 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 6980 * @param event packet 6981 * @return incoming 6982 * @note: btstack_type 1 6983 */ 6984 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 6985 return event[14]; 6986 } 6987 6988 /** 6989 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 6990 * @param event packet 6991 * @return goep_cid 6992 * @note: btstack_type 2 6993 */ 6994 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 6995 return little_endian_read_16(event, 3); 6996 } 6997 6998 /** 6999 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 7000 * @param event packet 7001 * @return goep_cid 7002 * @note: btstack_type 2 7003 */ 7004 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 7005 return little_endian_read_16(event, 3); 7006 } 7007 7008 /** 7009 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 7010 * @param event packet 7011 * @return pbap_cid 7012 * @note: btstack_type 2 7013 */ 7014 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 7015 return little_endian_read_16(event, 3); 7016 } 7017 /** 7018 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 7019 * @param event packet 7020 * @return status 7021 * @note: btstack_type 1 7022 */ 7023 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 7024 return event[5]; 7025 } 7026 /** 7027 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 7028 * @param event packet 7029 * @param Pointer to storage for bd_addr 7030 * @note: btstack_type B 7031 */ 7032 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7033 reverse_bytes(&event[6], bd_addr, 6); 7034 } 7035 /** 7036 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 7037 * @param event packet 7038 * @return con_handle 7039 * @note: btstack_type H 7040 */ 7041 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 7042 return little_endian_read_16(event, 12); 7043 } 7044 /** 7045 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 7046 * @param event packet 7047 * @return incoming 7048 * @note: btstack_type 1 7049 */ 7050 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 7051 return event[14]; 7052 } 7053 7054 /** 7055 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 7056 * @param event packet 7057 * @return goep_cid 7058 * @note: btstack_type 2 7059 */ 7060 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 7061 return little_endian_read_16(event, 3); 7062 } 7063 7064 /** 7065 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 7066 * @param event packet 7067 * @return goep_cid 7068 * @note: btstack_type 2 7069 */ 7070 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 7071 return little_endian_read_16(event, 3); 7072 } 7073 /** 7074 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 7075 * @param event packet 7076 * @return status 7077 * @note: btstack_type 1 7078 */ 7079 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 7080 return event[5]; 7081 } 7082 7083 /** 7084 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 7085 * @param event packet 7086 * @return goep_cid 7087 * @note: btstack_type 2 7088 */ 7089 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 7090 return little_endian_read_16(event, 3); 7091 } 7092 /** 7093 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 7094 * @param event packet 7095 * @return status 7096 * @note: btstack_type 1 7097 */ 7098 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 7099 return event[5]; 7100 } 7101 /** 7102 * @brief Get field phoneboook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 7103 * @param event packet 7104 * @return phoneboook_size 7105 * @note: btstack_type 2 7106 */ 7107 static inline uint16_t pbap_subevent_phonebook_size_get_phoneboook_size(const uint8_t * event){ 7108 return little_endian_read_16(event, 6); 7109 } 7110 7111 /** 7112 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 7113 * @param event packet 7114 * @return goep_cid 7115 * @note: btstack_type 2 7116 */ 7117 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 7118 return little_endian_read_16(event, 3); 7119 } 7120 /** 7121 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 7122 * @param event packet 7123 * @return user_id_required 7124 * @note: btstack_type 1 7125 */ 7126 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 7127 return event[5]; 7128 } 7129 /** 7130 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 7131 * @param event packet 7132 * @return full_access 7133 * @note: btstack_type 1 7134 */ 7135 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 7136 return event[6]; 7137 } 7138 7139 /** 7140 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 7141 * @param event packet 7142 * @return goep_cid 7143 * @note: btstack_type 2 7144 */ 7145 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 7146 return little_endian_read_16(event, 3); 7147 } 7148 /** 7149 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 7150 * @param event packet 7151 * @return name_len 7152 * @note: btstack_type J 7153 */ 7154 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 7155 return event[5]; 7156 } 7157 /** 7158 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 7159 * @param event packet 7160 * @return name 7161 * @note: btstack_type V 7162 */ 7163 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 7164 return &event[6]; 7165 } 7166 /** 7167 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 7168 * @param event packet 7169 * @return handle_len 7170 * @note: btstack_type J 7171 */ 7172 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 7173 return event[6u + event[5]]; 7174 } 7175 /** 7176 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 7177 * @param event packet 7178 * @return handle 7179 * @note: btstack_type V 7180 */ 7181 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 7182 return &event[6u + event[5] + 1u]; 7183 } 7184 7185 /** 7186 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 7187 * @param event packet 7188 * @return hid_cid 7189 * @note: btstack_type 2 7190 */ 7191 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 7192 return little_endian_read_16(event, 3); 7193 } 7194 /** 7195 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 7196 * @param event packet 7197 * @return status 7198 * @note: btstack_type 1 7199 */ 7200 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 7201 return event[5]; 7202 } 7203 /** 7204 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 7205 * @param event packet 7206 * @param Pointer to storage for bd_addr 7207 * @note: btstack_type B 7208 */ 7209 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7210 reverse_bytes(&event[6], bd_addr, 6); 7211 } 7212 /** 7213 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 7214 * @param event packet 7215 * @return con_handle 7216 * @note: btstack_type H 7217 */ 7218 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 7219 return little_endian_read_16(event, 12); 7220 } 7221 /** 7222 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 7223 * @param event packet 7224 * @return incoming 7225 * @note: btstack_type 1 7226 */ 7227 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 7228 return event[14]; 7229 } 7230 7231 /** 7232 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 7233 * @param event packet 7234 * @return hid_cid 7235 * @note: btstack_type 2 7236 */ 7237 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 7238 return little_endian_read_16(event, 3); 7239 } 7240 7241 /** 7242 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 7243 * @param event packet 7244 * @return hid_cid 7245 * @note: btstack_type 2 7246 */ 7247 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 7248 return little_endian_read_16(event, 3); 7249 } 7250 7251 /** 7252 * @brief Get field con_handle from event HID_SUBEVENT_SUSPEND 7253 * @param event packet 7254 * @return con_handle 7255 * @note: btstack_type 2 7256 */ 7257 static inline uint16_t hid_subevent_suspend_get_con_handle(const uint8_t * event){ 7258 return little_endian_read_16(event, 3); 7259 } 7260 7261 /** 7262 * @brief Get field con_handle from event HID_SUBEVENT_EXIT_SUSPEND 7263 * @param event packet 7264 * @return con_handle 7265 * @note: btstack_type 2 7266 */ 7267 static inline uint16_t hid_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 7268 return little_endian_read_16(event, 3); 7269 } 7270 7271 /** 7272 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 7273 * @param event packet 7274 * @return con_handle 7275 * @note: btstack_type 2 7276 */ 7277 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 7278 return little_endian_read_16(event, 3); 7279 } 7280 7281 /** 7282 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 7283 * @param event packet 7284 * @return con_handle 7285 * @note: btstack_type 2 7286 */ 7287 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 7288 return little_endian_read_16(event, 3); 7289 } 7290 /** 7291 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 7292 * @param event packet 7293 * @return protocol_mode 7294 * @note: btstack_type 1 7295 */ 7296 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 7297 return event[5]; 7298 } 7299 7300 /** 7301 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 7302 * @param event packet 7303 * @return con_handle 7304 * @note: btstack_type 2 7305 */ 7306 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 7307 return little_endian_read_16(event, 3); 7308 } 7309 /** 7310 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 7311 * @param event packet 7312 * @return enable 7313 * @note: btstack_type 1 7314 */ 7315 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 7316 return event[5]; 7317 } 7318 7319 /** 7320 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 7321 * @param event packet 7322 * @return con_handle 7323 * @note: btstack_type 2 7324 */ 7325 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 7326 return little_endian_read_16(event, 3); 7327 } 7328 /** 7329 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 7330 * @param event packet 7331 * @return enable 7332 * @note: btstack_type 1 7333 */ 7334 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 7335 return event[5]; 7336 } 7337 7338 /** 7339 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 7340 * @param event packet 7341 * @return con_handle 7342 * @note: btstack_type 2 7343 */ 7344 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 7345 return little_endian_read_16(event, 3); 7346 } 7347 /** 7348 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 7349 * @param event packet 7350 * @return enable 7351 * @note: btstack_type 1 7352 */ 7353 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 7354 return event[5]; 7355 } 7356 7357 /** 7358 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 7359 * @param event packet 7360 * @return con_handle 7361 * @note: btstack_type 2 7362 */ 7363 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 7364 return little_endian_read_16(event, 3); 7365 } 7366 /** 7367 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 7368 * @param event packet 7369 * @return enable 7370 * @note: btstack_type 1 7371 */ 7372 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 7373 return event[5]; 7374 } 7375 7376 /** 7377 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 7378 * @param event packet 7379 * @return con_handle 7380 * @note: btstack_type 2 7381 */ 7382 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 7383 return little_endian_read_16(event, 3); 7384 } 7385 /** 7386 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 7387 * @param event packet 7388 * @return enable 7389 * @note: btstack_type 1 7390 */ 7391 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 7392 return event[5]; 7393 } 7394 7395 /** 7396 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 7397 * @param event packet 7398 * @return con_handle 7399 * @note: btstack_type 2 7400 */ 7401 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 7402 return little_endian_read_16(event, 3); 7403 } 7404 7405 /** 7406 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 7407 * @param event packet 7408 * @return con_handle 7409 * @note: btstack_type 2 7410 */ 7411 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 7412 return little_endian_read_16(event, 3); 7413 } 7414 7415 /** 7416 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 7417 * @param event packet 7418 * @return con_handle 7419 * @note: btstack_type 2 7420 */ 7421 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 7422 return little_endian_read_16(event, 3); 7423 } 7424 /** 7425 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 7426 * @param event packet 7427 * @return measurement_type 7428 * @note: btstack_type 1 7429 */ 7430 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 7431 return event[5]; 7432 } 7433 /** 7434 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 7435 * @param event packet 7436 * @return is_enhanced 7437 * @note: btstack_type 1 7438 */ 7439 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 7440 return event[6]; 7441 } 7442 7443 /** 7444 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 7445 * @param event packet 7446 * @return con_handle 7447 * @note: btstack_type 2 7448 */ 7449 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 7450 return little_endian_read_16(event, 3); 7451 } 7452 7453 /** 7454 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 7455 * @param event packet 7456 * @return con_handle 7457 * @note: btstack_type 2 7458 */ 7459 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 7460 return little_endian_read_16(event, 3); 7461 } 7462 7463 /** 7464 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_OPENED 7465 * @param event packet 7466 * @return map_cid 7467 * @note: btstack_type 2 7468 */ 7469 static inline uint16_t map_subevent_connection_opened_get_map_cid(const uint8_t * event){ 7470 return little_endian_read_16(event, 3); 7471 } 7472 /** 7473 * @brief Get field status from event MAP_SUBEVENT_CONNECTION_OPENED 7474 * @param event packet 7475 * @return status 7476 * @note: btstack_type 1 7477 */ 7478 static inline uint8_t map_subevent_connection_opened_get_status(const uint8_t * event){ 7479 return event[5]; 7480 } 7481 /** 7482 * @brief Get field bd_addr from event MAP_SUBEVENT_CONNECTION_OPENED 7483 * @param event packet 7484 * @param Pointer to storage for bd_addr 7485 * @note: btstack_type B 7486 */ 7487 static inline void map_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7488 reverse_bytes(&event[6], bd_addr, 6); 7489 } 7490 /** 7491 * @brief Get field con_handle from event MAP_SUBEVENT_CONNECTION_OPENED 7492 * @param event packet 7493 * @return con_handle 7494 * @note: btstack_type H 7495 */ 7496 static inline hci_con_handle_t map_subevent_connection_opened_get_con_handle(const uint8_t * event){ 7497 return little_endian_read_16(event, 12); 7498 } 7499 /** 7500 * @brief Get field incoming from event MAP_SUBEVENT_CONNECTION_OPENED 7501 * @param event packet 7502 * @return incoming 7503 * @note: btstack_type 1 7504 */ 7505 static inline uint8_t map_subevent_connection_opened_get_incoming(const uint8_t * event){ 7506 return event[14]; 7507 } 7508 7509 /** 7510 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_CLOSED 7511 * @param event packet 7512 * @return map_cid 7513 * @note: btstack_type 2 7514 */ 7515 static inline uint16_t map_subevent_connection_closed_get_map_cid(const uint8_t * event){ 7516 return little_endian_read_16(event, 3); 7517 } 7518 7519 /** 7520 * @brief Get field map_cid from event MAP_SUBEVENT_OPERATION_COMPLETED 7521 * @param event packet 7522 * @return map_cid 7523 * @note: btstack_type 2 7524 */ 7525 static inline uint16_t map_subevent_operation_completed_get_map_cid(const uint8_t * event){ 7526 return little_endian_read_16(event, 3); 7527 } 7528 /** 7529 * @brief Get field status from event MAP_SUBEVENT_OPERATION_COMPLETED 7530 * @param event packet 7531 * @return status 7532 * @note: btstack_type 1 7533 */ 7534 static inline uint8_t map_subevent_operation_completed_get_status(const uint8_t * event){ 7535 return event[5]; 7536 } 7537 7538 /** 7539 * @brief Get field map_cid from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 7540 * @param event packet 7541 * @return map_cid 7542 * @note: btstack_type 2 7543 */ 7544 static inline uint16_t map_subevent_folder_listing_item_get_map_cid(const uint8_t * event){ 7545 return little_endian_read_16(event, 3); 7546 } 7547 /** 7548 * @brief Get field name_len from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 7549 * @param event packet 7550 * @return name_len 7551 * @note: btstack_type L 7552 */ 7553 static inline uint16_t map_subevent_folder_listing_item_get_name_len(const uint8_t * event){ 7554 return little_endian_read_16(event, 5); 7555 } 7556 /** 7557 * @brief Get field name from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 7558 * @param event packet 7559 * @return name 7560 * @note: btstack_type V 7561 */ 7562 static inline const uint8_t * map_subevent_folder_listing_item_get_name(const uint8_t * event){ 7563 return &event[7]; 7564 } 7565 7566 /** 7567 * @brief Get field map_cid from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 7568 * @param event packet 7569 * @return map_cid 7570 * @note: btstack_type 2 7571 */ 7572 static inline uint16_t map_subevent_message_listing_item_get_map_cid(const uint8_t * event){ 7573 return little_endian_read_16(event, 3); 7574 } 7575 /** 7576 * @brief Get field handle from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 7577 * @param event packet 7578 * @return handle 7579 * @note: btstack_type D 7580 */ 7581 static inline const uint8_t * map_subevent_message_listing_item_get_handle(const uint8_t * event){ 7582 return (const uint8_t *) &event[5]; 7583 } 7584 7585 /** 7586 * @brief Get field map_cid from event MAP_SUBEVENT_PARSING_DONE 7587 * @param event packet 7588 * @return map_cid 7589 * @note: btstack_type 2 7590 */ 7591 static inline uint16_t map_subevent_parsing_done_get_map_cid(const uint8_t * event){ 7592 return little_endian_read_16(event, 3); 7593 } 7594 7595 7596 /** 7597 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT 7598 * @param event packet 7599 * @return status 7600 * @note: btstack_type 1 7601 */ 7602 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){ 7603 return event[3]; 7604 } 7605 7606 /** 7607 * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 7608 * @param event packet 7609 * @return status 7610 * @note: btstack_type 1 7611 */ 7612 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){ 7613 return event[3]; 7614 } 7615 /** 7616 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 7617 * @param event packet 7618 * @return pb_transport_cid 7619 * @note: btstack_type 2 7620 */ 7621 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){ 7622 return little_endian_read_16(event, 4); 7623 } 7624 /** 7625 * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN 7626 * @param event packet 7627 * @return pb_type 7628 * @note: btstack_type 1 7629 */ 7630 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){ 7631 return event[6]; 7632 } 7633 7634 /** 7635 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 7636 * @param event packet 7637 * @return pb_transport_cid 7638 * @note: btstack_type 1 7639 */ 7640 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){ 7641 return event[3]; 7642 } 7643 /** 7644 * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED 7645 * @param event packet 7646 * @return reason 7647 * @note: btstack_type 2 7648 */ 7649 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){ 7650 return little_endian_read_16(event, 4); 7651 } 7652 7653 /** 7654 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 7655 * @param event packet 7656 * @return pb_transport_cid 7657 * @note: btstack_type 2 7658 */ 7659 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){ 7660 return little_endian_read_16(event, 3); 7661 } 7662 /** 7663 * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER 7664 * @param event packet 7665 * @return attention_time 7666 * @note: btstack_type 1 7667 */ 7668 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){ 7669 return event[5]; 7670 } 7671 7672 /** 7673 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_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_start_emit_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_STOP_EMIT_PUBLIC_KEY_OOB 7684 * @param event packet 7685 * @return pb_transport_cid 7686 * @note: btstack_type 2 7687 */ 7688 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_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_INPUT_OOB_REQUEST 7694 * @param event packet 7695 * @return pb_transport_cid 7696 * @note: btstack_type 2 7697 */ 7698 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){ 7699 return little_endian_read_16(event, 3); 7700 } 7701 7702 /** 7703 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 7704 * @param event packet 7705 * @return pb_transport_cid 7706 * @note: btstack_type 2 7707 */ 7708 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 7709 return little_endian_read_16(event, 3); 7710 } 7711 /** 7712 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB 7713 * @param event packet 7714 * @return output_oob 7715 * @note: btstack_type 4 7716 */ 7717 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){ 7718 return little_endian_read_32(event, 5); 7719 } 7720 7721 /** 7722 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB 7723 * @param event packet 7724 * @return pb_transport_cid 7725 * @note: btstack_type 2 7726 */ 7727 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){ 7728 return little_endian_read_16(event, 3); 7729 } 7730 7731 /** 7732 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB 7733 * @param event packet 7734 * @return pb_transport_cid 7735 * @note: btstack_type 2 7736 */ 7737 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 7738 return little_endian_read_16(event, 3); 7739 } 7740 7741 /** 7742 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB 7743 * @param event packet 7744 * @return pb_transport_cid 7745 * @note: btstack_type 2 7746 */ 7747 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){ 7748 return little_endian_read_16(event, 3); 7749 } 7750 7751 /** 7752 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST 7753 * @param event packet 7754 * @return pb_transport_cid 7755 * @note: btstack_type 2 7756 */ 7757 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){ 7758 return little_endian_read_16(event, 3); 7759 } 7760 7761 /** 7762 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 7763 * @param event packet 7764 * @return pb_transport_cid 7765 * @note: btstack_type 2 7766 */ 7767 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 7768 return little_endian_read_16(event, 3); 7769 } 7770 /** 7771 * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB 7772 * @param event packet 7773 * @return output_oob 7774 * @note: btstack_type 4 7775 */ 7776 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){ 7777 return little_endian_read_32(event, 5); 7778 } 7779 7780 /** 7781 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB 7782 * @param event packet 7783 * @return pb_transport_cid 7784 * @note: btstack_type 2 7785 */ 7786 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){ 7787 return little_endian_read_16(event, 3); 7788 } 7789 7790 /** 7791 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7792 * @param event packet 7793 * @return pb_transport_cid 7794 * @note: btstack_type 2 7795 */ 7796 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){ 7797 return little_endian_read_16(event, 3); 7798 } 7799 /** 7800 * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7801 * @param event packet 7802 * @return num_elements 7803 * @note: btstack_type 1 7804 */ 7805 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){ 7806 return event[5]; 7807 } 7808 /** 7809 * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7810 * @param event packet 7811 * @return algorithms 7812 * @note: btstack_type 2 7813 */ 7814 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){ 7815 return little_endian_read_16(event, 6); 7816 } 7817 /** 7818 * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7819 * @param event packet 7820 * @return public_key 7821 * @note: btstack_type 1 7822 */ 7823 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){ 7824 return event[8]; 7825 } 7826 /** 7827 * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7828 * @param event packet 7829 * @return static_oob_type 7830 * @note: btstack_type 1 7831 */ 7832 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){ 7833 return event[9]; 7834 } 7835 /** 7836 * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7837 * @param event packet 7838 * @return output_oob_size 7839 * @note: btstack_type 1 7840 */ 7841 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){ 7842 return event[10]; 7843 } 7844 /** 7845 * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7846 * @param event packet 7847 * @return output_oob_action 7848 * @note: btstack_type 2 7849 */ 7850 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){ 7851 return little_endian_read_16(event, 11); 7852 } 7853 /** 7854 * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7855 * @param event packet 7856 * @return input_oob_size 7857 * @note: btstack_type 1 7858 */ 7859 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){ 7860 return event[13]; 7861 } 7862 /** 7863 * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES 7864 * @param event packet 7865 * @return input_oob_action 7866 * @note: btstack_type 2 7867 */ 7868 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){ 7869 return little_endian_read_16(event, 14); 7870 } 7871 7872 /** 7873 * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE 7874 * @param event packet 7875 * @return pb_transport_cid 7876 * @note: btstack_type 2 7877 */ 7878 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){ 7879 return little_endian_read_16(event, 3); 7880 } 7881 7882 /** 7883 * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER 7884 * @param event packet 7885 * @return attention_time 7886 * @note: btstack_type 1 7887 */ 7888 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){ 7889 return event[3]; 7890 } 7891 7892 /** 7893 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED 7894 * @param event packet 7895 * @return con_handle 7896 * @note: btstack_type H 7897 */ 7898 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){ 7899 return little_endian_read_16(event, 3); 7900 } 7901 7902 /** 7903 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT 7904 * @param event packet 7905 * @return con_handle 7906 * @note: btstack_type H 7907 */ 7908 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){ 7909 return little_endian_read_16(event, 3); 7910 } 7911 7912 /** 7913 * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED 7914 * @param event packet 7915 * @return con_handle 7916 * @note: btstack_type H 7917 */ 7918 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){ 7919 return little_endian_read_16(event, 3); 7920 } 7921 7922 /** 7923 * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT 7924 * @param event packet 7925 * @return con_handle 7926 * @note: btstack_type H 7927 */ 7928 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){ 7929 return little_endian_read_16(event, 3); 7930 } 7931 7932 /** 7933 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7934 * @param event packet 7935 * @return element_index 7936 * @note: btstack_type 1 7937 */ 7938 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){ 7939 return event[3]; 7940 } 7941 /** 7942 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7943 * @param event packet 7944 * @return model_identifier 7945 * @note: btstack_type 4 7946 */ 7947 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){ 7948 return little_endian_read_32(event, 4); 7949 } 7950 /** 7951 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7952 * @param event packet 7953 * @return state_identifier 7954 * @note: btstack_type 4 7955 */ 7956 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){ 7957 return little_endian_read_32(event, 8); 7958 } 7959 /** 7960 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7961 * @param event packet 7962 * @return reason 7963 * @note: btstack_type 1 7964 */ 7965 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){ 7966 return event[12]; 7967 } 7968 /** 7969 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL 7970 * @param event packet 7971 * @return value 7972 * @note: btstack_type 1 7973 */ 7974 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){ 7975 return event[13]; 7976 } 7977 7978 /** 7979 * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16 7980 * @param event packet 7981 * @return element_index 7982 * @note: btstack_type 1 7983 */ 7984 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){ 7985 return event[3]; 7986 } 7987 /** 7988 * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 7989 * @param event packet 7990 * @return model_identifier 7991 * @note: btstack_type 4 7992 */ 7993 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){ 7994 return little_endian_read_32(event, 4); 7995 } 7996 /** 7997 * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16 7998 * @param event packet 7999 * @return state_identifier 8000 * @note: btstack_type 4 8001 */ 8002 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){ 8003 return little_endian_read_32(event, 8); 8004 } 8005 /** 8006 * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16 8007 * @param event packet 8008 * @return reason 8009 * @note: btstack_type 1 8010 */ 8011 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){ 8012 return event[12]; 8013 } 8014 /** 8015 * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16 8016 * @param event packet 8017 * @return value 8018 * @note: btstack_type 2 8019 */ 8020 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){ 8021 return little_endian_read_16(event, 13); 8022 } 8023 8024 /** 8025 * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 8026 * @param event packet 8027 * @return element_index 8028 * @note: btstack_type 1 8029 */ 8030 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){ 8031 return event[3]; 8032 } 8033 /** 8034 * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 8035 * @param event packet 8036 * @return model_identifier 8037 * @note: btstack_type 4 8038 */ 8039 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){ 8040 return little_endian_read_32(event, 4); 8041 } 8042 /** 8043 * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 8044 * @param event packet 8045 * @return opcode 8046 * @note: btstack_type 4 8047 */ 8048 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){ 8049 return little_endian_read_32(event, 8); 8050 } 8051 /** 8052 * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED 8053 * @param event packet 8054 * @return dest 8055 * @note: btstack_type 2 8056 */ 8057 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){ 8058 return little_endian_read_16(event, 12); 8059 } 8060 8061 /** 8062 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF 8063 * @param event packet 8064 * @return dest 8065 * @note: btstack_type 2 8066 */ 8067 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){ 8068 return little_endian_read_16(event, 3); 8069 } 8070 /** 8071 * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF 8072 * @param event packet 8073 * @return status 8074 * @note: btstack_type 1 8075 */ 8076 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){ 8077 return event[5]; 8078 } 8079 /** 8080 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF 8081 * @param event packet 8082 * @return present_value 8083 * @note: btstack_type 1 8084 */ 8085 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){ 8086 return event[6]; 8087 } 8088 /** 8089 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF 8090 * @param event packet 8091 * @return target_value 8092 * @note: btstack_type 1 8093 */ 8094 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){ 8095 return event[7]; 8096 } 8097 /** 8098 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF 8099 * @param event packet 8100 * @return remaining_time_ms 8101 * @note: btstack_type 4 8102 */ 8103 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){ 8104 return little_endian_read_32(event, 8); 8105 } 8106 8107 /** 8108 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL 8109 * @param event packet 8110 * @return dest 8111 * @note: btstack_type 2 8112 */ 8113 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){ 8114 return little_endian_read_16(event, 3); 8115 } 8116 /** 8117 * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL 8118 * @param event packet 8119 * @return status 8120 * @note: btstack_type 1 8121 */ 8122 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){ 8123 return event[5]; 8124 } 8125 /** 8126 * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL 8127 * @param event packet 8128 * @return present_value 8129 * @note: btstack_type 2 8130 */ 8131 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){ 8132 return little_endian_read_16(event, 6); 8133 } 8134 /** 8135 * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL 8136 * @param event packet 8137 * @return target_value 8138 * @note: btstack_type 2 8139 */ 8140 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){ 8141 return little_endian_read_16(event, 8); 8142 } 8143 /** 8144 * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL 8145 * @param event packet 8146 * @return remaining_time_ms 8147 * @note: btstack_type 4 8148 */ 8149 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){ 8150 return little_endian_read_32(event, 10); 8151 } 8152 8153 /** 8154 * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 8155 * @param event packet 8156 * @return dest 8157 * @note: btstack_type 2 8158 */ 8159 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){ 8160 return little_endian_read_16(event, 3); 8161 } 8162 /** 8163 * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 8164 * @param event packet 8165 * @return netkey_index 8166 * @note: btstack_type 2 8167 */ 8168 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){ 8169 return little_endian_read_16(event, 5); 8170 } 8171 /** 8172 * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 8173 * @param event packet 8174 * @return appkey_index 8175 * @note: btstack_type 2 8176 */ 8177 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){ 8178 return little_endian_read_16(event, 7); 8179 } 8180 /** 8181 * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 8182 * @param event packet 8183 * @return company_id 8184 * @note: btstack_type 2 8185 */ 8186 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){ 8187 return little_endian_read_16(event, 9); 8188 } 8189 /** 8190 * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 8191 * @param event packet 8192 * @return test_id 8193 * @note: btstack_type 1 8194 */ 8195 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){ 8196 return event[11]; 8197 } 8198 /** 8199 * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST 8200 * @param event packet 8201 * @return acknowledged 8202 * @note: btstack_type 1 8203 */ 8204 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){ 8205 return event[12]; 8206 } 8207 8208 /** 8209 * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED 8210 * @param event packet 8211 * @return element_index 8212 * @note: btstack_type 1 8213 */ 8214 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){ 8215 return event[3]; 8216 } 8217 8218 /** 8219 * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 8220 * @param event packet 8221 * @return dest 8222 * @note: btstack_type 2 8223 */ 8224 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){ 8225 return little_endian_read_16(event, 3); 8226 } 8227 /** 8228 * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 8229 * @param event packet 8230 * @return status 8231 * @note: btstack_type 1 8232 */ 8233 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){ 8234 return event[5]; 8235 } 8236 /** 8237 * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME 8238 * @param event packet 8239 * @return transition_time_gdtt 8240 * @note: btstack_type 1 8241 */ 8242 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){ 8243 return event[6]; 8244 } 8245 8246 /** 8247 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON 8248 * @param event packet 8249 * @return dest 8250 * @note: btstack_type 2 8251 */ 8252 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){ 8253 return little_endian_read_16(event, 3); 8254 } 8255 /** 8256 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON 8257 * @param event packet 8258 * @return foundation_status 8259 * @note: btstack_type 1 8260 */ 8261 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){ 8262 return event[5]; 8263 } 8264 /** 8265 * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON 8266 * @param event packet 8267 * @return secure_network_beacon_state 8268 * @note: btstack_type 1 8269 */ 8270 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){ 8271 return event[6]; 8272 } 8273 8274 /** 8275 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 8276 * @param event packet 8277 * @return dest 8278 * @note: btstack_type 2 8279 */ 8280 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){ 8281 return little_endian_read_16(event, 3); 8282 } 8283 /** 8284 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 8285 * @param event packet 8286 * @return foundation_status 8287 * @note: btstack_type 1 8288 */ 8289 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){ 8290 return event[5]; 8291 } 8292 /** 8293 * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL 8294 * @param event packet 8295 * @return default_ttl 8296 * @note: btstack_type 1 8297 */ 8298 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){ 8299 return event[6]; 8300 } 8301 8302 /** 8303 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 8304 * @param event packet 8305 * @return dest 8306 * @note: btstack_type 2 8307 */ 8308 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){ 8309 return little_endian_read_16(event, 3); 8310 } 8311 /** 8312 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 8313 * @param event packet 8314 * @return foundation_status 8315 * @note: btstack_type 1 8316 */ 8317 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){ 8318 return event[5]; 8319 } 8320 /** 8321 * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY 8322 * @param event packet 8323 * @return gatt_proxy_state 8324 * @note: btstack_type 1 8325 */ 8326 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){ 8327 return event[6]; 8328 } 8329 8330 /** 8331 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY 8332 * @param event packet 8333 * @return dest 8334 * @note: btstack_type 2 8335 */ 8336 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){ 8337 return little_endian_read_16(event, 3); 8338 } 8339 /** 8340 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY 8341 * @param event packet 8342 * @return foundation_status 8343 * @note: btstack_type 1 8344 */ 8345 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){ 8346 return event[5]; 8347 } 8348 /** 8349 * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY 8350 * @param event packet 8351 * @return relay 8352 * @note: btstack_type 1 8353 */ 8354 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){ 8355 return event[6]; 8356 } 8357 /** 8358 * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY 8359 * @param event packet 8360 * @return retransmit_count 8361 * @note: btstack_type 1 8362 */ 8363 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){ 8364 return event[7]; 8365 } 8366 /** 8367 * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY 8368 * @param event packet 8369 * @return retransmit_interval_ms 8370 * @note: btstack_type 1 8371 */ 8372 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){ 8373 return event[8]; 8374 } 8375 8376 /** 8377 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8378 * @param event packet 8379 * @return dest 8380 * @note: btstack_type 2 8381 */ 8382 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){ 8383 return little_endian_read_16(event, 3); 8384 } 8385 /** 8386 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8387 * @param event packet 8388 * @return foundation_status 8389 * @note: btstack_type 1 8390 */ 8391 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){ 8392 return event[5]; 8393 } 8394 /** 8395 * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8396 * @param event packet 8397 * @return publish_address 8398 * @note: btstack_type 2 8399 */ 8400 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){ 8401 return little_endian_read_16(event, 6); 8402 } 8403 /** 8404 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8405 * @param event packet 8406 * @return appkey_index 8407 * @note: btstack_type 2 8408 */ 8409 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){ 8410 return little_endian_read_16(event, 8); 8411 } 8412 /** 8413 * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8414 * @param event packet 8415 * @return credential_flag 8416 * @note: btstack_type 1 8417 */ 8418 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){ 8419 return event[10]; 8420 } 8421 /** 8422 * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8423 * @param event packet 8424 * @return publish_ttl 8425 * @note: btstack_type 1 8426 */ 8427 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){ 8428 return event[11]; 8429 } 8430 /** 8431 * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8432 * @param event packet 8433 * @return publish_period 8434 * @note: btstack_type 1 8435 */ 8436 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){ 8437 return event[12]; 8438 } 8439 /** 8440 * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8441 * @param event packet 8442 * @return publish_retransmit_count 8443 * @note: btstack_type 1 8444 */ 8445 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){ 8446 return event[13]; 8447 } 8448 /** 8449 * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8450 * @param event packet 8451 * @return publish_retransmit_interval_steps 8452 * @note: btstack_type 1 8453 */ 8454 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){ 8455 return event[14]; 8456 } 8457 /** 8458 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION 8459 * @param event packet 8460 * @return model_identifier 8461 * @note: btstack_type 4 8462 */ 8463 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){ 8464 return little_endian_read_32(event, 15); 8465 } 8466 8467 /** 8468 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 8469 * @param event packet 8470 * @return dest 8471 * @note: btstack_type 2 8472 */ 8473 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){ 8474 return little_endian_read_16(event, 3); 8475 } 8476 /** 8477 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 8478 * @param event packet 8479 * @return foundation_status 8480 * @note: btstack_type 1 8481 */ 8482 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){ 8483 return event[5]; 8484 } 8485 /** 8486 * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 8487 * @param event packet 8488 * @return address 8489 * @note: btstack_type 2 8490 */ 8491 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){ 8492 return little_endian_read_16(event, 6); 8493 } 8494 /** 8495 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION 8496 * @param event packet 8497 * @return model_identifier 8498 * @note: btstack_type 4 8499 */ 8500 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){ 8501 return little_endian_read_32(event, 8); 8502 } 8503 8504 /** 8505 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 8506 * @param event packet 8507 * @return dest 8508 * @note: btstack_type 2 8509 */ 8510 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){ 8511 return little_endian_read_16(event, 3); 8512 } 8513 /** 8514 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 8515 * @param event packet 8516 * @return foundation_status 8517 * @note: btstack_type 1 8518 */ 8519 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){ 8520 return event[5]; 8521 } 8522 /** 8523 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 8524 * @param event packet 8525 * @return model_identifier 8526 * @note: btstack_type 4 8527 */ 8528 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){ 8529 return little_endian_read_32(event, 6); 8530 } 8531 /** 8532 * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 8533 * @param event packet 8534 * @return num_subscription_addresses 8535 * @note: btstack_type 1 8536 */ 8537 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){ 8538 return event[10]; 8539 } 8540 /** 8541 * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 8542 * @param event packet 8543 * @return subscription_address_pos 8544 * @note: btstack_type 1 8545 */ 8546 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){ 8547 return event[11]; 8548 } 8549 /** 8550 * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM 8551 * @param event packet 8552 * @return subscription_address_item 8553 * @note: btstack_type 2 8554 */ 8555 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){ 8556 return little_endian_read_16(event, 12); 8557 } 8558 8559 /** 8560 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 8561 * @param event packet 8562 * @return dest 8563 * @note: btstack_type 2 8564 */ 8565 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){ 8566 return little_endian_read_16(event, 3); 8567 } 8568 /** 8569 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX 8570 * @param event packet 8571 * @return foundation_status 8572 * @note: btstack_type 1 8573 */ 8574 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){ 8575 return event[5]; 8576 } 8577 8578 /** 8579 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 8580 * @param event packet 8581 * @return dest 8582 * @note: btstack_type 2 8583 */ 8584 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){ 8585 return little_endian_read_16(event, 3); 8586 } 8587 /** 8588 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 8589 * @param event packet 8590 * @return foundation_status 8591 * @note: btstack_type 1 8592 */ 8593 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){ 8594 return event[5]; 8595 } 8596 /** 8597 * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 8598 * @param event packet 8599 * @return num_netkey_indexes 8600 * @note: btstack_type 1 8601 */ 8602 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){ 8603 return event[6]; 8604 } 8605 /** 8606 * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 8607 * @param event packet 8608 * @return netkey_index_pos 8609 * @note: btstack_type 1 8610 */ 8611 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){ 8612 return event[7]; 8613 } 8614 /** 8615 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM 8616 * @param event packet 8617 * @return netkey_index_item 8618 * @note: btstack_type 2 8619 */ 8620 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 8621 return little_endian_read_16(event, 8); 8622 } 8623 8624 /** 8625 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 8626 * @param event packet 8627 * @return dest 8628 * @note: btstack_type 2 8629 */ 8630 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){ 8631 return little_endian_read_16(event, 3); 8632 } 8633 /** 8634 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 8635 * @param event packet 8636 * @return foundation_status 8637 * @note: btstack_type 1 8638 */ 8639 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){ 8640 return event[5]; 8641 } 8642 /** 8643 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 8644 * @param event packet 8645 * @return netkey_index_item 8646 * @note: btstack_type 2 8647 */ 8648 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){ 8649 return little_endian_read_16(event, 6); 8650 } 8651 /** 8652 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX 8653 * @param event packet 8654 * @return appkey_index_item 8655 * @note: btstack_type 2 8656 */ 8657 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){ 8658 return little_endian_read_16(event, 8); 8659 } 8660 8661 /** 8662 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8663 * @param event packet 8664 * @return dest 8665 * @note: btstack_type 2 8666 */ 8667 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){ 8668 return little_endian_read_16(event, 3); 8669 } 8670 /** 8671 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8672 * @param event packet 8673 * @return foundation_status 8674 * @note: btstack_type 1 8675 */ 8676 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){ 8677 return event[5]; 8678 } 8679 /** 8680 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8681 * @param event packet 8682 * @return netkey_index 8683 * @note: btstack_type 2 8684 */ 8685 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){ 8686 return little_endian_read_16(event, 6); 8687 } 8688 /** 8689 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8690 * @param event packet 8691 * @return num_appkey_indexes 8692 * @note: btstack_type 1 8693 */ 8694 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){ 8695 return event[8]; 8696 } 8697 /** 8698 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8699 * @param event packet 8700 * @return appkey_index_pos 8701 * @note: btstack_type 1 8702 */ 8703 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){ 8704 return event[9]; 8705 } 8706 /** 8707 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8708 * @param event packet 8709 * @return netkey_index_item 8710 * @note: btstack_type 2 8711 */ 8712 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){ 8713 return little_endian_read_16(event, 10); 8714 } 8715 /** 8716 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM 8717 * @param event packet 8718 * @return appkey_index_item 8719 * @note: btstack_type 2 8720 */ 8721 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){ 8722 return little_endian_read_16(event, 12); 8723 } 8724 8725 /** 8726 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 8727 * @param event packet 8728 * @return dest 8729 * @note: btstack_type 2 8730 */ 8731 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){ 8732 return little_endian_read_16(event, 3); 8733 } 8734 /** 8735 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 8736 * @param event packet 8737 * @return foundation_status 8738 * @note: btstack_type 1 8739 */ 8740 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){ 8741 return event[5]; 8742 } 8743 /** 8744 * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 8745 * @param event packet 8746 * @return netkey_index_item 8747 * @note: btstack_type 2 8748 */ 8749 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){ 8750 return little_endian_read_16(event, 6); 8751 } 8752 /** 8753 * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY 8754 * @param event packet 8755 * @return identity_status 8756 * @note: btstack_type 1 8757 */ 8758 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){ 8759 return event[8]; 8760 } 8761 8762 /** 8763 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 8764 * @param event packet 8765 * @return dest 8766 * @note: btstack_type 2 8767 */ 8768 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){ 8769 return little_endian_read_16(event, 3); 8770 } 8771 /** 8772 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 8773 * @param event packet 8774 * @return foundation_status 8775 * @note: btstack_type 1 8776 */ 8777 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){ 8778 return event[5]; 8779 } 8780 /** 8781 * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 8782 * @param event packet 8783 * @return appkey_index 8784 * @note: btstack_type 2 8785 */ 8786 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){ 8787 return little_endian_read_16(event, 6); 8788 } 8789 /** 8790 * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP 8791 * @param event packet 8792 * @return model_identifier 8793 * @note: btstack_type 4 8794 */ 8795 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){ 8796 return little_endian_read_32(event, 8); 8797 } 8798 8799 /** 8800 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 8801 * @param event packet 8802 * @return dest 8803 * @note: btstack_type 2 8804 */ 8805 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){ 8806 return little_endian_read_16(event, 3); 8807 } 8808 /** 8809 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 8810 * @param event packet 8811 * @return foundation_status 8812 * @note: btstack_type 1 8813 */ 8814 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){ 8815 return event[5]; 8816 } 8817 /** 8818 * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 8819 * @param event packet 8820 * @return model_id 8821 * @note: btstack_type 4 8822 */ 8823 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){ 8824 return little_endian_read_32(event, 6); 8825 } 8826 /** 8827 * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 8828 * @param event packet 8829 * @return num_appkey_indexes 8830 * @note: btstack_type 1 8831 */ 8832 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){ 8833 return event[10]; 8834 } 8835 /** 8836 * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 8837 * @param event packet 8838 * @return appkey_index_pos 8839 * @note: btstack_type 1 8840 */ 8841 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){ 8842 return event[11]; 8843 } 8844 /** 8845 * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM 8846 * @param event packet 8847 * @return appkey_index_item 8848 * @note: btstack_type 2 8849 */ 8850 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){ 8851 return little_endian_read_16(event, 12); 8852 } 8853 8854 /** 8855 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 8856 * @param event packet 8857 * @return dest 8858 * @note: btstack_type 2 8859 */ 8860 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){ 8861 return little_endian_read_16(event, 3); 8862 } 8863 /** 8864 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET 8865 * @param event packet 8866 * @return foundation_status 8867 * @note: btstack_type 1 8868 */ 8869 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){ 8870 return event[5]; 8871 } 8872 8873 /** 8874 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND 8875 * @param event packet 8876 * @return dest 8877 * @note: btstack_type 2 8878 */ 8879 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){ 8880 return little_endian_read_16(event, 3); 8881 } 8882 /** 8883 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND 8884 * @param event packet 8885 * @return foundation_status 8886 * @note: btstack_type 1 8887 */ 8888 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){ 8889 return event[5]; 8890 } 8891 /** 8892 * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND 8893 * @param event packet 8894 * @return friend_state 8895 * @note: btstack_type 1 8896 */ 8897 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){ 8898 return event[6]; 8899 } 8900 8901 /** 8902 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 8903 * @param event packet 8904 * @return dest 8905 * @note: btstack_type 2 8906 */ 8907 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){ 8908 return little_endian_read_16(event, 3); 8909 } 8910 /** 8911 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 8912 * @param event packet 8913 * @return foundation_status 8914 * @note: btstack_type 1 8915 */ 8916 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){ 8917 return event[5]; 8918 } 8919 /** 8920 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 8921 * @param event packet 8922 * @return netkey_index 8923 * @note: btstack_type 2 8924 */ 8925 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){ 8926 return little_endian_read_16(event, 6); 8927 } 8928 /** 8929 * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE 8930 * @param event packet 8931 * @return phase 8932 * @note: btstack_type 1 8933 */ 8934 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){ 8935 return event[8]; 8936 } 8937 8938 /** 8939 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8940 * @param event packet 8941 * @return dest 8942 * @note: btstack_type 2 8943 */ 8944 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){ 8945 return little_endian_read_16(event, 3); 8946 } 8947 /** 8948 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8949 * @param event packet 8950 * @return foundation_status 8951 * @note: btstack_type 1 8952 */ 8953 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){ 8954 return event[5]; 8955 } 8956 /** 8957 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8958 * @param event packet 8959 * @return heartbeat_destination 8960 * @note: btstack_type 2 8961 */ 8962 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){ 8963 return little_endian_read_16(event, 6); 8964 } 8965 /** 8966 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8967 * @param event packet 8968 * @return count_S 8969 * @note: btstack_type 2 8970 */ 8971 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){ 8972 return little_endian_read_16(event, 8); 8973 } 8974 /** 8975 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8976 * @param event packet 8977 * @return period_S 8978 * @note: btstack_type 2 8979 */ 8980 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){ 8981 return little_endian_read_16(event, 10); 8982 } 8983 /** 8984 * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8985 * @param event packet 8986 * @return ttl 8987 * @note: btstack_type 1 8988 */ 8989 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){ 8990 return event[12]; 8991 } 8992 /** 8993 * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 8994 * @param event packet 8995 * @return features 8996 * @note: btstack_type 2 8997 */ 8998 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){ 8999 return little_endian_read_16(event, 13); 9000 } 9001 /** 9002 * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION 9003 * @param event packet 9004 * @return netkey_index 9005 * @note: btstack_type 2 9006 */ 9007 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){ 9008 return little_endian_read_16(event, 15); 9009 } 9010 9011 /** 9012 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 9013 * @param event packet 9014 * @return dest 9015 * @note: btstack_type 2 9016 */ 9017 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){ 9018 return little_endian_read_16(event, 3); 9019 } 9020 /** 9021 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 9022 * @param event packet 9023 * @return foundation_status 9024 * @note: btstack_type 1 9025 */ 9026 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){ 9027 return event[5]; 9028 } 9029 /** 9030 * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 9031 * @param event packet 9032 * @return heartbeat_destination 9033 * @note: btstack_type 2 9034 */ 9035 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){ 9036 return little_endian_read_16(event, 6); 9037 } 9038 /** 9039 * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 9040 * @param event packet 9041 * @return heartbeat_source 9042 * @note: btstack_type 2 9043 */ 9044 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){ 9045 return little_endian_read_16(event, 8); 9046 } 9047 /** 9048 * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 9049 * @param event packet 9050 * @return count_S 9051 * @note: btstack_type 2 9052 */ 9053 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){ 9054 return little_endian_read_16(event, 10); 9055 } 9056 /** 9057 * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 9058 * @param event packet 9059 * @return period_S 9060 * @note: btstack_type 2 9061 */ 9062 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){ 9063 return little_endian_read_16(event, 12); 9064 } 9065 /** 9066 * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 9067 * @param event packet 9068 * @return min_hops 9069 * @note: btstack_type 1 9070 */ 9071 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){ 9072 return event[14]; 9073 } 9074 /** 9075 * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION 9076 * @param event packet 9077 * @return max_hops 9078 * @note: btstack_type 1 9079 */ 9080 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){ 9081 return event[15]; 9082 } 9083 9084 /** 9085 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 9086 * @param event packet 9087 * @return dest 9088 * @note: btstack_type 2 9089 */ 9090 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){ 9091 return little_endian_read_16(event, 3); 9092 } 9093 /** 9094 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 9095 * @param event packet 9096 * @return foundation_status 9097 * @note: btstack_type 1 9098 */ 9099 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){ 9100 return event[5]; 9101 } 9102 /** 9103 * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 9104 * @param event packet 9105 * @return lpn_address 9106 * @note: btstack_type 2 9107 */ 9108 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){ 9109 return little_endian_read_16(event, 6); 9110 } 9111 /** 9112 * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT 9113 * @param event packet 9114 * @return poll_timeout 9115 * @note: btstack_type 3 9116 */ 9117 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){ 9118 return little_endian_read_24(event, 8); 9119 } 9120 9121 /** 9122 * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 9123 * @param event packet 9124 * @return dest 9125 * @note: btstack_type 2 9126 */ 9127 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){ 9128 return little_endian_read_16(event, 3); 9129 } 9130 /** 9131 * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 9132 * @param event packet 9133 * @return foundation_status 9134 * @note: btstack_type 1 9135 */ 9136 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){ 9137 return event[5]; 9138 } 9139 /** 9140 * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 9141 * @param event packet 9142 * @return transmit_count 9143 * @note: btstack_type 1 9144 */ 9145 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){ 9146 return event[6]; 9147 } 9148 /** 9149 * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT 9150 * @param event packet 9151 * @return transmit_interval_steps_ms 9152 * @note: btstack_type 2 9153 */ 9154 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){ 9155 return little_endian_read_16(event, 7); 9156 } 9157 9158 9159 9160 /* API_END */ 9161 9162 #if defined __cplusplus 9163 } 9164 #endif 9165 9166 #endif // BTSTACK_EVENT_H 9167