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