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