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