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