1 /* 2 * Copyright (C) 2016 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. Neither the name of the copyright holders nor the names of 14 * contributors may be used to endorse or promote products derived 15 * from this software without specific prior written permission. 16 * 4. Any redistribution, use, or modification is done solely for 17 * personal benefit and not for any commercial purpose or for 18 * monetary gain. 19 * 20 * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS 21 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS 24 * RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 27 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 30 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * Please inquire about commercial licensing options at 34 * [email protected] 35 * 36 */ 37 38 39 /* 40 * btstack_event.h 41 * 42 * @brief BTstack event getter/setter 43 * @note Don't edit - generated by tool/btstack_event_generator.py 44 * 45 */ 46 47 #ifndef BTSTACK_EVENT_H 48 #define BTSTACK_EVENT_H 49 50 #if defined __cplusplus 51 extern "C" { 52 #endif 53 54 #include "btstack_util.h" 55 #include <stdint.h> 56 57 #ifdef ENABLE_BLE 58 #include "ble/gatt_client.h" 59 #endif 60 61 /* API_START */ 62 63 /** 64 * @brief Get event type 65 * @param event 66 * @return type of event 67 */ 68 static inline uint8_t hci_event_packet_get_type(const uint8_t * event){ 69 return event[0]; 70 } 71 72 /*** 73 * @brief Get subevent code for a2dp event 74 * @param event packet 75 * @return subevent_code 76 */ 77 static inline uint8_t hci_event_a2dp_meta_get_subevent_code(const uint8_t * event){ 78 return event[2]; 79 } 80 /*** 81 * @brief Get subevent code for ancs event 82 * @param event packet 83 * @return subevent_code 84 */ 85 static inline uint8_t hci_event_ancs_meta_get_subevent_code(const uint8_t * event){ 86 return event[2]; 87 } 88 /*** 89 * @brief Get subevent code for avdtp event 90 * @param event packet 91 * @return subevent_code 92 */ 93 static inline uint8_t hci_event_avdtp_meta_get_subevent_code(const uint8_t * event){ 94 return event[2]; 95 } 96 /*** 97 * @brief Get subevent code for avrcp event 98 * @param event packet 99 * @return subevent_code 100 */ 101 static inline uint8_t hci_event_avrcp_meta_get_subevent_code(const uint8_t * event){ 102 return event[2]; 103 } 104 /*** 105 * @brief Get subevent code for gattservice event 106 * @param event packet 107 * @return subevent_code 108 */ 109 static inline uint8_t hci_event_gattservice_meta_get_subevent_code(const uint8_t * event){ 110 return event[2]; 111 } 112 /*** 113 * @brief Get subevent code for goep event 114 * @param event packet 115 * @return subevent_code 116 */ 117 static inline uint8_t hci_event_goep_meta_get_subevent_code(const uint8_t * event){ 118 return event[2]; 119 } 120 /*** 121 * @brief Get subevent code for hfp event 122 * @param event packet 123 * @return subevent_code 124 */ 125 static inline uint8_t hci_event_hfp_meta_get_subevent_code(const uint8_t * event){ 126 return event[2]; 127 } 128 /*** 129 * @brief Get subevent code for hid event 130 * @param event packet 131 * @return subevent_code 132 */ 133 static inline uint8_t hci_event_hid_meta_get_subevent_code(const uint8_t * event){ 134 return event[2]; 135 } 136 /*** 137 * @brief Get subevent code for hids event 138 * @param event packet 139 * @return subevent_code 140 */ 141 static inline uint8_t hci_event_hids_meta_get_subevent_code(const uint8_t * event){ 142 return event[2]; 143 } 144 /*** 145 * @brief Get subevent code for hsp event 146 * @param event packet 147 * @return subevent_code 148 */ 149 static inline uint8_t hci_event_hsp_meta_get_subevent_code(const uint8_t * event){ 150 return event[2]; 151 } 152 /*** 153 * @brief Get subevent code for le event 154 * @param event packet 155 * @return subevent_code 156 */ 157 static inline uint8_t hci_event_le_meta_get_subevent_code(const uint8_t * event){ 158 return event[2]; 159 } 160 /*** 161 * @brief Get subevent code for map event 162 * @param event packet 163 * @return subevent_code 164 */ 165 static inline uint8_t hci_event_map_meta_get_subevent_code(const uint8_t * event){ 166 return event[2]; 167 } 168 /*** 169 * @brief Get subevent code for pbap event 170 * @param event packet 171 * @return subevent_code 172 */ 173 static inline uint8_t hci_event_pbap_meta_get_subevent_code(const uint8_t * event){ 174 return event[2]; 175 } 176 /** 177 * @brief Get field status from event HCI_EVENT_INQUIRY_COMPLETE 178 * @param event packet 179 * @return status 180 * @note: btstack_type 1 181 */ 182 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){ 183 return event[2]; 184 } 185 186 /** 187 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT 188 * @param event packet 189 * @return num_responses 190 * @note: btstack_type 1 191 */ 192 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){ 193 return event[2]; 194 } 195 /** 196 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT 197 * @param event packet 198 * @param Pointer to storage for bd_addr 199 * @note: btstack_type B 200 */ 201 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 202 reverse_bd_addr(&event[3], bd_addr); 203 } 204 /** 205 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT 206 * @param event packet 207 * @return page_scan_repetition_mode 208 * @note: btstack_type 1 209 */ 210 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 211 return event[9]; 212 } 213 /** 214 * @brief Get field reserved1 from event HCI_EVENT_INQUIRY_RESULT 215 * @param event packet 216 * @return reserved1 217 * @note: btstack_type 1 218 */ 219 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){ 220 return event[10]; 221 } 222 /** 223 * @brief Get field reserved2 from event HCI_EVENT_INQUIRY_RESULT 224 * @param event packet 225 * @return reserved2 226 * @note: btstack_type 1 227 */ 228 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){ 229 return event[11]; 230 } 231 /** 232 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT 233 * @param event packet 234 * @return class_of_device 235 * @note: btstack_type 3 236 */ 237 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){ 238 return little_endian_read_24(event, 12); 239 } 240 /** 241 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT 242 * @param event packet 243 * @return clock_offset 244 * @note: btstack_type 2 245 */ 246 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){ 247 return little_endian_read_16(event, 15); 248 } 249 250 /** 251 * @brief Get field status from event HCI_EVENT_CONNECTION_COMPLETE 252 * @param event packet 253 * @return status 254 * @note: btstack_type 1 255 */ 256 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){ 257 return event[2]; 258 } 259 /** 260 * @brief Get field connection_handle from event HCI_EVENT_CONNECTION_COMPLETE 261 * @param event packet 262 * @return connection_handle 263 * @note: btstack_type 2 264 */ 265 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){ 266 return little_endian_read_16(event, 3); 267 } 268 /** 269 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_COMPLETE 270 * @param event packet 271 * @param Pointer to storage for bd_addr 272 * @note: btstack_type B 273 */ 274 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 275 reverse_bd_addr(&event[5], bd_addr); 276 } 277 /** 278 * @brief Get field link_type from event HCI_EVENT_CONNECTION_COMPLETE 279 * @param event packet 280 * @return link_type 281 * @note: btstack_type 1 282 */ 283 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){ 284 return event[11]; 285 } 286 /** 287 * @brief Get field encryption_enabled from event HCI_EVENT_CONNECTION_COMPLETE 288 * @param event packet 289 * @return encryption_enabled 290 * @note: btstack_type 1 291 */ 292 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){ 293 return event[12]; 294 } 295 296 /** 297 * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_REQUEST 298 * @param event packet 299 * @param Pointer to storage for bd_addr 300 * @note: btstack_type B 301 */ 302 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 303 reverse_bd_addr(&event[2], bd_addr); 304 } 305 /** 306 * @brief Get field class_of_device from event HCI_EVENT_CONNECTION_REQUEST 307 * @param event packet 308 * @return class_of_device 309 * @note: btstack_type 3 310 */ 311 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){ 312 return little_endian_read_24(event, 8); 313 } 314 /** 315 * @brief Get field link_type from event HCI_EVENT_CONNECTION_REQUEST 316 * @param event packet 317 * @return link_type 318 * @note: btstack_type 1 319 */ 320 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){ 321 return event[11]; 322 } 323 324 /** 325 * @brief Get field status from event HCI_EVENT_DISCONNECTION_COMPLETE 326 * @param event packet 327 * @return status 328 * @note: btstack_type 1 329 */ 330 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){ 331 return event[2]; 332 } 333 /** 334 * @brief Get field connection_handle from event HCI_EVENT_DISCONNECTION_COMPLETE 335 * @param event packet 336 * @return connection_handle 337 * @note: btstack_type 2 338 */ 339 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){ 340 return little_endian_read_16(event, 3); 341 } 342 /** 343 * @brief Get field reason from event HCI_EVENT_DISCONNECTION_COMPLETE 344 * @param event packet 345 * @return reason 346 * @note: btstack_type 1 347 */ 348 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){ 349 return event[5]; 350 } 351 352 /** 353 * @brief Get field status from event HCI_EVENT_AUTHENTICATION_COMPLETE 354 * @param event packet 355 * @return status 356 * @note: btstack_type 1 357 */ 358 static inline uint8_t hci_event_authentication_complete_get_status(const uint8_t * event){ 359 return event[2]; 360 } 361 /** 362 * @brief Get field connection_handle from event HCI_EVENT_AUTHENTICATION_COMPLETE 363 * @param event packet 364 * @return connection_handle 365 * @note: btstack_type 2 366 */ 367 static inline uint16_t hci_event_authentication_complete_get_connection_handle(const uint8_t * event){ 368 return little_endian_read_16(event, 3); 369 } 370 371 /** 372 * @brief Get field status from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 373 * @param event packet 374 * @return status 375 * @note: btstack_type 1 376 */ 377 static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){ 378 return event[2]; 379 } 380 /** 381 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 382 * @param event packet 383 * @param Pointer to storage for bd_addr 384 * @note: btstack_type B 385 */ 386 static inline void hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 387 reverse_bd_addr(&event[3], bd_addr); 388 } 389 /** 390 * @brief Get field remote_name from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE 391 * @param event packet 392 * @return remote_name 393 * @note: btstack_type N 394 */ 395 static inline const char * hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){ 396 return (const char *) &event[9]; 397 } 398 399 /** 400 * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE 401 * @param event packet 402 * @return status 403 * @note: btstack_type 1 404 */ 405 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){ 406 return event[2]; 407 } 408 /** 409 * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE 410 * @param event packet 411 * @return connection_handle 412 * @note: btstack_type 2 413 */ 414 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){ 415 return little_endian_read_16(event, 3); 416 } 417 /** 418 * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE 419 * @param event packet 420 * @return encryption_enabled 421 * @note: btstack_type 1 422 */ 423 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){ 424 return event[5]; 425 } 426 427 /** 428 * @brief Get field status from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 429 * @param event packet 430 * @return status 431 * @note: btstack_type 1 432 */ 433 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){ 434 return event[2]; 435 } 436 /** 437 * @brief Get field connection_handle from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE 438 * @param event packet 439 * @return connection_handle 440 * @note: btstack_type 2 441 */ 442 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){ 443 return little_endian_read_16(event, 3); 444 } 445 446 /** 447 * @brief Get field status from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 448 * @param event packet 449 * @return status 450 * @note: btstack_type 1 451 */ 452 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){ 453 return event[2]; 454 } 455 /** 456 * @brief Get field connection_handle from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 457 * @param event packet 458 * @return connection_handle 459 * @note: btstack_type 2 460 */ 461 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){ 462 return little_endian_read_16(event, 3); 463 } 464 /** 465 * @brief Get field key_flag from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE 466 * @param event packet 467 * @return key_flag 468 * @note: btstack_type 1 469 */ 470 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){ 471 return event[5]; 472 } 473 474 /** 475 * @brief Get field status from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 476 * @param event packet 477 * @return status 478 * @note: btstack_type 1 479 */ 480 static inline uint8_t hci_event_read_remote_version_information_complete_get_status(const uint8_t * event){ 481 return event[2]; 482 } 483 /** 484 * @brief Get field connection_handle from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 485 * @param event packet 486 * @return connection_handle 487 * @note: btstack_type 2 488 */ 489 static inline uint16_t hci_event_read_remote_version_information_complete_get_connection_handle(const uint8_t * event){ 490 return little_endian_read_16(event, 3); 491 } 492 /** 493 * @brief Get field version from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 494 * @param event packet 495 * @return version 496 * @note: btstack_type 1 497 */ 498 static inline uint8_t hci_event_read_remote_version_information_complete_get_version(const uint8_t * event){ 499 return event[5]; 500 } 501 /** 502 * @brief Get field manufacturer_name from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 503 * @param event packet 504 * @return manufacturer_name 505 * @note: btstack_type 2 506 */ 507 static inline uint16_t hci_event_read_remote_version_information_complete_get_manufacturer_name(const uint8_t * event){ 508 return little_endian_read_16(event, 6); 509 } 510 /** 511 * @brief Get field subversion from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 512 * @param event packet 513 * @return subversion 514 * @note: btstack_type 2 515 */ 516 static inline uint16_t hci_event_read_remote_version_information_complete_get_subversion(const uint8_t * event){ 517 return little_endian_read_16(event, 8); 518 } 519 520 /** 521 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_COMPLETE 522 * @param event packet 523 * @return num_hci_command_packets 524 * @note: btstack_type 1 525 */ 526 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){ 527 return event[2]; 528 } 529 /** 530 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_COMPLETE 531 * @param event packet 532 * @return command_opcode 533 * @note: btstack_type 2 534 */ 535 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){ 536 return little_endian_read_16(event, 3); 537 } 538 /** 539 * @brief Get field return_parameters from event HCI_EVENT_COMMAND_COMPLETE 540 * @param event packet 541 * @return return_parameters 542 * @note: btstack_type R 543 */ 544 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){ 545 return &event[5]; 546 } 547 548 /** 549 * @brief Get field status from event HCI_EVENT_COMMAND_STATUS 550 * @param event packet 551 * @return status 552 * @note: btstack_type 1 553 */ 554 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){ 555 return event[2]; 556 } 557 /** 558 * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_STATUS 559 * @param event packet 560 * @return num_hci_command_packets 561 * @note: btstack_type 1 562 */ 563 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){ 564 return event[3]; 565 } 566 /** 567 * @brief Get field command_opcode from event HCI_EVENT_COMMAND_STATUS 568 * @param event packet 569 * @return command_opcode 570 * @note: btstack_type 2 571 */ 572 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){ 573 return little_endian_read_16(event, 4); 574 } 575 576 /** 577 * @brief Get field hardware_code from event HCI_EVENT_HARDWARE_ERROR 578 * @param event packet 579 * @return hardware_code 580 * @note: btstack_type 1 581 */ 582 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){ 583 return event[2]; 584 } 585 586 /** 587 * @brief Get field status from event HCI_EVENT_ROLE_CHANGE 588 * @param event packet 589 * @return status 590 * @note: btstack_type 1 591 */ 592 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){ 593 return event[2]; 594 } 595 /** 596 * @brief Get field bd_addr from event HCI_EVENT_ROLE_CHANGE 597 * @param event packet 598 * @param Pointer to storage for bd_addr 599 * @note: btstack_type B 600 */ 601 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 602 reverse_bd_addr(&event[3], bd_addr); 603 } 604 /** 605 * @brief Get field role from event HCI_EVENT_ROLE_CHANGE 606 * @param event packet 607 * @return role 608 * @note: btstack_type 1 609 */ 610 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){ 611 return event[9]; 612 } 613 614 /** 615 * @brief Get field status from event HCI_EVENT_MODE_CHANGE 616 * @param event packet 617 * @return status 618 * @note: btstack_type 1 619 */ 620 static inline uint8_t hci_event_mode_change_get_status(const uint8_t * event){ 621 return event[2]; 622 } 623 /** 624 * @brief Get field handle from event HCI_EVENT_MODE_CHANGE 625 * @param event packet 626 * @return handle 627 * @note: btstack_type H 628 */ 629 static inline hci_con_handle_t hci_event_mode_change_get_handle(const uint8_t * event){ 630 return little_endian_read_16(event, 3); 631 } 632 /** 633 * @brief Get field mode from event HCI_EVENT_MODE_CHANGE 634 * @param event packet 635 * @return mode 636 * @note: btstack_type 1 637 */ 638 static inline uint8_t hci_event_mode_change_get_mode(const uint8_t * event){ 639 return event[5]; 640 } 641 /** 642 * @brief Get field interval from event HCI_EVENT_MODE_CHANGE 643 * @param event packet 644 * @return interval 645 * @note: btstack_type 2 646 */ 647 static inline uint16_t hci_event_mode_change_get_interval(const uint8_t * event){ 648 return little_endian_read_16(event, 6); 649 } 650 651 /** 652 * @brief Get field bd_addr from event HCI_EVENT_PIN_CODE_REQUEST 653 * @param event packet 654 * @param Pointer to storage for bd_addr 655 * @note: btstack_type B 656 */ 657 static inline void hci_event_pin_code_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 658 reverse_bd_addr(&event[2], bd_addr); 659 } 660 661 /** 662 * @brief Get field bd_addr from event HCI_EVENT_LINK_KEY_REQUEST 663 * @param event packet 664 * @param Pointer to storage for bd_addr 665 * @note: btstack_type B 666 */ 667 static inline void hci_event_link_key_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 668 reverse_bd_addr(&event[2], bd_addr); 669 } 670 671 /** 672 * @brief Get field link_type from event HCI_EVENT_DATA_BUFFER_OVERFLOW 673 * @param event packet 674 * @return link_type 675 * @note: btstack_type 1 676 */ 677 static inline uint8_t hci_event_data_buffer_overflow_get_link_type(const uint8_t * event){ 678 return event[2]; 679 } 680 681 /** 682 * @brief Get field handle from event HCI_EVENT_MAX_SLOTS_CHANGED 683 * @param event packet 684 * @return handle 685 * @note: btstack_type H 686 */ 687 static inline hci_con_handle_t hci_event_max_slots_changed_get_handle(const uint8_t * event){ 688 return little_endian_read_16(event, 2); 689 } 690 /** 691 * @brief Get field lmp_max_slots from event HCI_EVENT_MAX_SLOTS_CHANGED 692 * @param event packet 693 * @return lmp_max_slots 694 * @note: btstack_type 1 695 */ 696 static inline uint8_t hci_event_max_slots_changed_get_lmp_max_slots(const uint8_t * event){ 697 return event[4]; 698 } 699 700 /** 701 * @brief Get field status from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 702 * @param event packet 703 * @return status 704 * @note: btstack_type 1 705 */ 706 static inline uint8_t hci_event_read_clock_offset_complete_get_status(const uint8_t * event){ 707 return event[2]; 708 } 709 /** 710 * @brief Get field handle from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 711 * @param event packet 712 * @return handle 713 * @note: btstack_type H 714 */ 715 static inline hci_con_handle_t hci_event_read_clock_offset_complete_get_handle(const uint8_t * event){ 716 return little_endian_read_16(event, 3); 717 } 718 /** 719 * @brief Get field clock_offset from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE 720 * @param event packet 721 * @return clock_offset 722 * @note: btstack_type 2 723 */ 724 static inline uint16_t hci_event_read_clock_offset_complete_get_clock_offset(const uint8_t * event){ 725 return little_endian_read_16(event, 5); 726 } 727 728 /** 729 * @brief Get field status from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 730 * @param event packet 731 * @return status 732 * @note: btstack_type 1 733 */ 734 static inline uint8_t hci_event_connection_packet_type_changed_get_status(const uint8_t * event){ 735 return event[2]; 736 } 737 /** 738 * @brief Get field handle from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 739 * @param event packet 740 * @return handle 741 * @note: btstack_type H 742 */ 743 static inline hci_con_handle_t hci_event_connection_packet_type_changed_get_handle(const uint8_t * event){ 744 return little_endian_read_16(event, 3); 745 } 746 /** 747 * @brief Get field packet_types from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED 748 * @param event packet 749 * @return packet_types 750 * @note: btstack_type 2 751 */ 752 static inline uint16_t hci_event_connection_packet_type_changed_get_packet_types(const uint8_t * event){ 753 return little_endian_read_16(event, 5); 754 } 755 756 /** 757 * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 758 * @param event packet 759 * @return num_responses 760 * @note: btstack_type 1 761 */ 762 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){ 763 return event[2]; 764 } 765 /** 766 * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 767 * @param event packet 768 * @param Pointer to storage for bd_addr 769 * @note: btstack_type B 770 */ 771 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 772 reverse_bd_addr(&event[3], bd_addr); 773 } 774 /** 775 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 776 * @param event packet 777 * @return page_scan_repetition_mode 778 * @note: btstack_type 1 779 */ 780 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){ 781 return event[9]; 782 } 783 /** 784 * @brief Get field reserved from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 785 * @param event packet 786 * @return reserved 787 * @note: btstack_type 1 788 */ 789 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){ 790 return event[10]; 791 } 792 /** 793 * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 794 * @param event packet 795 * @return class_of_device 796 * @note: btstack_type 3 797 */ 798 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){ 799 return little_endian_read_24(event, 11); 800 } 801 /** 802 * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 803 * @param event packet 804 * @return clock_offset 805 * @note: btstack_type 2 806 */ 807 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){ 808 return little_endian_read_16(event, 14); 809 } 810 /** 811 * @brief Get field rssi from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI 812 * @param event packet 813 * @return rssi 814 * @note: btstack_type 1 815 */ 816 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){ 817 return event[16]; 818 } 819 820 /** 821 * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 822 * @param event packet 823 * @return status 824 * @note: btstack_type 1 825 */ 826 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){ 827 return event[2]; 828 } 829 /** 830 * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 831 * @param event packet 832 * @return handle 833 * @note: btstack_type H 834 */ 835 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){ 836 return little_endian_read_16(event, 3); 837 } 838 /** 839 * @brief Get field bd_addr from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 840 * @param event packet 841 * @param Pointer to storage for bd_addr 842 * @note: btstack_type B 843 */ 844 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 845 reverse_bd_addr(&event[5], bd_addr); 846 } 847 /** 848 * @brief Get field link_type from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 849 * @param event packet 850 * @return link_type 851 * @note: btstack_type 1 852 */ 853 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){ 854 return event[11]; 855 } 856 /** 857 * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 858 * @param event packet 859 * @return transmission_interval 860 * @note: btstack_type 1 861 */ 862 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){ 863 return event[12]; 864 } 865 /** 866 * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 867 * @param event packet 868 * @return retransmission_interval 869 * @note: btstack_type 1 870 */ 871 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){ 872 return event[13]; 873 } 874 /** 875 * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 876 * @param event packet 877 * @return rx_packet_length 878 * @note: btstack_type 2 879 */ 880 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){ 881 return little_endian_read_16(event, 14); 882 } 883 /** 884 * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 885 * @param event packet 886 * @return tx_packet_length 887 * @note: btstack_type 2 888 */ 889 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){ 890 return little_endian_read_16(event, 16); 891 } 892 /** 893 * @brief Get field air_mode from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE 894 * @param event packet 895 * @return air_mode 896 * @note: btstack_type 1 897 */ 898 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){ 899 return event[18]; 900 } 901 902 /** 903 * @brief Get field num_responses from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 904 * @param event packet 905 * @return num_responses 906 * @note: btstack_type 1 907 */ 908 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){ 909 return event[2]; 910 } 911 /** 912 * @brief Get field bd_addr from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 913 * @param event packet 914 * @param Pointer to storage for bd_addr 915 * @note: btstack_type B 916 */ 917 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 918 reverse_bd_addr(&event[3], bd_addr); 919 } 920 /** 921 * @brief Get field page_scan_repetition_mode from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 922 * @param event packet 923 * @return page_scan_repetition_mode 924 * @note: btstack_type 1 925 */ 926 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){ 927 return event[9]; 928 } 929 /** 930 * @brief Get field reserved from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 931 * @param event packet 932 * @return reserved 933 * @note: btstack_type 1 934 */ 935 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){ 936 return event[10]; 937 } 938 /** 939 * @brief Get field class_of_device from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 940 * @param event packet 941 * @return class_of_device 942 * @note: btstack_type 3 943 */ 944 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){ 945 return little_endian_read_24(event, 11); 946 } 947 /** 948 * @brief Get field clock_offset from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 949 * @param event packet 950 * @return clock_offset 951 * @note: btstack_type 2 952 */ 953 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){ 954 return little_endian_read_16(event, 14); 955 } 956 /** 957 * @brief Get field rssi from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE 958 * @param event packet 959 * @return rssi 960 * @note: btstack_type 1 961 */ 962 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){ 963 return event[16]; 964 } 965 966 /** 967 * @brief Get field status from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 968 * @param event packet 969 * @return status 970 * @note: btstack_type 1 971 */ 972 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){ 973 return event[2]; 974 } 975 /** 976 * @brief Get field handle from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE 977 * @param event packet 978 * @return handle 979 * @note: btstack_type H 980 */ 981 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){ 982 return little_endian_read_16(event, 3); 983 } 984 985 /** 986 * @brief Get field bd_addr from event HCI_EVENT_USER_CONFIRMATION_REQUEST 987 * @param event packet 988 * @param Pointer to storage for bd_addr 989 * @note: btstack_type B 990 */ 991 static inline void hci_event_user_confirmation_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 992 reverse_bd_addr(&event[2], bd_addr); 993 } 994 /** 995 * @brief Get field numeric_value from event HCI_EVENT_USER_CONFIRMATION_REQUEST 996 * @param event packet 997 * @return numeric_value 998 * @note: btstack_type 4 999 */ 1000 static inline uint32_t hci_event_user_confirmation_request_get_numeric_value(const uint8_t * event){ 1001 return little_endian_read_32(event, 8); 1002 } 1003 1004 /** 1005 * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_REQUEST 1006 * @param event packet 1007 * @param Pointer to storage for bd_addr 1008 * @note: btstack_type B 1009 */ 1010 static inline void hci_event_user_passkey_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1011 reverse_bd_addr(&event[2], bd_addr); 1012 } 1013 1014 /** 1015 * @brief Get field bd_addr from event HCI_EVENT_REMOTE_OOB_DATA_REQUEST 1016 * @param event packet 1017 * @param Pointer to storage for bd_addr 1018 * @note: btstack_type B 1019 */ 1020 static inline void hci_event_remote_oob_data_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1021 reverse_bd_addr(&event[2], bd_addr); 1022 } 1023 1024 /** 1025 * @brief Get field status from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1026 * @param event packet 1027 * @return status 1028 * @note: btstack_type 1 1029 */ 1030 static inline uint8_t hci_event_simple_pairing_complete_get_status(const uint8_t * event){ 1031 return event[2]; 1032 } 1033 /** 1034 * @brief Get field bd_addr from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE 1035 * @param event packet 1036 * @param Pointer to storage for bd_addr 1037 * @note: btstack_type B 1038 */ 1039 static inline void hci_event_simple_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1040 reverse_bd_addr(&event[3], bd_addr); 1041 } 1042 1043 /** 1044 * @brief Get field state from event BTSTACK_EVENT_STATE 1045 * @param event packet 1046 * @return state 1047 * @note: btstack_type 1 1048 */ 1049 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){ 1050 return event[2]; 1051 } 1052 1053 /** 1054 * @brief Get field number_connections from event BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 1055 * @param event packet 1056 * @return number_connections 1057 * @note: btstack_type 1 1058 */ 1059 static inline uint8_t btstack_event_nr_connections_changed_get_number_connections(const uint8_t * event){ 1060 return event[2]; 1061 } 1062 1063 1064 /** 1065 * @brief Get field discoverable from event BTSTACK_EVENT_DISCOVERABLE_ENABLED 1066 * @param event packet 1067 * @return discoverable 1068 * @note: btstack_type 1 1069 */ 1070 static inline uint8_t btstack_event_discoverable_enabled_get_discoverable(const uint8_t * event){ 1071 return event[2]; 1072 } 1073 1074 /** 1075 * @brief Get field active from event HCI_EVENT_TRANSPORT_SLEEP_MODE 1076 * @param event packet 1077 * @return active 1078 * @note: btstack_type 1 1079 */ 1080 static inline uint8_t hci_event_transport_sleep_mode_get_active(const uint8_t * event){ 1081 return event[2]; 1082 } 1083 1084 /** 1085 * @brief Get field handle from event HCI_EVENT_SCO_CAN_SEND_NOW 1086 * @param event packet 1087 * @param Pointer to storage for handle 1088 * @note: btstack_type B 1089 */ 1090 static inline void hci_event_sco_can_send_now_get_handle(const uint8_t * event, bd_addr_t handle){ 1091 reverse_bd_addr(&event[2], handle); 1092 } 1093 1094 /** 1095 * @brief Get field status from event L2CAP_EVENT_CHANNEL_OPENED 1096 * @param event packet 1097 * @return status 1098 * @note: btstack_type 1 1099 */ 1100 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){ 1101 return event[2]; 1102 } 1103 /** 1104 * @brief Get field address from event L2CAP_EVENT_CHANNEL_OPENED 1105 * @param event packet 1106 * @param Pointer to storage for address 1107 * @note: btstack_type B 1108 */ 1109 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1110 reverse_bd_addr(&event[3], address); 1111 } 1112 /** 1113 * @brief Get field handle from event L2CAP_EVENT_CHANNEL_OPENED 1114 * @param event packet 1115 * @return handle 1116 * @note: btstack_type H 1117 */ 1118 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){ 1119 return little_endian_read_16(event, 9); 1120 } 1121 /** 1122 * @brief Get field psm from event L2CAP_EVENT_CHANNEL_OPENED 1123 * @param event packet 1124 * @return psm 1125 * @note: btstack_type 2 1126 */ 1127 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){ 1128 return little_endian_read_16(event, 11); 1129 } 1130 /** 1131 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_OPENED 1132 * @param event packet 1133 * @return local_cid 1134 * @note: btstack_type 2 1135 */ 1136 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){ 1137 return little_endian_read_16(event, 13); 1138 } 1139 /** 1140 * @brief Get field remote_cid from event L2CAP_EVENT_CHANNEL_OPENED 1141 * @param event packet 1142 * @return remote_cid 1143 * @note: btstack_type 2 1144 */ 1145 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){ 1146 return little_endian_read_16(event, 15); 1147 } 1148 /** 1149 * @brief Get field local_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1150 * @param event packet 1151 * @return local_mtu 1152 * @note: btstack_type 2 1153 */ 1154 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){ 1155 return little_endian_read_16(event, 17); 1156 } 1157 /** 1158 * @brief Get field remote_mtu from event L2CAP_EVENT_CHANNEL_OPENED 1159 * @param event packet 1160 * @return remote_mtu 1161 * @note: btstack_type 2 1162 */ 1163 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){ 1164 return little_endian_read_16(event, 19); 1165 } 1166 /** 1167 * @brief Get field flush_timeout from event L2CAP_EVENT_CHANNEL_OPENED 1168 * @param event packet 1169 * @return flush_timeout 1170 * @note: btstack_type 2 1171 */ 1172 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){ 1173 return little_endian_read_16(event, 21); 1174 } 1175 /** 1176 * @brief Get field incoming from event L2CAP_EVENT_CHANNEL_OPENED 1177 * @param event packet 1178 * @return incoming 1179 * @note: btstack_type 1 1180 */ 1181 static inline uint8_t l2cap_event_channel_opened_get_incoming(const uint8_t * event){ 1182 return event[23]; 1183 } 1184 /** 1185 * @brief Get field mode from event L2CAP_EVENT_CHANNEL_OPENED 1186 * @param event packet 1187 * @return mode 1188 * @note: btstack_type 1 1189 */ 1190 static inline uint8_t l2cap_event_channel_opened_get_mode(const uint8_t * event){ 1191 return event[24]; 1192 } 1193 /** 1194 * @brief Get field fcs from event L2CAP_EVENT_CHANNEL_OPENED 1195 * @param event packet 1196 * @return fcs 1197 * @note: btstack_type 1 1198 */ 1199 static inline uint8_t l2cap_event_channel_opened_get_fcs(const uint8_t * event){ 1200 return event[25]; 1201 } 1202 1203 /** 1204 * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_CLOSED 1205 * @param event packet 1206 * @return local_cid 1207 * @note: btstack_type 2 1208 */ 1209 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){ 1210 return little_endian_read_16(event, 2); 1211 } 1212 1213 /** 1214 * @brief Get field address from event L2CAP_EVENT_INCOMING_CONNECTION 1215 * @param event packet 1216 * @param Pointer to storage for address 1217 * @note: btstack_type B 1218 */ 1219 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1220 reverse_bd_addr(&event[2], address); 1221 } 1222 /** 1223 * @brief Get field handle from event L2CAP_EVENT_INCOMING_CONNECTION 1224 * @param event packet 1225 * @return handle 1226 * @note: btstack_type H 1227 */ 1228 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){ 1229 return little_endian_read_16(event, 8); 1230 } 1231 /** 1232 * @brief Get field psm from event L2CAP_EVENT_INCOMING_CONNECTION 1233 * @param event packet 1234 * @return psm 1235 * @note: btstack_type 2 1236 */ 1237 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){ 1238 return little_endian_read_16(event, 10); 1239 } 1240 /** 1241 * @brief Get field local_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1242 * @param event packet 1243 * @return local_cid 1244 * @note: btstack_type 2 1245 */ 1246 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){ 1247 return little_endian_read_16(event, 12); 1248 } 1249 /** 1250 * @brief Get field remote_cid from event L2CAP_EVENT_INCOMING_CONNECTION 1251 * @param event packet 1252 * @return remote_cid 1253 * @note: btstack_type 2 1254 */ 1255 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){ 1256 return little_endian_read_16(event, 14); 1257 } 1258 1259 /** 1260 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1261 * @param event packet 1262 * @return handle 1263 * @note: btstack_type H 1264 */ 1265 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){ 1266 return little_endian_read_16(event, 2); 1267 } 1268 /** 1269 * @brief Get field interval_min from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1270 * @param event packet 1271 * @return interval_min 1272 * @note: btstack_type 2 1273 */ 1274 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){ 1275 return little_endian_read_16(event, 4); 1276 } 1277 /** 1278 * @brief Get field interval_max from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1279 * @param event packet 1280 * @return interval_max 1281 * @note: btstack_type 2 1282 */ 1283 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){ 1284 return little_endian_read_16(event, 6); 1285 } 1286 /** 1287 * @brief Get field latencey from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1288 * @param event packet 1289 * @return latencey 1290 * @note: btstack_type 2 1291 */ 1292 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latencey(const uint8_t * event){ 1293 return little_endian_read_16(event, 8); 1294 } 1295 /** 1296 * @brief Get field timeout_multiplier from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 1297 * @param event packet 1298 * @return timeout_multiplier 1299 * @note: btstack_type 2 1300 */ 1301 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){ 1302 return little_endian_read_16(event, 10); 1303 } 1304 1305 /** 1306 * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1307 * @param event packet 1308 * @return handle 1309 * @note: btstack_type H 1310 */ 1311 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){ 1312 return little_endian_read_16(event, 2); 1313 } 1314 /** 1315 * @brief Get field result from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 1316 * @param event packet 1317 * @return result 1318 * @note: btstack_type 2 1319 */ 1320 static inline uint16_t l2cap_event_connection_parameter_update_response_get_result(const uint8_t * event){ 1321 return little_endian_read_16(event, 4); 1322 } 1323 1324 /** 1325 * @brief Get field local_cid from event L2CAP_EVENT_CAN_SEND_NOW 1326 * @param event packet 1327 * @return local_cid 1328 * @note: btstack_type 2 1329 */ 1330 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){ 1331 return little_endian_read_16(event, 2); 1332 } 1333 1334 /** 1335 * @brief Get field address_type from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1336 * @param event packet 1337 * @return address_type 1338 * @note: btstack_type 1 1339 */ 1340 static inline uint8_t l2cap_event_le_incoming_connection_get_address_type(const uint8_t * event){ 1341 return event[2]; 1342 } 1343 /** 1344 * @brief Get field address from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1345 * @param event packet 1346 * @param Pointer to storage for address 1347 * @note: btstack_type B 1348 */ 1349 static inline void l2cap_event_le_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){ 1350 reverse_bd_addr(&event[3], address); 1351 } 1352 /** 1353 * @brief Get field handle from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1354 * @param event packet 1355 * @return handle 1356 * @note: btstack_type H 1357 */ 1358 static inline hci_con_handle_t l2cap_event_le_incoming_connection_get_handle(const uint8_t * event){ 1359 return little_endian_read_16(event, 9); 1360 } 1361 /** 1362 * @brief Get field psm from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1363 * @param event packet 1364 * @return psm 1365 * @note: btstack_type 2 1366 */ 1367 static inline uint16_t l2cap_event_le_incoming_connection_get_psm(const uint8_t * event){ 1368 return little_endian_read_16(event, 11); 1369 } 1370 /** 1371 * @brief Get field local_cid from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1372 * @param event packet 1373 * @return local_cid 1374 * @note: btstack_type 2 1375 */ 1376 static inline uint16_t l2cap_event_le_incoming_connection_get_local_cid(const uint8_t * event){ 1377 return little_endian_read_16(event, 13); 1378 } 1379 /** 1380 * @brief Get field remote_cid from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1381 * @param event packet 1382 * @return remote_cid 1383 * @note: btstack_type 2 1384 */ 1385 static inline uint16_t l2cap_event_le_incoming_connection_get_remote_cid(const uint8_t * event){ 1386 return little_endian_read_16(event, 15); 1387 } 1388 /** 1389 * @brief Get field remote_mtu from event L2CAP_EVENT_LE_INCOMING_CONNECTION 1390 * @param event packet 1391 * @return remote_mtu 1392 * @note: btstack_type 2 1393 */ 1394 static inline uint16_t l2cap_event_le_incoming_connection_get_remote_mtu(const uint8_t * event){ 1395 return little_endian_read_16(event, 17); 1396 } 1397 1398 /** 1399 * @brief Get field status from event L2CAP_EVENT_LE_CHANNEL_OPENED 1400 * @param event packet 1401 * @return status 1402 * @note: btstack_type 1 1403 */ 1404 static inline uint8_t l2cap_event_le_channel_opened_get_status(const uint8_t * event){ 1405 return event[2]; 1406 } 1407 /** 1408 * @brief Get field address_type from event L2CAP_EVENT_LE_CHANNEL_OPENED 1409 * @param event packet 1410 * @return address_type 1411 * @note: btstack_type 1 1412 */ 1413 static inline uint8_t l2cap_event_le_channel_opened_get_address_type(const uint8_t * event){ 1414 return event[3]; 1415 } 1416 /** 1417 * @brief Get field address from event L2CAP_EVENT_LE_CHANNEL_OPENED 1418 * @param event packet 1419 * @param Pointer to storage for address 1420 * @note: btstack_type B 1421 */ 1422 static inline void l2cap_event_le_channel_opened_get_address(const uint8_t * event, bd_addr_t address){ 1423 reverse_bd_addr(&event[4], address); 1424 } 1425 /** 1426 * @brief Get field handle from event L2CAP_EVENT_LE_CHANNEL_OPENED 1427 * @param event packet 1428 * @return handle 1429 * @note: btstack_type H 1430 */ 1431 static inline hci_con_handle_t l2cap_event_le_channel_opened_get_handle(const uint8_t * event){ 1432 return little_endian_read_16(event, 10); 1433 } 1434 /** 1435 * @brief Get field incoming from event L2CAP_EVENT_LE_CHANNEL_OPENED 1436 * @param event packet 1437 * @return incoming 1438 * @note: btstack_type 1 1439 */ 1440 static inline uint8_t l2cap_event_le_channel_opened_get_incoming(const uint8_t * event){ 1441 return event[12]; 1442 } 1443 /** 1444 * @brief Get field psm from event L2CAP_EVENT_LE_CHANNEL_OPENED 1445 * @param event packet 1446 * @return psm 1447 * @note: btstack_type 2 1448 */ 1449 static inline uint16_t l2cap_event_le_channel_opened_get_psm(const uint8_t * event){ 1450 return little_endian_read_16(event, 13); 1451 } 1452 /** 1453 * @brief Get field local_cid from event L2CAP_EVENT_LE_CHANNEL_OPENED 1454 * @param event packet 1455 * @return local_cid 1456 * @note: btstack_type 2 1457 */ 1458 static inline uint16_t l2cap_event_le_channel_opened_get_local_cid(const uint8_t * event){ 1459 return little_endian_read_16(event, 15); 1460 } 1461 /** 1462 * @brief Get field remote_cid from event L2CAP_EVENT_LE_CHANNEL_OPENED 1463 * @param event packet 1464 * @return remote_cid 1465 * @note: btstack_type 2 1466 */ 1467 static inline uint16_t l2cap_event_le_channel_opened_get_remote_cid(const uint8_t * event){ 1468 return little_endian_read_16(event, 17); 1469 } 1470 /** 1471 * @brief Get field local_mtu from event L2CAP_EVENT_LE_CHANNEL_OPENED 1472 * @param event packet 1473 * @return local_mtu 1474 * @note: btstack_type 2 1475 */ 1476 static inline uint16_t l2cap_event_le_channel_opened_get_local_mtu(const uint8_t * event){ 1477 return little_endian_read_16(event, 19); 1478 } 1479 /** 1480 * @brief Get field remote_mtu from event L2CAP_EVENT_LE_CHANNEL_OPENED 1481 * @param event packet 1482 * @return remote_mtu 1483 * @note: btstack_type 2 1484 */ 1485 static inline uint16_t l2cap_event_le_channel_opened_get_remote_mtu(const uint8_t * event){ 1486 return little_endian_read_16(event, 21); 1487 } 1488 1489 /** 1490 * @brief Get field local_cid from event L2CAP_EVENT_LE_CHANNEL_CLOSED 1491 * @param event packet 1492 * @return local_cid 1493 * @note: btstack_type 2 1494 */ 1495 static inline uint16_t l2cap_event_le_channel_closed_get_local_cid(const uint8_t * event){ 1496 return little_endian_read_16(event, 2); 1497 } 1498 1499 /** 1500 * @brief Get field local_cid from event L2CAP_EVENT_LE_CAN_SEND_NOW 1501 * @param event packet 1502 * @return local_cid 1503 * @note: btstack_type 2 1504 */ 1505 static inline uint16_t l2cap_event_le_can_send_now_get_local_cid(const uint8_t * event){ 1506 return little_endian_read_16(event, 2); 1507 } 1508 1509 /** 1510 * @brief Get field local_cid from event L2CAP_EVENT_LE_PACKET_SENT 1511 * @param event packet 1512 * @return local_cid 1513 * @note: btstack_type 2 1514 */ 1515 static inline uint16_t l2cap_event_le_packet_sent_get_local_cid(const uint8_t * event){ 1516 return little_endian_read_16(event, 2); 1517 } 1518 1519 /** 1520 * @brief Get field local_cid from event L2CAP_EVENT_ERTM_BUFFER_RELEASED 1521 * @param event packet 1522 * @return local_cid 1523 * @note: btstack_type 2 1524 */ 1525 static inline uint16_t l2cap_event_ertm_buffer_released_get_local_cid(const uint8_t * event){ 1526 return little_endian_read_16(event, 2); 1527 } 1528 1529 /** 1530 * @brief Get field status from event RFCOMM_EVENT_CHANNEL_OPENED 1531 * @param event packet 1532 * @return status 1533 * @note: btstack_type 1 1534 */ 1535 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){ 1536 return event[2]; 1537 } 1538 /** 1539 * @brief Get field bd_addr from event RFCOMM_EVENT_CHANNEL_OPENED 1540 * @param event packet 1541 * @param Pointer to storage for bd_addr 1542 * @note: btstack_type B 1543 */ 1544 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1545 reverse_bd_addr(&event[3], bd_addr); 1546 } 1547 /** 1548 * @brief Get field con_handle from event RFCOMM_EVENT_CHANNEL_OPENED 1549 * @param event packet 1550 * @return con_handle 1551 * @note: btstack_type 2 1552 */ 1553 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){ 1554 return little_endian_read_16(event, 9); 1555 } 1556 /** 1557 * @brief Get field server_channel from event RFCOMM_EVENT_CHANNEL_OPENED 1558 * @param event packet 1559 * @return server_channel 1560 * @note: btstack_type 1 1561 */ 1562 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){ 1563 return event[11]; 1564 } 1565 /** 1566 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_OPENED 1567 * @param event packet 1568 * @return rfcomm_cid 1569 * @note: btstack_type 2 1570 */ 1571 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){ 1572 return little_endian_read_16(event, 12); 1573 } 1574 /** 1575 * @brief Get field max_frame_size from event RFCOMM_EVENT_CHANNEL_OPENED 1576 * @param event packet 1577 * @return max_frame_size 1578 * @note: btstack_type 2 1579 */ 1580 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){ 1581 return little_endian_read_16(event, 14); 1582 } 1583 /** 1584 * @brief Get field incoming from event RFCOMM_EVENT_CHANNEL_OPENED 1585 * @param event packet 1586 * @return incoming 1587 * @note: btstack_type 1 1588 */ 1589 static inline uint8_t rfcomm_event_channel_opened_get_incoming(const uint8_t * event){ 1590 return event[16]; 1591 } 1592 1593 /** 1594 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_CLOSED 1595 * @param event packet 1596 * @return rfcomm_cid 1597 * @note: btstack_type 2 1598 */ 1599 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){ 1600 return little_endian_read_16(event, 2); 1601 } 1602 1603 /** 1604 * @brief Get field bd_addr from event RFCOMM_EVENT_INCOMING_CONNECTION 1605 * @param event packet 1606 * @param Pointer to storage for bd_addr 1607 * @note: btstack_type B 1608 */ 1609 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 1610 reverse_bd_addr(&event[2], bd_addr); 1611 } 1612 /** 1613 * @brief Get field server_channel from event RFCOMM_EVENT_INCOMING_CONNECTION 1614 * @param event packet 1615 * @return server_channel 1616 * @note: btstack_type 1 1617 */ 1618 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){ 1619 return event[8]; 1620 } 1621 /** 1622 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_INCOMING_CONNECTION 1623 * @param event packet 1624 * @return rfcomm_cid 1625 * @note: btstack_type 2 1626 */ 1627 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){ 1628 return little_endian_read_16(event, 9); 1629 } 1630 1631 /** 1632 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_LINE_STATUS 1633 * @param event packet 1634 * @return rfcomm_cid 1635 * @note: btstack_type 2 1636 */ 1637 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){ 1638 return little_endian_read_16(event, 2); 1639 } 1640 /** 1641 * @brief Get field line_status from event RFCOMM_EVENT_REMOTE_LINE_STATUS 1642 * @param event packet 1643 * @return line_status 1644 * @note: btstack_type 1 1645 */ 1646 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){ 1647 return event[4]; 1648 } 1649 1650 /** 1651 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 1652 * @param event packet 1653 * @return rfcomm_cid 1654 * @note: btstack_type 2 1655 */ 1656 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){ 1657 return little_endian_read_16(event, 2); 1658 } 1659 /** 1660 * @brief Get field modem_status from event RFCOMM_EVENT_REMOTE_MODEM_STATUS 1661 * @param event packet 1662 * @return modem_status 1663 * @note: btstack_type 1 1664 */ 1665 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){ 1666 return event[4]; 1667 } 1668 1669 /** 1670 * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CAN_SEND_NOW 1671 * @param event packet 1672 * @return rfcomm_cid 1673 * @note: btstack_type 2 1674 */ 1675 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){ 1676 return little_endian_read_16(event, 2); 1677 } 1678 1679 /** 1680 * @brief Get field status from event SDP_EVENT_QUERY_COMPLETE 1681 * @param event packet 1682 * @return status 1683 * @note: btstack_type 1 1684 */ 1685 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){ 1686 return event[2]; 1687 } 1688 1689 /** 1690 * @brief Get field rfcomm_channel from event SDP_EVENT_QUERY_RFCOMM_SERVICE 1691 * @param event packet 1692 * @return rfcomm_channel 1693 * @note: btstack_type 1 1694 */ 1695 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){ 1696 return event[2]; 1697 } 1698 /** 1699 * @brief Get field name from event SDP_EVENT_QUERY_RFCOMM_SERVICE 1700 * @param event packet 1701 * @return name 1702 * @note: btstack_type T 1703 */ 1704 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){ 1705 return (const char *) &event[3]; 1706 } 1707 1708 /** 1709 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1710 * @param event packet 1711 * @return record_id 1712 * @note: btstack_type 2 1713 */ 1714 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){ 1715 return little_endian_read_16(event, 2); 1716 } 1717 /** 1718 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1719 * @param event packet 1720 * @return attribute_id 1721 * @note: btstack_type 2 1722 */ 1723 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){ 1724 return little_endian_read_16(event, 4); 1725 } 1726 /** 1727 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1728 * @param event packet 1729 * @return attribute_length 1730 * @note: btstack_type 2 1731 */ 1732 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){ 1733 return little_endian_read_16(event, 6); 1734 } 1735 /** 1736 * @brief Get field data_offset from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1737 * @param event packet 1738 * @return data_offset 1739 * @note: btstack_type 2 1740 */ 1741 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){ 1742 return little_endian_read_16(event, 8); 1743 } 1744 /** 1745 * @brief Get field data from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE 1746 * @param event packet 1747 * @return data 1748 * @note: btstack_type 1 1749 */ 1750 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){ 1751 return event[10]; 1752 } 1753 1754 /** 1755 * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1756 * @param event packet 1757 * @return record_id 1758 * @note: btstack_type 2 1759 */ 1760 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){ 1761 return little_endian_read_16(event, 2); 1762 } 1763 /** 1764 * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1765 * @param event packet 1766 * @return attribute_id 1767 * @note: btstack_type 2 1768 */ 1769 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){ 1770 return little_endian_read_16(event, 4); 1771 } 1772 /** 1773 * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1774 * @param event packet 1775 * @return attribute_length 1776 * @note: btstack_type L 1777 */ 1778 static inline uint16_t sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){ 1779 return little_endian_read_16(event, 6); 1780 } 1781 /** 1782 * @brief Get field attribute_value from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE 1783 * @param event packet 1784 * @return attribute_value 1785 * @note: btstack_type V 1786 */ 1787 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){ 1788 return &event[8]; 1789 } 1790 1791 /** 1792 * @brief Get field total_count from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 1793 * @param event packet 1794 * @return total_count 1795 * @note: btstack_type 2 1796 */ 1797 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){ 1798 return little_endian_read_16(event, 2); 1799 } 1800 /** 1801 * @brief Get field record_index from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 1802 * @param event packet 1803 * @return record_index 1804 * @note: btstack_type 2 1805 */ 1806 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){ 1807 return little_endian_read_16(event, 4); 1808 } 1809 /** 1810 * @brief Get field record_handle from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 1811 * @param event packet 1812 * @return record_handle 1813 * @note: btstack_type 4 1814 */ 1815 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){ 1816 return little_endian_read_32(event, 6); 1817 } 1818 1819 #ifdef ENABLE_BLE 1820 /** 1821 * @brief Get field handle from event GATT_EVENT_QUERY_COMPLETE 1822 * @param event packet 1823 * @return handle 1824 * @note: btstack_type H 1825 */ 1826 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){ 1827 return little_endian_read_16(event, 2); 1828 } 1829 /** 1830 * @brief Get field status from event GATT_EVENT_QUERY_COMPLETE 1831 * @param event packet 1832 * @return status 1833 * @note: btstack_type 1 1834 */ 1835 static inline uint8_t gatt_event_query_complete_get_status(const uint8_t * event){ 1836 return event[4]; 1837 } 1838 #endif 1839 1840 #ifdef ENABLE_BLE 1841 /** 1842 * @brief Get field handle from event GATT_EVENT_SERVICE_QUERY_RESULT 1843 * @param event packet 1844 * @return handle 1845 * @note: btstack_type H 1846 */ 1847 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){ 1848 return little_endian_read_16(event, 2); 1849 } 1850 /** 1851 * @brief Get field service from event GATT_EVENT_SERVICE_QUERY_RESULT 1852 * @param event packet 1853 * @param Pointer to storage for service 1854 * @note: btstack_type X 1855 */ 1856 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 1857 gatt_client_deserialize_service(event, 4, service); 1858 } 1859 #endif 1860 1861 #ifdef ENABLE_BLE 1862 /** 1863 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 1864 * @param event packet 1865 * @return handle 1866 * @note: btstack_type H 1867 */ 1868 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){ 1869 return little_endian_read_16(event, 2); 1870 } 1871 /** 1872 * @brief Get field characteristic from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 1873 * @param event packet 1874 * @param Pointer to storage for characteristic 1875 * @note: btstack_type Y 1876 */ 1877 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){ 1878 gatt_client_deserialize_characteristic(event, 4, characteristic); 1879 } 1880 #endif 1881 1882 #ifdef ENABLE_BLE 1883 /** 1884 * @brief Get field handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 1885 * @param event packet 1886 * @return handle 1887 * @note: btstack_type H 1888 */ 1889 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){ 1890 return little_endian_read_16(event, 2); 1891 } 1892 /** 1893 * @brief Get field include_handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 1894 * @param event packet 1895 * @return include_handle 1896 * @note: btstack_type 2 1897 */ 1898 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){ 1899 return little_endian_read_16(event, 4); 1900 } 1901 /** 1902 * @brief Get field service from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 1903 * @param event packet 1904 * @param Pointer to storage for service 1905 * @note: btstack_type X 1906 */ 1907 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){ 1908 gatt_client_deserialize_service(event, 6, service); 1909 } 1910 #endif 1911 1912 #ifdef ENABLE_BLE 1913 /** 1914 * @brief Get field handle from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 1915 * @param event packet 1916 * @return handle 1917 * @note: btstack_type H 1918 */ 1919 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){ 1920 return little_endian_read_16(event, 2); 1921 } 1922 /** 1923 * @brief Get field characteristic_descriptor from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 1924 * @param event packet 1925 * @param Pointer to storage for characteristic_descriptor 1926 * @note: btstack_type Z 1927 */ 1928 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){ 1929 gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor); 1930 } 1931 #endif 1932 1933 #ifdef ENABLE_BLE 1934 /** 1935 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 1936 * @param event packet 1937 * @return handle 1938 * @note: btstack_type H 1939 */ 1940 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){ 1941 return little_endian_read_16(event, 2); 1942 } 1943 /** 1944 * @brief Get field value_handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 1945 * @param event packet 1946 * @return value_handle 1947 * @note: btstack_type 2 1948 */ 1949 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 1950 return little_endian_read_16(event, 4); 1951 } 1952 /** 1953 * @brief Get field value_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 1954 * @param event packet 1955 * @return value_length 1956 * @note: btstack_type L 1957 */ 1958 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){ 1959 return little_endian_read_16(event, 6); 1960 } 1961 /** 1962 * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 1963 * @param event packet 1964 * @return value 1965 * @note: btstack_type V 1966 */ 1967 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){ 1968 return &event[8]; 1969 } 1970 #endif 1971 1972 #ifdef ENABLE_BLE 1973 /** 1974 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 1975 * @param event packet 1976 * @return handle 1977 * @note: btstack_type H 1978 */ 1979 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){ 1980 return little_endian_read_16(event, 2); 1981 } 1982 /** 1983 * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 1984 * @param event packet 1985 * @return value_handle 1986 * @note: btstack_type 2 1987 */ 1988 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){ 1989 return little_endian_read_16(event, 4); 1990 } 1991 /** 1992 * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 1993 * @param event packet 1994 * @return value_offset 1995 * @note: btstack_type 2 1996 */ 1997 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){ 1998 return little_endian_read_16(event, 6); 1999 } 2000 /** 2001 * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2002 * @param event packet 2003 * @return value_length 2004 * @note: btstack_type L 2005 */ 2006 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){ 2007 return little_endian_read_16(event, 8); 2008 } 2009 /** 2010 * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 2011 * @param event packet 2012 * @return value 2013 * @note: btstack_type V 2014 */ 2015 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){ 2016 return &event[10]; 2017 } 2018 #endif 2019 2020 #ifdef ENABLE_BLE 2021 /** 2022 * @brief Get field handle from event GATT_EVENT_NOTIFICATION 2023 * @param event packet 2024 * @return handle 2025 * @note: btstack_type H 2026 */ 2027 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){ 2028 return little_endian_read_16(event, 2); 2029 } 2030 /** 2031 * @brief Get field value_handle from event GATT_EVENT_NOTIFICATION 2032 * @param event packet 2033 * @return value_handle 2034 * @note: btstack_type 2 2035 */ 2036 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){ 2037 return little_endian_read_16(event, 4); 2038 } 2039 /** 2040 * @brief Get field value_length from event GATT_EVENT_NOTIFICATION 2041 * @param event packet 2042 * @return value_length 2043 * @note: btstack_type L 2044 */ 2045 static inline uint16_t gatt_event_notification_get_value_length(const uint8_t * event){ 2046 return little_endian_read_16(event, 6); 2047 } 2048 /** 2049 * @brief Get field value from event GATT_EVENT_NOTIFICATION 2050 * @param event packet 2051 * @return value 2052 * @note: btstack_type V 2053 */ 2054 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){ 2055 return &event[8]; 2056 } 2057 #endif 2058 2059 #ifdef ENABLE_BLE 2060 /** 2061 * @brief Get field handle from event GATT_EVENT_INDICATION 2062 * @param event packet 2063 * @return handle 2064 * @note: btstack_type H 2065 */ 2066 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){ 2067 return little_endian_read_16(event, 2); 2068 } 2069 /** 2070 * @brief Get field value_handle from event GATT_EVENT_INDICATION 2071 * @param event packet 2072 * @return value_handle 2073 * @note: btstack_type 2 2074 */ 2075 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){ 2076 return little_endian_read_16(event, 4); 2077 } 2078 /** 2079 * @brief Get field value_length from event GATT_EVENT_INDICATION 2080 * @param event packet 2081 * @return value_length 2082 * @note: btstack_type L 2083 */ 2084 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){ 2085 return little_endian_read_16(event, 6); 2086 } 2087 /** 2088 * @brief Get field value from event GATT_EVENT_INDICATION 2089 * @param event packet 2090 * @return value 2091 * @note: btstack_type V 2092 */ 2093 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){ 2094 return &event[8]; 2095 } 2096 #endif 2097 2098 #ifdef ENABLE_BLE 2099 /** 2100 * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2101 * @param event packet 2102 * @return handle 2103 * @note: btstack_type H 2104 */ 2105 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2106 return little_endian_read_16(event, 2); 2107 } 2108 /** 2109 * @brief Get field descriptor_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2110 * @param event packet 2111 * @return descriptor_handle 2112 * @note: btstack_type 2 2113 */ 2114 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){ 2115 return little_endian_read_16(event, 4); 2116 } 2117 /** 2118 * @brief Get field descriptor_length from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2119 * @param event packet 2120 * @return descriptor_length 2121 * @note: btstack_type L 2122 */ 2123 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 2124 return little_endian_read_16(event, 6); 2125 } 2126 /** 2127 * @brief Get field descriptor from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2128 * @param event packet 2129 * @return descriptor 2130 * @note: btstack_type V 2131 */ 2132 static inline const uint8_t * gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 2133 return &event[8]; 2134 } 2135 #endif 2136 2137 #ifdef ENABLE_BLE 2138 /** 2139 * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2140 * @param event packet 2141 * @return handle 2142 * @note: btstack_type H 2143 */ 2144 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){ 2145 return little_endian_read_16(event, 2); 2146 } 2147 /** 2148 * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2149 * @param event packet 2150 * @return descriptor_offset 2151 * @note: btstack_type 2 2152 */ 2153 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){ 2154 return little_endian_read_16(event, 4); 2155 } 2156 /** 2157 * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2158 * @param event packet 2159 * @return descriptor_length 2160 * @note: btstack_type L 2161 */ 2162 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){ 2163 return little_endian_read_16(event, 6); 2164 } 2165 /** 2166 * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 2167 * @param event packet 2168 * @return descriptor 2169 * @note: btstack_type V 2170 */ 2171 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){ 2172 return &event[8]; 2173 } 2174 #endif 2175 2176 #ifdef ENABLE_BLE 2177 /** 2178 * @brief Get field handle from event GATT_EVENT_MTU 2179 * @param event packet 2180 * @return handle 2181 * @note: btstack_type H 2182 */ 2183 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){ 2184 return little_endian_read_16(event, 2); 2185 } 2186 /** 2187 * @brief Get field MTU from event GATT_EVENT_MTU 2188 * @param event packet 2189 * @return MTU 2190 * @note: btstack_type 2 2191 */ 2192 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){ 2193 return little_endian_read_16(event, 4); 2194 } 2195 #endif 2196 2197 #ifdef ENABLE_BLE 2198 /** 2199 * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE 2200 * @param event packet 2201 * @return handle 2202 * @note: btstack_type H 2203 */ 2204 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){ 2205 return little_endian_read_16(event, 2); 2206 } 2207 #endif 2208 2209 /** 2210 * @brief Get field address_type from event ATT_EVENT_CONNECTED 2211 * @param event packet 2212 * @return address_type 2213 * @note: btstack_type 1 2214 */ 2215 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){ 2216 return event[2]; 2217 } 2218 /** 2219 * @brief Get field address from event ATT_EVENT_CONNECTED 2220 * @param event packet 2221 * @param Pointer to storage for address 2222 * @note: btstack_type B 2223 */ 2224 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){ 2225 reverse_bd_addr(&event[3], address); 2226 } 2227 /** 2228 * @brief Get field handle from event ATT_EVENT_CONNECTED 2229 * @param event packet 2230 * @return handle 2231 * @note: btstack_type H 2232 */ 2233 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){ 2234 return little_endian_read_16(event, 9); 2235 } 2236 /** 2237 * @brief Get field l2cap_cid from event ATT_EVENT_CONNECTED 2238 * @param event packet 2239 * @return l2cap_cid 2240 * @note: btstack_type 2 2241 */ 2242 static inline uint16_t att_event_connected_get_l2cap_cid(const uint8_t * event){ 2243 return little_endian_read_16(event, 11); 2244 } 2245 2246 /** 2247 * @brief Get field handle from event ATT_EVENT_DISCONNECTED 2248 * @param event packet 2249 * @return handle 2250 * @note: btstack_type H 2251 */ 2252 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){ 2253 return little_endian_read_16(event, 2); 2254 } 2255 2256 /** 2257 * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 2258 * @param event packet 2259 * @return handle 2260 * @note: btstack_type H 2261 */ 2262 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){ 2263 return little_endian_read_16(event, 2); 2264 } 2265 /** 2266 * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE 2267 * @param event packet 2268 * @return MTU 2269 * @note: btstack_type 2 2270 */ 2271 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){ 2272 return little_endian_read_16(event, 4); 2273 } 2274 2275 /** 2276 * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2277 * @param event packet 2278 * @return status 2279 * @note: btstack_type 1 2280 */ 2281 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){ 2282 return event[2]; 2283 } 2284 /** 2285 * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2286 * @param event packet 2287 * @return conn_handle 2288 * @note: btstack_type H 2289 */ 2290 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){ 2291 return little_endian_read_16(event, 3); 2292 } 2293 /** 2294 * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 2295 * @param event packet 2296 * @return attribute_handle 2297 * @note: btstack_type 2 2298 */ 2299 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){ 2300 return little_endian_read_16(event, 5); 2301 } 2302 2303 2304 /** 2305 * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED 2306 * @param event packet 2307 * @return status 2308 * @note: btstack_type 1 2309 */ 2310 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){ 2311 return event[2]; 2312 } 2313 /** 2314 * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED 2315 * @param event packet 2316 * @return service_uuid 2317 * @note: btstack_type 2 2318 */ 2319 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){ 2320 return little_endian_read_16(event, 3); 2321 } 2322 2323 /** 2324 * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED 2325 * @param event packet 2326 * @return status 2327 * @note: btstack_type 1 2328 */ 2329 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){ 2330 return event[2]; 2331 } 2332 /** 2333 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED 2334 * @param event packet 2335 * @return bnep_cid 2336 * @note: btstack_type 2 2337 */ 2338 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){ 2339 return little_endian_read_16(event, 3); 2340 } 2341 /** 2342 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED 2343 * @param event packet 2344 * @return source_uuid 2345 * @note: btstack_type 2 2346 */ 2347 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){ 2348 return little_endian_read_16(event, 5); 2349 } 2350 /** 2351 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED 2352 * @param event packet 2353 * @return destination_uuid 2354 * @note: btstack_type 2 2355 */ 2356 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){ 2357 return little_endian_read_16(event, 7); 2358 } 2359 /** 2360 * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED 2361 * @param event packet 2362 * @return mtu 2363 * @note: btstack_type 2 2364 */ 2365 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){ 2366 return little_endian_read_16(event, 9); 2367 } 2368 /** 2369 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED 2370 * @param event packet 2371 * @param Pointer to storage for remote_address 2372 * @note: btstack_type B 2373 */ 2374 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2375 reverse_bd_addr(&event[11], remote_address); 2376 } 2377 /** 2378 * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED 2379 * @param event packet 2380 * @return con_handle 2381 * @note: btstack_type H 2382 */ 2383 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){ 2384 return little_endian_read_16(event, 17); 2385 } 2386 2387 /** 2388 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED 2389 * @param event packet 2390 * @return bnep_cid 2391 * @note: btstack_type 2 2392 */ 2393 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){ 2394 return little_endian_read_16(event, 2); 2395 } 2396 /** 2397 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED 2398 * @param event packet 2399 * @return source_uuid 2400 * @note: btstack_type 2 2401 */ 2402 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){ 2403 return little_endian_read_16(event, 4); 2404 } 2405 /** 2406 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED 2407 * @param event packet 2408 * @return destination_uuid 2409 * @note: btstack_type 2 2410 */ 2411 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){ 2412 return little_endian_read_16(event, 6); 2413 } 2414 /** 2415 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED 2416 * @param event packet 2417 * @param Pointer to storage for remote_address 2418 * @note: btstack_type B 2419 */ 2420 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2421 reverse_bd_addr(&event[8], remote_address); 2422 } 2423 2424 /** 2425 * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT 2426 * @param event packet 2427 * @return bnep_cid 2428 * @note: btstack_type 2 2429 */ 2430 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){ 2431 return little_endian_read_16(event, 2); 2432 } 2433 /** 2434 * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 2435 * @param event packet 2436 * @return source_uuid 2437 * @note: btstack_type 2 2438 */ 2439 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){ 2440 return little_endian_read_16(event, 4); 2441 } 2442 /** 2443 * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT 2444 * @param event packet 2445 * @return destination_uuid 2446 * @note: btstack_type 2 2447 */ 2448 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){ 2449 return little_endian_read_16(event, 6); 2450 } 2451 /** 2452 * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT 2453 * @param event packet 2454 * @param Pointer to storage for remote_address 2455 * @note: btstack_type B 2456 */ 2457 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2458 reverse_bd_addr(&event[8], remote_address); 2459 } 2460 /** 2461 * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT 2462 * @param event packet 2463 * @return channel_state 2464 * @note: btstack_type 1 2465 */ 2466 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){ 2467 return event[14]; 2468 } 2469 2470 /** 2471 * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW 2472 * @param event packet 2473 * @return bnep_cid 2474 * @note: btstack_type 2 2475 */ 2476 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){ 2477 return little_endian_read_16(event, 2); 2478 } 2479 /** 2480 * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW 2481 * @param event packet 2482 * @return source_uuid 2483 * @note: btstack_type 2 2484 */ 2485 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){ 2486 return little_endian_read_16(event, 4); 2487 } 2488 /** 2489 * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW 2490 * @param event packet 2491 * @return destination_uuid 2492 * @note: btstack_type 2 2493 */ 2494 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){ 2495 return little_endian_read_16(event, 6); 2496 } 2497 /** 2498 * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW 2499 * @param event packet 2500 * @param Pointer to storage for remote_address 2501 * @note: btstack_type B 2502 */ 2503 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){ 2504 reverse_bd_addr(&event[8], remote_address); 2505 } 2506 2507 #ifdef ENABLE_BLE 2508 /** 2509 * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST 2510 * @param event packet 2511 * @return handle 2512 * @note: btstack_type H 2513 */ 2514 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ 2515 return little_endian_read_16(event, 2); 2516 } 2517 /** 2518 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST 2519 * @param event packet 2520 * @return addr_type 2521 * @note: btstack_type 1 2522 */ 2523 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ 2524 return event[4]; 2525 } 2526 /** 2527 * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST 2528 * @param event packet 2529 * @param Pointer to storage for address 2530 * @note: btstack_type B 2531 */ 2532 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ 2533 reverse_bd_addr(&event[5], address); 2534 } 2535 #endif 2536 2537 #ifdef ENABLE_BLE 2538 /** 2539 * @brief Get field handle from event SM_EVENT_JUST_WORKS_CANCEL 2540 * @param event packet 2541 * @return handle 2542 * @note: btstack_type H 2543 */ 2544 static inline hci_con_handle_t sm_event_just_works_cancel_get_handle(const uint8_t * event){ 2545 return little_endian_read_16(event, 2); 2546 } 2547 /** 2548 * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_CANCEL 2549 * @param event packet 2550 * @return addr_type 2551 * @note: btstack_type 1 2552 */ 2553 static inline uint8_t sm_event_just_works_cancel_get_addr_type(const uint8_t * event){ 2554 return event[4]; 2555 } 2556 /** 2557 * @brief Get field address from event SM_EVENT_JUST_WORKS_CANCEL 2558 * @param event packet 2559 * @param Pointer to storage for address 2560 * @note: btstack_type B 2561 */ 2562 static inline void sm_event_just_works_cancel_get_address(const uint8_t * event, bd_addr_t address){ 2563 reverse_bd_addr(&event[5], address); 2564 } 2565 #endif 2566 2567 #ifdef ENABLE_BLE 2568 /** 2569 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2570 * @param event packet 2571 * @return handle 2572 * @note: btstack_type H 2573 */ 2574 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ 2575 return little_endian_read_16(event, 2); 2576 } 2577 /** 2578 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2579 * @param event packet 2580 * @return addr_type 2581 * @note: btstack_type 1 2582 */ 2583 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ 2584 return event[4]; 2585 } 2586 /** 2587 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2588 * @param event packet 2589 * @param Pointer to storage for address 2590 * @note: btstack_type B 2591 */ 2592 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ 2593 reverse_bd_addr(&event[5], address); 2594 } 2595 /** 2596 * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER 2597 * @param event packet 2598 * @return passkey 2599 * @note: btstack_type 4 2600 */ 2601 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ 2602 return little_endian_read_32(event, 11); 2603 } 2604 #endif 2605 2606 #ifdef ENABLE_BLE 2607 /** 2608 * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 2609 * @param event packet 2610 * @return handle 2611 * @note: btstack_type H 2612 */ 2613 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ 2614 return little_endian_read_16(event, 2); 2615 } 2616 /** 2617 * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 2618 * @param event packet 2619 * @return addr_type 2620 * @note: btstack_type 1 2621 */ 2622 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ 2623 return event[4]; 2624 } 2625 /** 2626 * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL 2627 * @param event packet 2628 * @param Pointer to storage for address 2629 * @note: btstack_type B 2630 */ 2631 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ 2632 reverse_bd_addr(&event[5], address); 2633 } 2634 #endif 2635 2636 #ifdef ENABLE_BLE 2637 /** 2638 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER 2639 * @param event packet 2640 * @return handle 2641 * @note: btstack_type H 2642 */ 2643 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ 2644 return little_endian_read_16(event, 2); 2645 } 2646 /** 2647 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER 2648 * @param event packet 2649 * @return addr_type 2650 * @note: btstack_type 1 2651 */ 2652 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ 2653 return event[4]; 2654 } 2655 /** 2656 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER 2657 * @param event packet 2658 * @param Pointer to storage for address 2659 * @note: btstack_type B 2660 */ 2661 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ 2662 reverse_bd_addr(&event[5], address); 2663 } 2664 #endif 2665 2666 #ifdef ENABLE_BLE 2667 /** 2668 * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_CANCEL 2669 * @param event packet 2670 * @return handle 2671 * @note: btstack_type H 2672 */ 2673 static inline hci_con_handle_t sm_event_passkey_input_cancel_get_handle(const uint8_t * event){ 2674 return little_endian_read_16(event, 2); 2675 } 2676 /** 2677 * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_CANCEL 2678 * @param event packet 2679 * @return addr_type 2680 * @note: btstack_type 1 2681 */ 2682 static inline uint8_t sm_event_passkey_input_cancel_get_addr_type(const uint8_t * event){ 2683 return event[4]; 2684 } 2685 /** 2686 * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_CANCEL 2687 * @param event packet 2688 * @param Pointer to storage for address 2689 * @note: btstack_type B 2690 */ 2691 static inline void sm_event_passkey_input_cancel_get_address(const uint8_t * event, bd_addr_t address){ 2692 reverse_bd_addr(&event[5], address); 2693 } 2694 #endif 2695 2696 #ifdef ENABLE_BLE 2697 /** 2698 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2699 * @param event packet 2700 * @return handle 2701 * @note: btstack_type H 2702 */ 2703 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){ 2704 return little_endian_read_16(event, 2); 2705 } 2706 /** 2707 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2708 * @param event packet 2709 * @return addr_type 2710 * @note: btstack_type 1 2711 */ 2712 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){ 2713 return event[4]; 2714 } 2715 /** 2716 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2717 * @param event packet 2718 * @param Pointer to storage for address 2719 * @note: btstack_type B 2720 */ 2721 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){ 2722 reverse_bd_addr(&event[5], address); 2723 } 2724 /** 2725 * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST 2726 * @param event packet 2727 * @return passkey 2728 * @note: btstack_type 4 2729 */ 2730 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){ 2731 return little_endian_read_32(event, 11); 2732 } 2733 #endif 2734 2735 #ifdef ENABLE_BLE 2736 /** 2737 * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_CANCEL 2738 * @param event packet 2739 * @return handle 2740 * @note: btstack_type H 2741 */ 2742 static inline hci_con_handle_t sm_event_numeric_comparison_cancel_get_handle(const uint8_t * event){ 2743 return little_endian_read_16(event, 2); 2744 } 2745 /** 2746 * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_CANCEL 2747 * @param event packet 2748 * @return addr_type 2749 * @note: btstack_type 1 2750 */ 2751 static inline uint8_t sm_event_numeric_comparison_cancel_get_addr_type(const uint8_t * event){ 2752 return event[4]; 2753 } 2754 /** 2755 * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_CANCEL 2756 * @param event packet 2757 * @param Pointer to storage for address 2758 * @note: btstack_type B 2759 */ 2760 static inline void sm_event_numeric_comparison_cancel_get_address(const uint8_t * event, bd_addr_t address){ 2761 reverse_bd_addr(&event[5], address); 2762 } 2763 #endif 2764 2765 #ifdef ENABLE_BLE 2766 /** 2767 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED 2768 * @param event packet 2769 * @return handle 2770 * @note: btstack_type H 2771 */ 2772 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ 2773 return little_endian_read_16(event, 2); 2774 } 2775 /** 2776 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED 2777 * @param event packet 2778 * @return addr_type 2779 * @note: btstack_type 1 2780 */ 2781 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ 2782 return event[4]; 2783 } 2784 /** 2785 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED 2786 * @param event packet 2787 * @param Pointer to storage for address 2788 * @note: btstack_type B 2789 */ 2790 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ 2791 reverse_bd_addr(&event[5], address); 2792 } 2793 #endif 2794 2795 #ifdef ENABLE_BLE 2796 /** 2797 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED 2798 * @param event packet 2799 * @return handle 2800 * @note: btstack_type H 2801 */ 2802 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ 2803 return little_endian_read_16(event, 2); 2804 } 2805 /** 2806 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED 2807 * @param event packet 2808 * @return addr_type 2809 * @note: btstack_type 1 2810 */ 2811 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ 2812 return event[4]; 2813 } 2814 /** 2815 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED 2816 * @param event packet 2817 * @param Pointer to storage for address 2818 * @note: btstack_type B 2819 */ 2820 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ 2821 reverse_bd_addr(&event[5], address); 2822 } 2823 #endif 2824 2825 #ifdef ENABLE_BLE 2826 /** 2827 * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2828 * @param event packet 2829 * @return handle 2830 * @note: btstack_type H 2831 */ 2832 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ 2833 return little_endian_read_16(event, 2); 2834 } 2835 /** 2836 * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2837 * @param event packet 2838 * @return addr_type 2839 * @note: btstack_type 1 2840 */ 2841 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ 2842 return event[4]; 2843 } 2844 /** 2845 * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2846 * @param event packet 2847 * @param Pointer to storage for address 2848 * @note: btstack_type B 2849 */ 2850 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ 2851 reverse_bd_addr(&event[5], address); 2852 } 2853 /** 2854 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2855 * @param event packet 2856 * @return identity_addr_type 2857 * @note: btstack_type 1 2858 */ 2859 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){ 2860 return event[11]; 2861 } 2862 /** 2863 * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2864 * @param event packet 2865 * @param Pointer to storage for identity_address 2866 * @note: btstack_type B 2867 */ 2868 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 2869 reverse_bd_addr(&event[12], identity_address); 2870 } 2871 /** 2872 * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 2873 * @param event packet 2874 * @return index 2875 * @note: btstack_type 2 2876 */ 2877 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){ 2878 return little_endian_read_16(event, 18); 2879 } 2880 #endif 2881 2882 #ifdef ENABLE_BLE 2883 /** 2884 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST 2885 * @param event packet 2886 * @return handle 2887 * @note: btstack_type H 2888 */ 2889 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){ 2890 return little_endian_read_16(event, 2); 2891 } 2892 /** 2893 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST 2894 * @param event packet 2895 * @return addr_type 2896 * @note: btstack_type 1 2897 */ 2898 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ 2899 return event[4]; 2900 } 2901 /** 2902 * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST 2903 * @param event packet 2904 * @param Pointer to storage for address 2905 * @note: btstack_type B 2906 */ 2907 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ 2908 reverse_bd_addr(&event[5], address); 2909 } 2910 #endif 2911 2912 #ifdef ENABLE_BLE 2913 /** 2914 * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT 2915 * @param event packet 2916 * @return handle 2917 * @note: btstack_type H 2918 */ 2919 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ 2920 return little_endian_read_16(event, 2); 2921 } 2922 /** 2923 * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT 2924 * @param event packet 2925 * @return addr_type 2926 * @note: btstack_type 1 2927 */ 2928 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ 2929 return event[4]; 2930 } 2931 /** 2932 * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT 2933 * @param event packet 2934 * @param Pointer to storage for address 2935 * @note: btstack_type B 2936 */ 2937 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ 2938 reverse_bd_addr(&event[5], address); 2939 } 2940 /** 2941 * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT 2942 * @param event packet 2943 * @return authorization_result 2944 * @note: btstack_type 1 2945 */ 2946 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ 2947 return event[11]; 2948 } 2949 #endif 2950 2951 #ifdef ENABLE_BLE 2952 /** 2953 * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION 2954 * @param event packet 2955 * @return handle 2956 * @note: btstack_type H 2957 */ 2958 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){ 2959 return little_endian_read_16(event, 2); 2960 } 2961 /** 2962 * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION 2963 * @param event packet 2964 * @return action 2965 * @note: btstack_type 1 2966 */ 2967 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){ 2968 return event[4]; 2969 } 2970 #endif 2971 2972 #ifdef ENABLE_BLE 2973 /** 2974 * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED 2975 * @param event packet 2976 * @return handle 2977 * @note: btstack_type H 2978 */ 2979 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){ 2980 return little_endian_read_16(event, 2); 2981 } 2982 /** 2983 * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED 2984 * @param event packet 2985 * @return addr_type 2986 * @note: btstack_type 1 2987 */ 2988 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){ 2989 return event[4]; 2990 } 2991 /** 2992 * @brief Get field address from event SM_EVENT_IDENTITY_CREATED 2993 * @param event packet 2994 * @param Pointer to storage for address 2995 * @note: btstack_type B 2996 */ 2997 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){ 2998 reverse_bd_addr(&event[5], address); 2999 } 3000 /** 3001 * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED 3002 * @param event packet 3003 * @return identity_addr_type 3004 * @note: btstack_type 1 3005 */ 3006 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){ 3007 return event[11]; 3008 } 3009 /** 3010 * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED 3011 * @param event packet 3012 * @param Pointer to storage for identity_address 3013 * @note: btstack_type B 3014 */ 3015 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){ 3016 reverse_bd_addr(&event[12], identity_address); 3017 } 3018 /** 3019 * @brief Get field index from event SM_EVENT_IDENTITY_CREATED 3020 * @param event packet 3021 * @return index 3022 * @note: btstack_type 2 3023 */ 3024 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){ 3025 return little_endian_read_16(event, 18); 3026 } 3027 #endif 3028 3029 #ifdef ENABLE_BLE 3030 /** 3031 * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE 3032 * @param event packet 3033 * @return handle 3034 * @note: btstack_type H 3035 */ 3036 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){ 3037 return little_endian_read_16(event, 2); 3038 } 3039 /** 3040 * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE 3041 * @param event packet 3042 * @return addr_type 3043 * @note: btstack_type 1 3044 */ 3045 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){ 3046 return event[4]; 3047 } 3048 /** 3049 * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE 3050 * @param event packet 3051 * @param Pointer to storage for address 3052 * @note: btstack_type B 3053 */ 3054 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){ 3055 reverse_bd_addr(&event[5], address); 3056 } 3057 /** 3058 * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE 3059 * @param event packet 3060 * @return status 3061 * @note: btstack_type 1 3062 */ 3063 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){ 3064 return event[11]; 3065 } 3066 /** 3067 * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE 3068 * @param event packet 3069 * @return reason 3070 * @note: btstack_type 1 3071 */ 3072 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){ 3073 return event[12]; 3074 } 3075 #endif 3076 3077 /** 3078 * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL 3079 * @param event packet 3080 * @return handle 3081 * @note: btstack_type H 3082 */ 3083 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){ 3084 return little_endian_read_16(event, 2); 3085 } 3086 /** 3087 * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL 3088 * @param event packet 3089 * @return security_level 3090 * @note: btstack_type 1 3091 */ 3092 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){ 3093 return event[4]; 3094 } 3095 3096 /** 3097 * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3098 * @param event packet 3099 * @return status 3100 * @note: btstack_type 1 3101 */ 3102 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){ 3103 return event[2]; 3104 } 3105 /** 3106 * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED 3107 * @param event packet 3108 * @param Pointer to storage for address 3109 * @note: btstack_type B 3110 */ 3111 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){ 3112 reverse_bd_addr(&event[3], address); 3113 } 3114 3115 /** 3116 * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT 3117 * @param event packet 3118 * @return advertising_event_type 3119 * @note: btstack_type 1 3120 */ 3121 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){ 3122 return event[2]; 3123 } 3124 /** 3125 * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT 3126 * @param event packet 3127 * @return address_type 3128 * @note: btstack_type 1 3129 */ 3130 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){ 3131 return event[3]; 3132 } 3133 /** 3134 * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT 3135 * @param event packet 3136 * @param Pointer to storage for address 3137 * @note: btstack_type B 3138 */ 3139 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){ 3140 reverse_bd_addr(&event[4], address); 3141 } 3142 /** 3143 * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT 3144 * @param event packet 3145 * @return rssi 3146 * @note: btstack_type 1 3147 */ 3148 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){ 3149 return event[10]; 3150 } 3151 /** 3152 * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT 3153 * @param event packet 3154 * @return data_length 3155 * @note: btstack_type J 3156 */ 3157 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){ 3158 return event[11]; 3159 } 3160 /** 3161 * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT 3162 * @param event packet 3163 * @return data 3164 * @note: btstack_type V 3165 */ 3166 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){ 3167 return &event[12]; 3168 } 3169 3170 /** 3171 * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT 3172 * @param event packet 3173 * @param Pointer to storage for bd_addr 3174 * @note: btstack_type B 3175 */ 3176 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 3177 reverse_bd_addr(&event[2], bd_addr); 3178 } 3179 /** 3180 * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT 3181 * @param event packet 3182 * @return page_scan_repetition_mode 3183 * @note: btstack_type 1 3184 */ 3185 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){ 3186 return event[8]; 3187 } 3188 /** 3189 * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT 3190 * @param event packet 3191 * @return class_of_device 3192 * @note: btstack_type 3 3193 */ 3194 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){ 3195 return little_endian_read_24(event, 9); 3196 } 3197 /** 3198 * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT 3199 * @param event packet 3200 * @return clock_offset 3201 * @note: btstack_type 2 3202 */ 3203 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){ 3204 return little_endian_read_16(event, 12); 3205 } 3206 /** 3207 * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT 3208 * @param event packet 3209 * @return rssi_available 3210 * @note: btstack_type 1 3211 */ 3212 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){ 3213 return event[14]; 3214 } 3215 /** 3216 * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT 3217 * @param event packet 3218 * @return rssi 3219 * @note: btstack_type 1 3220 */ 3221 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){ 3222 return event[15]; 3223 } 3224 /** 3225 * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT 3226 * @param event packet 3227 * @return name_available 3228 * @note: btstack_type 1 3229 */ 3230 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){ 3231 return event[16]; 3232 } 3233 /** 3234 * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT 3235 * @param event packet 3236 * @return name_len 3237 * @note: btstack_type J 3238 */ 3239 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){ 3240 return event[17]; 3241 } 3242 /** 3243 * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT 3244 * @param event packet 3245 * @return name 3246 * @note: btstack_type V 3247 */ 3248 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){ 3249 return &event[18]; 3250 } 3251 3252 /** 3253 * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE 3254 * @param event packet 3255 * @return status 3256 * @note: btstack_type 1 3257 */ 3258 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){ 3259 return event[2]; 3260 } 3261 3262 /** 3263 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3264 * @param event packet 3265 * @return status 3266 * @note: btstack_type 1 3267 */ 3268 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){ 3269 return event[3]; 3270 } 3271 /** 3272 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3273 * @param event packet 3274 * @return connection_handle 3275 * @note: btstack_type H 3276 */ 3277 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){ 3278 return little_endian_read_16(event, 4); 3279 } 3280 /** 3281 * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3282 * @param event packet 3283 * @return role 3284 * @note: btstack_type 1 3285 */ 3286 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){ 3287 return event[6]; 3288 } 3289 /** 3290 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3291 * @param event packet 3292 * @return peer_address_type 3293 * @note: btstack_type 1 3294 */ 3295 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){ 3296 return event[7]; 3297 } 3298 /** 3299 * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3300 * @param event packet 3301 * @param Pointer to storage for peer_address 3302 * @note: btstack_type B 3303 */ 3304 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){ 3305 reverse_bd_addr(&event[8], peer_address); 3306 } 3307 /** 3308 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3309 * @param event packet 3310 * @return conn_interval 3311 * @note: btstack_type 2 3312 */ 3313 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){ 3314 return little_endian_read_16(event, 14); 3315 } 3316 /** 3317 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3318 * @param event packet 3319 * @return conn_latency 3320 * @note: btstack_type 2 3321 */ 3322 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){ 3323 return little_endian_read_16(event, 16); 3324 } 3325 /** 3326 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3327 * @param event packet 3328 * @return supervision_timeout 3329 * @note: btstack_type 2 3330 */ 3331 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){ 3332 return little_endian_read_16(event, 18); 3333 } 3334 /** 3335 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE 3336 * @param event packet 3337 * @return master_clock_accuracy 3338 * @note: btstack_type 1 3339 */ 3340 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 3341 return event[20]; 3342 } 3343 3344 /** 3345 * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3346 * @param event packet 3347 * @return status 3348 * @note: btstack_type 1 3349 */ 3350 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){ 3351 return event[3]; 3352 } 3353 /** 3354 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3355 * @param event packet 3356 * @return connection_handle 3357 * @note: btstack_type H 3358 */ 3359 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){ 3360 return little_endian_read_16(event, 4); 3361 } 3362 /** 3363 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3364 * @param event packet 3365 * @return conn_interval 3366 * @note: btstack_type 2 3367 */ 3368 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){ 3369 return little_endian_read_16(event, 6); 3370 } 3371 /** 3372 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3373 * @param event packet 3374 * @return conn_latency 3375 * @note: btstack_type 2 3376 */ 3377 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){ 3378 return little_endian_read_16(event, 8); 3379 } 3380 /** 3381 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE 3382 * @param event packet 3383 * @return supervision_timeout 3384 * @note: btstack_type 2 3385 */ 3386 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){ 3387 return little_endian_read_16(event, 10); 3388 } 3389 3390 /** 3391 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3392 * @param event packet 3393 * @return connection_handle 3394 * @note: btstack_type H 3395 */ 3396 static inline hci_con_handle_t hci_subevent_le_read_remote_used_features_complete_get_connection_handle(const uint8_t * event){ 3397 return little_endian_read_16(event, 3); 3398 } 3399 /** 3400 * @brief Get field random_number from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3401 * @param event packet 3402 * @return random_number 3403 * @note: btstack_type D 3404 */ 3405 static inline const uint8_t * hci_subevent_le_read_remote_used_features_complete_get_random_number(const uint8_t * event){ 3406 return (const uint8_t *) &event[5]; 3407 } 3408 /** 3409 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 3410 * @param event packet 3411 * @return encryption_diversifier 3412 * @note: btstack_type 2 3413 */ 3414 static inline uint16_t hci_subevent_le_read_remote_used_features_complete_get_encryption_diversifier(const uint8_t * event){ 3415 return little_endian_read_16(event, 13); 3416 } 3417 3418 /** 3419 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3420 * @param event packet 3421 * @return connection_handle 3422 * @note: btstack_type H 3423 */ 3424 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){ 3425 return little_endian_read_16(event, 3); 3426 } 3427 /** 3428 * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3429 * @param event packet 3430 * @return random_number 3431 * @note: btstack_type D 3432 */ 3433 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){ 3434 return (const uint8_t *) &event[5]; 3435 } 3436 /** 3437 * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 3438 * @param event packet 3439 * @return encryption_diversifier 3440 * @note: btstack_type 2 3441 */ 3442 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){ 3443 return little_endian_read_16(event, 13); 3444 } 3445 3446 /** 3447 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3448 * @param event packet 3449 * @return connection_handle 3450 * @note: btstack_type H 3451 */ 3452 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){ 3453 return little_endian_read_16(event, 3); 3454 } 3455 /** 3456 * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3457 * @param event packet 3458 * @return interval_min 3459 * @note: btstack_type 2 3460 */ 3461 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){ 3462 return little_endian_read_16(event, 5); 3463 } 3464 /** 3465 * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3466 * @param event packet 3467 * @return interval_max 3468 * @note: btstack_type 2 3469 */ 3470 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){ 3471 return little_endian_read_16(event, 7); 3472 } 3473 /** 3474 * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3475 * @param event packet 3476 * @return latency 3477 * @note: btstack_type 2 3478 */ 3479 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){ 3480 return little_endian_read_16(event, 9); 3481 } 3482 /** 3483 * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 3484 * @param event packet 3485 * @return timeout 3486 * @note: btstack_type 2 3487 */ 3488 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){ 3489 return little_endian_read_16(event, 11); 3490 } 3491 3492 /** 3493 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3494 * @param event packet 3495 * @return connection_handle 3496 * @note: btstack_type H 3497 */ 3498 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){ 3499 return little_endian_read_16(event, 3); 3500 } 3501 /** 3502 * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3503 * @param event packet 3504 * @return max_tx_octets 3505 * @note: btstack_type 2 3506 */ 3507 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){ 3508 return little_endian_read_16(event, 5); 3509 } 3510 /** 3511 * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3512 * @param event packet 3513 * @return max_tx_time 3514 * @note: btstack_type 2 3515 */ 3516 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){ 3517 return little_endian_read_16(event, 7); 3518 } 3519 /** 3520 * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3521 * @param event packet 3522 * @return max_rx_octets 3523 * @note: btstack_type 2 3524 */ 3525 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){ 3526 return little_endian_read_16(event, 9); 3527 } 3528 /** 3529 * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 3530 * @param event packet 3531 * @return max_rx_time 3532 * @note: btstack_type 2 3533 */ 3534 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){ 3535 return little_endian_read_16(event, 11); 3536 } 3537 3538 /** 3539 * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3540 * @param event packet 3541 * @return status 3542 * @note: btstack_type 1 3543 */ 3544 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){ 3545 return event[3]; 3546 } 3547 /** 3548 * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3549 * @param event packet 3550 * @param Pointer to storage for dhkey_x 3551 * @note: btstack_type Q 3552 */ 3553 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){ 3554 reverse_bytes(&event[4], dhkey_x, 32); 3555 } 3556 /** 3557 * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 3558 * @param event packet 3559 * @param Pointer to storage for dhkey_y 3560 * @note: btstack_type Q 3561 */ 3562 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){ 3563 reverse_bytes(&event[36], dhkey_y, 32); 3564 } 3565 3566 /** 3567 * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 3568 * @param event packet 3569 * @return status 3570 * @note: btstack_type 1 3571 */ 3572 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){ 3573 return event[3]; 3574 } 3575 /** 3576 * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE 3577 * @param event packet 3578 * @param Pointer to storage for dhkey 3579 * @note: btstack_type Q 3580 */ 3581 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){ 3582 reverse_bytes(&event[4], dhkey, 32); 3583 } 3584 3585 /** 3586 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3587 * @param event packet 3588 * @return status 3589 * @note: btstack_type 1 3590 */ 3591 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_status(const uint8_t * event){ 3592 return event[3]; 3593 } 3594 /** 3595 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3596 * @param event packet 3597 * @return connection_handle 3598 * @note: btstack_type H 3599 */ 3600 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_get_connection_handle(const uint8_t * event){ 3601 return little_endian_read_16(event, 4); 3602 } 3603 /** 3604 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3605 * @param event packet 3606 * @return role 3607 * @note: btstack_type 1 3608 */ 3609 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_role(const uint8_t * event){ 3610 return event[6]; 3611 } 3612 /** 3613 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3614 * @param event packet 3615 * @return peer_address_type 3616 * @note: btstack_type 1 3617 */ 3618 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_peer_address_type(const uint8_t * event){ 3619 return event[7]; 3620 } 3621 /** 3622 * @brief Get field perr_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3623 * @param event packet 3624 * @param Pointer to storage for perr_addresss 3625 * @note: btstack_type B 3626 */ 3627 static inline void hci_subevent_le_enhanced_connection_complete_get_perr_addresss(const uint8_t * event, bd_addr_t perr_addresss){ 3628 reverse_bd_addr(&event[8], perr_addresss); 3629 } 3630 /** 3631 * @brief Get field local_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3632 * @param event packet 3633 * @param Pointer to storage for local_resolvable_private_addres 3634 * @note: btstack_type B 3635 */ 3636 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){ 3637 reverse_bd_addr(&event[14], local_resolvable_private_addres); 3638 } 3639 /** 3640 * @brief Get field peer_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3641 * @param event packet 3642 * @param Pointer to storage for peer_resolvable_private_addres 3643 * @note: btstack_type B 3644 */ 3645 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){ 3646 reverse_bd_addr(&event[20], peer_resolvable_private_addres); 3647 } 3648 /** 3649 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3650 * @param event packet 3651 * @return conn_interval 3652 * @note: btstack_type 2 3653 */ 3654 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_interval(const uint8_t * event){ 3655 return little_endian_read_16(event, 26); 3656 } 3657 /** 3658 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3659 * @param event packet 3660 * @return conn_latency 3661 * @note: btstack_type 2 3662 */ 3663 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_latency(const uint8_t * event){ 3664 return little_endian_read_16(event, 28); 3665 } 3666 /** 3667 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3668 * @param event packet 3669 * @return supervision_timeout 3670 * @note: btstack_type 2 3671 */ 3672 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_supervision_timeout(const uint8_t * event){ 3673 return little_endian_read_16(event, 30); 3674 } 3675 /** 3676 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE 3677 * @param event packet 3678 * @return master_clock_accuracy 3679 * @note: btstack_type 1 3680 */ 3681 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_master_clock_accuracy(const uint8_t * event){ 3682 return event[32]; 3683 } 3684 3685 /** 3686 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 3687 * @param event packet 3688 * @return status 3689 * @note: btstack_type 1 3690 */ 3691 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){ 3692 return event[3]; 3693 } 3694 3695 /** 3696 * @brief Get field status from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 3697 * @param event packet 3698 * @return status 3699 * @note: btstack_type 1 3700 */ 3701 static inline uint8_t hsp_subevent_rfcomm_disconnection_complete_get_status(const uint8_t * event){ 3702 return event[3]; 3703 } 3704 3705 /** 3706 * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 3707 * @param event packet 3708 * @return status 3709 * @note: btstack_type 1 3710 */ 3711 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){ 3712 return event[3]; 3713 } 3714 /** 3715 * @brief Get field handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 3716 * @param event packet 3717 * @return handle 3718 * @note: btstack_type H 3719 */ 3720 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_handle(const uint8_t * event){ 3721 return little_endian_read_16(event, 4); 3722 } 3723 3724 /** 3725 * @brief Get field status from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 3726 * @param event packet 3727 * @return status 3728 * @note: btstack_type 1 3729 */ 3730 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_status(const uint8_t * event){ 3731 return event[3]; 3732 } 3733 3734 3735 /** 3736 * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 3737 * @param event packet 3738 * @return gain 3739 * @note: btstack_type 1 3740 */ 3741 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){ 3742 return event[3]; 3743 } 3744 3745 /** 3746 * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 3747 * @param event packet 3748 * @return gain 3749 * @note: btstack_type 1 3750 */ 3751 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){ 3752 return event[3]; 3753 } 3754 3755 /** 3756 * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND 3757 * @param event packet 3758 * @return value_length 3759 * @note: btstack_type J 3760 */ 3761 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){ 3762 return event[3]; 3763 } 3764 /** 3765 * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND 3766 * @param event packet 3767 * @return value 3768 * @note: btstack_type V 3769 */ 3770 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){ 3771 return &event[4]; 3772 } 3773 3774 /** 3775 * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION 3776 * @param event packet 3777 * @return value_length 3778 * @note: btstack_type J 3779 */ 3780 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){ 3781 return event[3]; 3782 } 3783 /** 3784 * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION 3785 * @param event packet 3786 * @return value 3787 * @note: btstack_type V 3788 */ 3789 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){ 3790 return &event[4]; 3791 } 3792 3793 /** 3794 * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 3795 * @param event packet 3796 * @return status 3797 * @note: btstack_type 1 3798 */ 3799 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){ 3800 return event[3]; 3801 } 3802 /** 3803 * @brief Get field con_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 3804 * @param event packet 3805 * @return con_handle 3806 * @note: btstack_type H 3807 */ 3808 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_con_handle(const uint8_t * event){ 3809 return little_endian_read_16(event, 4); 3810 } 3811 /** 3812 * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 3813 * @param event packet 3814 * @param Pointer to storage for bd_addr 3815 * @note: btstack_type B 3816 */ 3817 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 3818 reverse_bd_addr(&event[6], bd_addr); 3819 } 3820 3821 3822 /** 3823 * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3824 * @param event packet 3825 * @return status 3826 * @note: btstack_type 1 3827 */ 3828 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){ 3829 return event[3]; 3830 } 3831 /** 3832 * @brief Get field handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3833 * @param event packet 3834 * @return handle 3835 * @note: btstack_type H 3836 */ 3837 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_handle(const uint8_t * event){ 3838 return little_endian_read_16(event, 4); 3839 } 3840 /** 3841 * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3842 * @param event packet 3843 * @param Pointer to storage for bd_addr 3844 * @note: btstack_type B 3845 */ 3846 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 3847 reverse_bd_addr(&event[6], bd_addr); 3848 } 3849 /** 3850 * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 3851 * @param event packet 3852 * @return negotiated_codec 3853 * @note: btstack_type 1 3854 */ 3855 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){ 3856 return event[12]; 3857 } 3858 3859 3860 /** 3861 * @brief Get field status from event HFP_SUBEVENT_COMPLETE 3862 * @param event packet 3863 * @return status 3864 * @note: btstack_type 1 3865 */ 3866 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){ 3867 return event[3]; 3868 } 3869 3870 /** 3871 * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3872 * @param event packet 3873 * @return indicator_index 3874 * @note: btstack_type 1 3875 */ 3876 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){ 3877 return event[3]; 3878 } 3879 /** 3880 * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3881 * @param event packet 3882 * @return indicator_status 3883 * @note: btstack_type 1 3884 */ 3885 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){ 3886 return event[4]; 3887 } 3888 /** 3889 * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3890 * @param event packet 3891 * @return indicator_min_range 3892 * @note: btstack_type 1 3893 */ 3894 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){ 3895 return event[5]; 3896 } 3897 /** 3898 * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3899 * @param event packet 3900 * @return indicator_max_range 3901 * @note: btstack_type 1 3902 */ 3903 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){ 3904 return event[6]; 3905 } 3906 /** 3907 * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3908 * @param event packet 3909 * @return indicator_mandatory 3910 * @note: btstack_type 1 3911 */ 3912 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){ 3913 return event[7]; 3914 } 3915 /** 3916 * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3917 * @param event packet 3918 * @return indicator_enabled 3919 * @note: btstack_type 1 3920 */ 3921 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){ 3922 return event[8]; 3923 } 3924 /** 3925 * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3926 * @param event packet 3927 * @return indicator_status_changed 3928 * @note: btstack_type 1 3929 */ 3930 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){ 3931 return event[9]; 3932 } 3933 /** 3934 * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 3935 * @param event packet 3936 * @return indicator_name 3937 * @note: btstack_type T 3938 */ 3939 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){ 3940 return (const char *) &event[10]; 3941 } 3942 3943 /** 3944 * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 3945 * @param event packet 3946 * @return network_operator_mode 3947 * @note: btstack_type 1 3948 */ 3949 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){ 3950 return event[3]; 3951 } 3952 /** 3953 * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 3954 * @param event packet 3955 * @return network_operator_format 3956 * @note: btstack_type 1 3957 */ 3958 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){ 3959 return event[4]; 3960 } 3961 /** 3962 * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 3963 * @param event packet 3964 * @return network_operator_name 3965 * @note: btstack_type T 3966 */ 3967 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){ 3968 return (const char *) &event[5]; 3969 } 3970 3971 /** 3972 * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 3973 * @param event packet 3974 * @return error 3975 * @note: btstack_type 1 3976 */ 3977 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){ 3978 return event[3]; 3979 } 3980 3981 3982 3983 3984 /** 3985 * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 3986 * @param event packet 3987 * @return number 3988 * @note: btstack_type T 3989 */ 3990 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){ 3991 return (const char *) &event[3]; 3992 } 3993 3994 3995 /** 3996 * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 3997 * @param event packet 3998 * @return number 3999 * @note: btstack_type T 4000 */ 4001 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){ 4002 return (const char *) &event[3]; 4003 } 4004 4005 /** 4006 * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES 4007 * @param event packet 4008 * @return dtmf 4009 * @note: btstack_type T 4010 */ 4011 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){ 4012 return (const char *) &event[3]; 4013 } 4014 4015 4016 4017 4018 /** 4019 * @brief Get field status from event HFP_SUBEVENT_SPEAKER_VOLUME 4020 * @param event packet 4021 * @return status 4022 * @note: btstack_type 1 4023 */ 4024 static inline uint8_t hfp_subevent_speaker_volume_get_status(const uint8_t * event){ 4025 return event[3]; 4026 } 4027 /** 4028 * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME 4029 * @param event packet 4030 * @return gain 4031 * @note: btstack_type 1 4032 */ 4033 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){ 4034 return event[4]; 4035 } 4036 4037 /** 4038 * @brief Get field status from event HFP_SUBEVENT_MICROPHONE_VOLUME 4039 * @param event packet 4040 * @return status 4041 * @note: btstack_type 1 4042 */ 4043 static inline uint8_t hfp_subevent_microphone_volume_get_status(const uint8_t * event){ 4044 return event[3]; 4045 } 4046 /** 4047 * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME 4048 * @param event packet 4049 * @return gain 4050 * @note: btstack_type 1 4051 */ 4052 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){ 4053 return event[4]; 4054 } 4055 4056 /** 4057 * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 4058 * @param event packet 4059 * @return type 4060 * @note: btstack_type 1 4061 */ 4062 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){ 4063 return event[3]; 4064 } 4065 /** 4066 * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 4067 * @param event packet 4068 * @return number 4069 * @note: btstack_type T 4070 */ 4071 static inline const char * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){ 4072 return (const char *) &event[4]; 4073 } 4074 4075 /** 4076 * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 4077 * @param event packet 4078 * @return type 4079 * @note: btstack_type 1 4080 */ 4081 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){ 4082 return event[3]; 4083 } 4084 /** 4085 * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 4086 * @param event packet 4087 * @return number 4088 * @note: btstack_type T 4089 */ 4090 static inline const char * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){ 4091 return (const char *) &event[4]; 4092 } 4093 4094 /** 4095 * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4096 * @param event packet 4097 * @return clcc_idx 4098 * @note: btstack_type 1 4099 */ 4100 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){ 4101 return event[3]; 4102 } 4103 /** 4104 * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4105 * @param event packet 4106 * @return clcc_dir 4107 * @note: btstack_type 1 4108 */ 4109 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){ 4110 return event[4]; 4111 } 4112 /** 4113 * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4114 * @param event packet 4115 * @return clcc_status 4116 * @note: btstack_type 1 4117 */ 4118 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){ 4119 return event[5]; 4120 } 4121 /** 4122 * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4123 * @param event packet 4124 * @return clcc_mode 4125 * @note: btstack_type 1 4126 */ 4127 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){ 4128 return event[6]; 4129 } 4130 /** 4131 * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4132 * @param event packet 4133 * @return clcc_mpty 4134 * @note: btstack_type 1 4135 */ 4136 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){ 4137 return event[7]; 4138 } 4139 /** 4140 * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4141 * @param event packet 4142 * @return bnip_type 4143 * @note: btstack_type 1 4144 */ 4145 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){ 4146 return event[8]; 4147 } 4148 /** 4149 * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS 4150 * @param event packet 4151 * @return bnip_number 4152 * @note: btstack_type T 4153 */ 4154 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){ 4155 return (const char *) &event[9]; 4156 } 4157 4158 /** 4159 * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4160 * @param event packet 4161 * @return status 4162 * @note: btstack_type 1 4163 */ 4164 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){ 4165 return event[3]; 4166 } 4167 /** 4168 * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4169 * @param event packet 4170 * @return bnip_type 4171 * @note: btstack_type 1 4172 */ 4173 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){ 4174 return event[4]; 4175 } 4176 /** 4177 * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 4178 * @param event packet 4179 * @return bnip_number 4180 * @note: btstack_type T 4181 */ 4182 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){ 4183 return (const char *) &event[5]; 4184 } 4185 4186 /** 4187 * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 4188 * @param event packet 4189 * @return value 4190 * @note: btstack_type T 4191 */ 4192 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){ 4193 return (const char *) &event[3]; 4194 } 4195 4196 #ifdef ENABLE_BLE 4197 /** 4198 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED 4199 * @param event packet 4200 * @return handle 4201 * @note: btstack_type H 4202 */ 4203 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){ 4204 return little_endian_read_16(event, 3); 4205 } 4206 #endif 4207 4208 #ifdef ENABLE_BLE 4209 /** 4210 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4211 * @param event packet 4212 * @return handle 4213 * @note: btstack_type H 4214 */ 4215 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){ 4216 return little_endian_read_16(event, 3); 4217 } 4218 /** 4219 * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4220 * @param event packet 4221 * @return attribute_id 4222 * @note: btstack_type 2 4223 */ 4224 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){ 4225 return little_endian_read_16(event, 5); 4226 } 4227 /** 4228 * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION 4229 * @param event packet 4230 * @return text 4231 * @note: btstack_type T 4232 */ 4233 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){ 4234 return (const char *) &event[7]; 4235 } 4236 #endif 4237 4238 #ifdef ENABLE_BLE 4239 /** 4240 * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED 4241 * @param event packet 4242 * @return handle 4243 * @note: btstack_type H 4244 */ 4245 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){ 4246 return little_endian_read_16(event, 3); 4247 } 4248 #endif 4249 4250 /** 4251 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4252 * @param event packet 4253 * @return avdtp_cid 4254 * @note: btstack_type 2 4255 */ 4256 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){ 4257 return little_endian_read_16(event, 3); 4258 } 4259 /** 4260 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4261 * @param event packet 4262 * @return local_seid 4263 * @note: btstack_type 1 4264 */ 4265 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){ 4266 return event[5]; 4267 } 4268 /** 4269 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT 4270 * @param event packet 4271 * @return signal_identifier 4272 * @note: btstack_type 1 4273 */ 4274 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){ 4275 return event[6]; 4276 } 4277 4278 /** 4279 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT 4280 * @param event packet 4281 * @return avdtp_cid 4282 * @note: btstack_type 2 4283 */ 4284 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){ 4285 return little_endian_read_16(event, 3); 4286 } 4287 /** 4288 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT 4289 * @param event packet 4290 * @return local_seid 4291 * @note: btstack_type 1 4292 */ 4293 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){ 4294 return event[5]; 4295 } 4296 /** 4297 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT 4298 * @param event packet 4299 * @return signal_identifier 4300 * @note: btstack_type 1 4301 */ 4302 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){ 4303 return event[6]; 4304 } 4305 4306 /** 4307 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4308 * @param event packet 4309 * @return avdtp_cid 4310 * @note: btstack_type 2 4311 */ 4312 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){ 4313 return little_endian_read_16(event, 3); 4314 } 4315 /** 4316 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4317 * @param event packet 4318 * @return local_seid 4319 * @note: btstack_type 1 4320 */ 4321 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){ 4322 return event[5]; 4323 } 4324 /** 4325 * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 4326 * @param event packet 4327 * @return signal_identifier 4328 * @note: btstack_type 1 4329 */ 4330 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){ 4331 return event[6]; 4332 } 4333 4334 /** 4335 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4336 * @param event packet 4337 * @return avdtp_cid 4338 * @note: btstack_type 2 4339 */ 4340 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){ 4341 return little_endian_read_16(event, 3); 4342 } 4343 /** 4344 * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4345 * @param event packet 4346 * @param Pointer to storage for bd_addr 4347 * @note: btstack_type B 4348 */ 4349 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 4350 reverse_bd_addr(&event[5], bd_addr); 4351 } 4352 /** 4353 * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 4354 * @param event packet 4355 * @return status 4356 * @note: btstack_type 1 4357 */ 4358 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 4359 return event[11]; 4360 } 4361 4362 /** 4363 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 4364 * @param event packet 4365 * @return avdtp_cid 4366 * @note: btstack_type 2 4367 */ 4368 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){ 4369 return little_endian_read_16(event, 3); 4370 } 4371 4372 /** 4373 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4374 * @param event packet 4375 * @return avdtp_cid 4376 * @note: btstack_type 2 4377 */ 4378 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){ 4379 return little_endian_read_16(event, 3); 4380 } 4381 /** 4382 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4383 * @param event packet 4384 * @return remote_seid 4385 * @note: btstack_type 1 4386 */ 4387 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){ 4388 return event[5]; 4389 } 4390 /** 4391 * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4392 * @param event packet 4393 * @return in_use 4394 * @note: btstack_type 1 4395 */ 4396 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){ 4397 return event[6]; 4398 } 4399 /** 4400 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4401 * @param event packet 4402 * @return media_type 4403 * @note: btstack_type 1 4404 */ 4405 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){ 4406 return event[7]; 4407 } 4408 /** 4409 * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 4410 * @param event packet 4411 * @return sep_type 4412 * @note: btstack_type 1 4413 */ 4414 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){ 4415 return event[8]; 4416 } 4417 4418 /** 4419 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4420 * @param event packet 4421 * @return avdtp_cid 4422 * @note: btstack_type 2 4423 */ 4424 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ 4425 return little_endian_read_16(event, 3); 4426 } 4427 /** 4428 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4429 * @param event packet 4430 * @return local_seid 4431 * @note: btstack_type 1 4432 */ 4433 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_local_seid(const uint8_t * event){ 4434 return event[5]; 4435 } 4436 /** 4437 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4438 * @param event packet 4439 * @return remote_seid 4440 * @note: btstack_type 1 4441 */ 4442 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ 4443 return event[6]; 4444 } 4445 /** 4446 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4447 * @param event packet 4448 * @return media_type 4449 * @note: btstack_type 1 4450 */ 4451 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ 4452 return event[7]; 4453 } 4454 /** 4455 * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4456 * @param event packet 4457 * @return sampling_frequency_bitmap 4458 * @note: btstack_type 1 4459 */ 4460 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ 4461 return event[8]; 4462 } 4463 /** 4464 * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4465 * @param event packet 4466 * @return channel_mode_bitmap 4467 * @note: btstack_type 1 4468 */ 4469 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ 4470 return event[9]; 4471 } 4472 /** 4473 * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4474 * @param event packet 4475 * @return block_length_bitmap 4476 * @note: btstack_type 1 4477 */ 4478 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ 4479 return event[10]; 4480 } 4481 /** 4482 * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4483 * @param event packet 4484 * @return subbands_bitmap 4485 * @note: btstack_type 1 4486 */ 4487 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ 4488 return event[11]; 4489 } 4490 /** 4491 * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4492 * @param event packet 4493 * @return allocation_method_bitmap 4494 * @note: btstack_type 1 4495 */ 4496 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ 4497 return event[12]; 4498 } 4499 /** 4500 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4501 * @param event packet 4502 * @return min_bitpool_value 4503 * @note: btstack_type 1 4504 */ 4505 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ 4506 return event[13]; 4507 } 4508 /** 4509 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 4510 * @param event packet 4511 * @return max_bitpool_value 4512 * @note: btstack_type 1 4513 */ 4514 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ 4515 return event[14]; 4516 } 4517 4518 /** 4519 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4520 * @param event packet 4521 * @return avdtp_cid 4522 * @note: btstack_type 2 4523 */ 4524 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ 4525 return little_endian_read_16(event, 3); 4526 } 4527 /** 4528 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4529 * @param event packet 4530 * @return local_seid 4531 * @note: btstack_type 1 4532 */ 4533 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_local_seid(const uint8_t * event){ 4534 return event[5]; 4535 } 4536 /** 4537 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4538 * @param event packet 4539 * @return remote_seid 4540 * @note: btstack_type 1 4541 */ 4542 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ 4543 return event[6]; 4544 } 4545 /** 4546 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4547 * @param event packet 4548 * @return media_type 4549 * @note: btstack_type 1 4550 */ 4551 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ 4552 return event[7]; 4553 } 4554 /** 4555 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4556 * @param event packet 4557 * @return media_codec_type 4558 * @note: btstack_type 2 4559 */ 4560 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ 4561 return little_endian_read_16(event, 8); 4562 } 4563 /** 4564 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4565 * @param event packet 4566 * @return media_codec_information_len 4567 * @note: btstack_type L 4568 */ 4569 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ 4570 return little_endian_read_16(event, 10); 4571 } 4572 /** 4573 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 4574 * @param event packet 4575 * @return media_codec_information 4576 * @note: btstack_type V 4577 */ 4578 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ 4579 return &event[12]; 4580 } 4581 4582 /** 4583 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 4584 * @param event packet 4585 * @return avdtp_cid 4586 * @note: btstack_type 2 4587 */ 4588 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){ 4589 return little_endian_read_16(event, 3); 4590 } 4591 /** 4592 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 4593 * @param event packet 4594 * @return local_seid 4595 * @note: btstack_type 1 4596 */ 4597 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_local_seid(const uint8_t * event){ 4598 return event[5]; 4599 } 4600 /** 4601 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 4602 * @param event packet 4603 * @return remote_seid 4604 * @note: btstack_type 1 4605 */ 4606 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ 4607 return event[6]; 4608 } 4609 4610 /** 4611 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 4612 * @param event packet 4613 * @return avdtp_cid 4614 * @note: btstack_type 2 4615 */ 4616 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ 4617 return little_endian_read_16(event, 3); 4618 } 4619 /** 4620 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 4621 * @param event packet 4622 * @return local_seid 4623 * @note: btstack_type 1 4624 */ 4625 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_local_seid(const uint8_t * event){ 4626 return event[5]; 4627 } 4628 /** 4629 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 4630 * @param event packet 4631 * @return remote_seid 4632 * @note: btstack_type 1 4633 */ 4634 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ 4635 return event[6]; 4636 } 4637 4638 /** 4639 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4640 * @param event packet 4641 * @return avdtp_cid 4642 * @note: btstack_type 2 4643 */ 4644 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ 4645 return little_endian_read_16(event, 3); 4646 } 4647 /** 4648 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4649 * @param event packet 4650 * @return local_seid 4651 * @note: btstack_type 1 4652 */ 4653 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_local_seid(const uint8_t * event){ 4654 return event[5]; 4655 } 4656 /** 4657 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4658 * @param event packet 4659 * @return remote_seid 4660 * @note: btstack_type 1 4661 */ 4662 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ 4663 return event[6]; 4664 } 4665 /** 4666 * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4667 * @param event packet 4668 * @return recovery_type 4669 * @note: btstack_type 1 4670 */ 4671 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ 4672 return event[7]; 4673 } 4674 /** 4675 * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4676 * @param event packet 4677 * @return maximum_recovery_window_size 4678 * @note: btstack_type 1 4679 */ 4680 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ 4681 return event[8]; 4682 } 4683 /** 4684 * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 4685 * @param event packet 4686 * @return maximum_number_media_packets 4687 * @note: btstack_type 1 4688 */ 4689 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ 4690 return event[9]; 4691 } 4692 4693 /** 4694 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4695 * @param event packet 4696 * @return avdtp_cid 4697 * @note: btstack_type 2 4698 */ 4699 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ 4700 return little_endian_read_16(event, 3); 4701 } 4702 /** 4703 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4704 * @param event packet 4705 * @return local_seid 4706 * @note: btstack_type 1 4707 */ 4708 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_local_seid(const uint8_t * event){ 4709 return event[5]; 4710 } 4711 /** 4712 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4713 * @param event packet 4714 * @return remote_seid 4715 * @note: btstack_type 1 4716 */ 4717 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ 4718 return event[6]; 4719 } 4720 /** 4721 * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4722 * @param event packet 4723 * @return cp_type 4724 * @note: btstack_type 2 4725 */ 4726 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ 4727 return little_endian_read_16(event, 7); 4728 } 4729 /** 4730 * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4731 * @param event packet 4732 * @return cp_type_value_len 4733 * @note: btstack_type L 4734 */ 4735 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ 4736 return little_endian_read_16(event, 9); 4737 } 4738 /** 4739 * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 4740 * @param event packet 4741 * @return cp_type_value 4742 * @note: btstack_type V 4743 */ 4744 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ 4745 return &event[11]; 4746 } 4747 4748 /** 4749 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4750 * @param event packet 4751 * @return avdtp_cid 4752 * @note: btstack_type 2 4753 */ 4754 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ 4755 return little_endian_read_16(event, 3); 4756 } 4757 /** 4758 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4759 * @param event packet 4760 * @return local_seid 4761 * @note: btstack_type 1 4762 */ 4763 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_local_seid(const uint8_t * event){ 4764 return event[5]; 4765 } 4766 /** 4767 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4768 * @param event packet 4769 * @return remote_seid 4770 * @note: btstack_type 1 4771 */ 4772 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ 4773 return event[6]; 4774 } 4775 /** 4776 * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4777 * @param event packet 4778 * @return fragmentation 4779 * @note: btstack_type 1 4780 */ 4781 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ 4782 return event[7]; 4783 } 4784 /** 4785 * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4786 * @param event packet 4787 * @return transport_identifiers_num 4788 * @note: btstack_type 1 4789 */ 4790 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ 4791 return event[8]; 4792 } 4793 /** 4794 * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4795 * @param event packet 4796 * @return transport_session_identifier_1 4797 * @note: btstack_type 1 4798 */ 4799 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ 4800 return event[9]; 4801 } 4802 /** 4803 * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4804 * @param event packet 4805 * @return transport_session_identifier_2 4806 * @note: btstack_type 1 4807 */ 4808 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ 4809 return event[10]; 4810 } 4811 /** 4812 * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4813 * @param event packet 4814 * @return transport_session_identifier_3 4815 * @note: btstack_type 1 4816 */ 4817 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ 4818 return event[11]; 4819 } 4820 /** 4821 * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4822 * @param event packet 4823 * @return tcid_1 4824 * @note: btstack_type 1 4825 */ 4826 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ 4827 return event[12]; 4828 } 4829 /** 4830 * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4831 * @param event packet 4832 * @return tcid_2 4833 * @note: btstack_type 1 4834 */ 4835 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ 4836 return event[13]; 4837 } 4838 /** 4839 * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 4840 * @param event packet 4841 * @return tcid_3 4842 * @note: btstack_type 1 4843 */ 4844 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ 4845 return event[14]; 4846 } 4847 4848 /** 4849 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 4850 * @param event packet 4851 * @return avdtp_cid 4852 * @note: btstack_type 2 4853 */ 4854 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ 4855 return little_endian_read_16(event, 3); 4856 } 4857 /** 4858 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 4859 * @param event packet 4860 * @return local_seid 4861 * @note: btstack_type 1 4862 */ 4863 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_local_seid(const uint8_t * event){ 4864 return event[5]; 4865 } 4866 /** 4867 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 4868 * @param event packet 4869 * @return remote_seid 4870 * @note: btstack_type 1 4871 */ 4872 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ 4873 return event[6]; 4874 } 4875 4876 /** 4877 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4878 * @param event packet 4879 * @return avdtp_cid 4880 * @note: btstack_type 2 4881 */ 4882 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ 4883 return little_endian_read_16(event, 3); 4884 } 4885 /** 4886 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4887 * @param event packet 4888 * @return local_seid 4889 * @note: btstack_type 1 4890 */ 4891 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_local_seid(const uint8_t * event){ 4892 return event[5]; 4893 } 4894 /** 4895 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4896 * @param event packet 4897 * @return remote_seid 4898 * @note: btstack_type 1 4899 */ 4900 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ 4901 return event[6]; 4902 } 4903 /** 4904 * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4905 * @param event packet 4906 * @return back_ch 4907 * @note: btstack_type 1 4908 */ 4909 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ 4910 return event[7]; 4911 } 4912 /** 4913 * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4914 * @param event packet 4915 * @return media 4916 * @note: btstack_type 1 4917 */ 4918 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ 4919 return event[8]; 4920 } 4921 /** 4922 * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 4923 * @param event packet 4924 * @return recovery 4925 * @note: btstack_type 1 4926 */ 4927 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ 4928 return event[9]; 4929 } 4930 4931 /** 4932 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4933 * @param event packet 4934 * @return avdtp_cid 4935 * @note: btstack_type 2 4936 */ 4937 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){ 4938 return little_endian_read_16(event, 3); 4939 } 4940 /** 4941 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4942 * @param event packet 4943 * @return local_seid 4944 * @note: btstack_type 1 4945 */ 4946 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){ 4947 return event[5]; 4948 } 4949 /** 4950 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4951 * @param event packet 4952 * @return remote_seid 4953 * @note: btstack_type 1 4954 */ 4955 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){ 4956 return event[6]; 4957 } 4958 /** 4959 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4960 * @param event packet 4961 * @return reconfigure 4962 * @note: btstack_type 1 4963 */ 4964 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 4965 return event[7]; 4966 } 4967 /** 4968 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4969 * @param event packet 4970 * @return media_type 4971 * @note: btstack_type 1 4972 */ 4973 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 4974 return event[8]; 4975 } 4976 /** 4977 * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4978 * @param event packet 4979 * @return sampling_frequency 4980 * @note: btstack_type 2 4981 */ 4982 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 4983 return little_endian_read_16(event, 9); 4984 } 4985 /** 4986 * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4987 * @param event packet 4988 * @return channel_mode 4989 * @note: btstack_type 1 4990 */ 4991 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 4992 return event[11]; 4993 } 4994 /** 4995 * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 4996 * @param event packet 4997 * @return num_channels 4998 * @note: btstack_type 1 4999 */ 5000 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 5001 return event[12]; 5002 } 5003 /** 5004 * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5005 * @param event packet 5006 * @return block_length 5007 * @note: btstack_type 1 5008 */ 5009 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 5010 return event[13]; 5011 } 5012 /** 5013 * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5014 * @param event packet 5015 * @return subbands 5016 * @note: btstack_type 1 5017 */ 5018 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 5019 return event[14]; 5020 } 5021 /** 5022 * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5023 * @param event packet 5024 * @return allocation_method 5025 * @note: btstack_type 1 5026 */ 5027 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 5028 return event[15]; 5029 } 5030 /** 5031 * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5032 * @param event packet 5033 * @return min_bitpool_value 5034 * @note: btstack_type 1 5035 */ 5036 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 5037 return event[16]; 5038 } 5039 /** 5040 * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5041 * @param event packet 5042 * @return max_bitpool_value 5043 * @note: btstack_type 1 5044 */ 5045 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 5046 return event[17]; 5047 } 5048 5049 /** 5050 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5051 * @param event packet 5052 * @return avdtp_cid 5053 * @note: btstack_type 2 5054 */ 5055 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){ 5056 return little_endian_read_16(event, 3); 5057 } 5058 /** 5059 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5060 * @param event packet 5061 * @return local_seid 5062 * @note: btstack_type 1 5063 */ 5064 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){ 5065 return event[5]; 5066 } 5067 /** 5068 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5069 * @param event packet 5070 * @return remote_seid 5071 * @note: btstack_type 1 5072 */ 5073 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){ 5074 return event[6]; 5075 } 5076 /** 5077 * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5078 * @param event packet 5079 * @return reconfigure 5080 * @note: btstack_type 1 5081 */ 5082 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 5083 return event[7]; 5084 } 5085 /** 5086 * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5087 * @param event packet 5088 * @return media_type 5089 * @note: btstack_type 1 5090 */ 5091 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 5092 return event[8]; 5093 } 5094 /** 5095 * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5096 * @param event packet 5097 * @return media_codec_type 5098 * @note: btstack_type 2 5099 */ 5100 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 5101 return little_endian_read_16(event, 9); 5102 } 5103 /** 5104 * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5105 * @param event packet 5106 * @return media_codec_information_len 5107 * @note: btstack_type L 5108 */ 5109 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 5110 return little_endian_read_16(event, 11); 5111 } 5112 /** 5113 * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5114 * @param event packet 5115 * @return media_codec_information 5116 * @note: btstack_type V 5117 */ 5118 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 5119 return &event[13]; 5120 } 5121 5122 /** 5123 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5124 * @param event packet 5125 * @return avdtp_cid 5126 * @note: btstack_type 2 5127 */ 5128 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){ 5129 return little_endian_read_16(event, 3); 5130 } 5131 /** 5132 * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5133 * @param event packet 5134 * @param Pointer to storage for bd_addr 5135 * @note: btstack_type B 5136 */ 5137 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5138 reverse_bd_addr(&event[5], bd_addr); 5139 } 5140 /** 5141 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5142 * @param event packet 5143 * @return local_seid 5144 * @note: btstack_type 1 5145 */ 5146 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){ 5147 return event[11]; 5148 } 5149 /** 5150 * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5151 * @param event packet 5152 * @return remote_seid 5153 * @note: btstack_type 1 5154 */ 5155 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){ 5156 return event[12]; 5157 } 5158 /** 5159 * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 5160 * @param event packet 5161 * @return status 5162 * @note: btstack_type 1 5163 */ 5164 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){ 5165 return event[13]; 5166 } 5167 5168 /** 5169 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 5170 * @param event packet 5171 * @return avdtp_cid 5172 * @note: btstack_type 2 5173 */ 5174 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){ 5175 return little_endian_read_16(event, 3); 5176 } 5177 /** 5178 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 5179 * @param event packet 5180 * @return local_seid 5181 * @note: btstack_type 1 5182 */ 5183 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){ 5184 return event[5]; 5185 } 5186 5187 /** 5188 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5189 * @param event packet 5190 * @return avdtp_cid 5191 * @note: btstack_type 2 5192 */ 5193 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){ 5194 return little_endian_read_16(event, 3); 5195 } 5196 /** 5197 * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5198 * @param event packet 5199 * @return local_seid 5200 * @note: btstack_type 1 5201 */ 5202 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 5203 return event[5]; 5204 } 5205 /** 5206 * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5207 * @param event packet 5208 * @return sequence_number 5209 * @note: btstack_type 2 5210 */ 5211 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){ 5212 return little_endian_read_16(event, 6); 5213 } 5214 5215 /** 5216 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITY_DONE 5217 * @param event packet 5218 * @return avdtp_cid 5219 * @note: btstack_type 2 5220 */ 5221 static inline uint16_t avdtp_subevent_signaling_capability_done_get_avdtp_cid(const uint8_t * event){ 5222 return little_endian_read_16(event, 3); 5223 } 5224 /** 5225 * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITY_DONE 5226 * @param event packet 5227 * @return local_seid 5228 * @note: btstack_type 1 5229 */ 5230 static inline uint8_t avdtp_subevent_signaling_capability_done_get_local_seid(const uint8_t * event){ 5231 return event[5]; 5232 } 5233 /** 5234 * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITY_DONE 5235 * @param event packet 5236 * @return remote_seid 5237 * @note: btstack_type 1 5238 */ 5239 static inline uint8_t avdtp_subevent_signaling_capability_done_get_remote_seid(const uint8_t * event){ 5240 return event[6]; 5241 } 5242 5243 /** 5244 * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 5245 * @param event packet 5246 * @return avdtp_cid 5247 * @note: btstack_type 2 5248 */ 5249 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){ 5250 return little_endian_read_16(event, 3); 5251 } 5252 5253 /** 5254 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5255 * @param event packet 5256 * @return a2dp_cid 5257 * @note: btstack_type 2 5258 */ 5259 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){ 5260 return little_endian_read_16(event, 3); 5261 } 5262 /** 5263 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 5264 * @param event packet 5265 * @return local_seid 5266 * @note: btstack_type 1 5267 */ 5268 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){ 5269 return event[5]; 5270 } 5271 5272 /** 5273 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5274 * @param event packet 5275 * @return a2dp_cid 5276 * @note: btstack_type 2 5277 */ 5278 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){ 5279 return little_endian_read_16(event, 3); 5280 } 5281 /** 5282 * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5283 * @param event packet 5284 * @return int_seid 5285 * @note: btstack_type 1 5286 */ 5287 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_int_seid(const uint8_t * event){ 5288 return event[5]; 5289 } 5290 /** 5291 * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5292 * @param event packet 5293 * @return acp_seid 5294 * @note: btstack_type 1 5295 */ 5296 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_acp_seid(const uint8_t * event){ 5297 return event[6]; 5298 } 5299 /** 5300 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5301 * @param event packet 5302 * @return reconfigure 5303 * @note: btstack_type 1 5304 */ 5305 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){ 5306 return event[7]; 5307 } 5308 /** 5309 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5310 * @param event packet 5311 * @return media_type 5312 * @note: btstack_type 1 5313 */ 5314 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){ 5315 return event[8]; 5316 } 5317 /** 5318 * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5319 * @param event packet 5320 * @return sampling_frequency 5321 * @note: btstack_type 2 5322 */ 5323 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){ 5324 return little_endian_read_16(event, 9); 5325 } 5326 /** 5327 * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5328 * @param event packet 5329 * @return channel_mode 5330 * @note: btstack_type 1 5331 */ 5332 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){ 5333 return event[11]; 5334 } 5335 /** 5336 * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5337 * @param event packet 5338 * @return num_channels 5339 * @note: btstack_type 1 5340 */ 5341 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){ 5342 return event[12]; 5343 } 5344 /** 5345 * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5346 * @param event packet 5347 * @return block_length 5348 * @note: btstack_type 1 5349 */ 5350 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){ 5351 return event[13]; 5352 } 5353 /** 5354 * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5355 * @param event packet 5356 * @return subbands 5357 * @note: btstack_type 1 5358 */ 5359 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){ 5360 return event[14]; 5361 } 5362 /** 5363 * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5364 * @param event packet 5365 * @return allocation_method 5366 * @note: btstack_type 1 5367 */ 5368 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){ 5369 return event[15]; 5370 } 5371 /** 5372 * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5373 * @param event packet 5374 * @return min_bitpool_value 5375 * @note: btstack_type 1 5376 */ 5377 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){ 5378 return event[16]; 5379 } 5380 /** 5381 * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 5382 * @param event packet 5383 * @return max_bitpool_value 5384 * @note: btstack_type 1 5385 */ 5386 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){ 5387 return event[17]; 5388 } 5389 5390 /** 5391 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5392 * @param event packet 5393 * @return a2dp_cid 5394 * @note: btstack_type 2 5395 */ 5396 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){ 5397 return little_endian_read_16(event, 3); 5398 } 5399 /** 5400 * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5401 * @param event packet 5402 * @return int_seid 5403 * @note: btstack_type 1 5404 */ 5405 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_int_seid(const uint8_t * event){ 5406 return event[5]; 5407 } 5408 /** 5409 * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5410 * @param event packet 5411 * @return acp_seid 5412 * @note: btstack_type 1 5413 */ 5414 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_acp_seid(const uint8_t * event){ 5415 return event[6]; 5416 } 5417 /** 5418 * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5419 * @param event packet 5420 * @return reconfigure 5421 * @note: btstack_type 1 5422 */ 5423 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){ 5424 return event[7]; 5425 } 5426 /** 5427 * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5428 * @param event packet 5429 * @return media_type 5430 * @note: btstack_type 1 5431 */ 5432 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){ 5433 return event[8]; 5434 } 5435 /** 5436 * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5437 * @param event packet 5438 * @return media_codec_type 5439 * @note: btstack_type 2 5440 */ 5441 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){ 5442 return little_endian_read_16(event, 9); 5443 } 5444 /** 5445 * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5446 * @param event packet 5447 * @return media_codec_information_len 5448 * @note: btstack_type L 5449 */ 5450 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){ 5451 return little_endian_read_16(event, 11); 5452 } 5453 /** 5454 * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 5455 * @param event packet 5456 * @return media_codec_information 5457 * @note: btstack_type V 5458 */ 5459 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){ 5460 return &event[13]; 5461 } 5462 5463 /** 5464 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5465 * @param event packet 5466 * @return a2dp_cid 5467 * @note: btstack_type 2 5468 */ 5469 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){ 5470 return little_endian_read_16(event, 3); 5471 } 5472 /** 5473 * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5474 * @param event packet 5475 * @param Pointer to storage for bd_addr 5476 * @note: btstack_type B 5477 */ 5478 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5479 reverse_bd_addr(&event[5], bd_addr); 5480 } 5481 /** 5482 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5483 * @param event packet 5484 * @return local_seid 5485 * @note: btstack_type 1 5486 */ 5487 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){ 5488 return event[11]; 5489 } 5490 /** 5491 * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5492 * @param event packet 5493 * @return remote_seid 5494 * @note: btstack_type 1 5495 */ 5496 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){ 5497 return event[12]; 5498 } 5499 /** 5500 * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED 5501 * @param event packet 5502 * @return status 5503 * @note: btstack_type 1 5504 */ 5505 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){ 5506 return event[13]; 5507 } 5508 5509 /** 5510 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED 5511 * @param event packet 5512 * @return a2dp_cid 5513 * @note: btstack_type 2 5514 */ 5515 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){ 5516 return little_endian_read_16(event, 3); 5517 } 5518 /** 5519 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED 5520 * @param event packet 5521 * @return local_seid 5522 * @note: btstack_type 1 5523 */ 5524 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){ 5525 return event[5]; 5526 } 5527 5528 /** 5529 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED 5530 * @param event packet 5531 * @return a2dp_cid 5532 * @note: btstack_type 2 5533 */ 5534 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){ 5535 return little_endian_read_16(event, 3); 5536 } 5537 /** 5538 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED 5539 * @param event packet 5540 * @return local_seid 5541 * @note: btstack_type 1 5542 */ 5543 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){ 5544 return event[5]; 5545 } 5546 5547 /** 5548 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED 5549 * @param event packet 5550 * @return a2dp_cid 5551 * @note: btstack_type 2 5552 */ 5553 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){ 5554 return little_endian_read_16(event, 3); 5555 } 5556 /** 5557 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED 5558 * @param event packet 5559 * @return local_seid 5560 * @note: btstack_type 1 5561 */ 5562 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){ 5563 return event[5]; 5564 } 5565 5566 /** 5567 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED 5568 * @param event packet 5569 * @return a2dp_cid 5570 * @note: btstack_type 2 5571 */ 5572 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){ 5573 return little_endian_read_16(event, 3); 5574 } 5575 /** 5576 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED 5577 * @param event packet 5578 * @return local_seid 5579 * @note: btstack_type 1 5580 */ 5581 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){ 5582 return event[5]; 5583 } 5584 5585 /** 5586 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 5587 * @param event packet 5588 * @return a2dp_cid 5589 * @note: btstack_type 2 5590 */ 5591 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){ 5592 return little_endian_read_16(event, 3); 5593 } 5594 /** 5595 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED 5596 * @param event packet 5597 * @return local_seid 5598 * @note: btstack_type 1 5599 */ 5600 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){ 5601 return event[5]; 5602 } 5603 /** 5604 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED 5605 * @param event packet 5606 * @return signal_identifier 5607 * @note: btstack_type 1 5608 */ 5609 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){ 5610 return event[6]; 5611 } 5612 5613 /** 5614 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED 5615 * @param event packet 5616 * @return a2dp_cid 5617 * @note: btstack_type 2 5618 */ 5619 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){ 5620 return little_endian_read_16(event, 3); 5621 } 5622 /** 5623 * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED 5624 * @param event packet 5625 * @return local_seid 5626 * @note: btstack_type 1 5627 */ 5628 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){ 5629 return event[5]; 5630 } 5631 /** 5632 * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED 5633 * @param event packet 5634 * @return signal_identifier 5635 * @note: btstack_type 1 5636 */ 5637 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){ 5638 return event[6]; 5639 } 5640 5641 /** 5642 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 5643 * @param event packet 5644 * @return a2dp_cid 5645 * @note: btstack_type 2 5646 */ 5647 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){ 5648 return little_endian_read_16(event, 3); 5649 } 5650 /** 5651 * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 5652 * @param event packet 5653 * @param Pointer to storage for bd_addr 5654 * @note: btstack_type B 5655 */ 5656 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5657 reverse_bd_addr(&event[5], bd_addr); 5658 } 5659 /** 5660 * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 5661 * @param event packet 5662 * @return status 5663 * @note: btstack_type 1 5664 */ 5665 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){ 5666 return event[11]; 5667 } 5668 5669 /** 5670 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 5671 * @param event packet 5672 * @return a2dp_cid 5673 * @note: btstack_type 2 5674 */ 5675 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){ 5676 return little_endian_read_16(event, 3); 5677 } 5678 5679 /** 5680 * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 5681 * @param event packet 5682 * @return a2dp_cid 5683 * @note: btstack_type 2 5684 */ 5685 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){ 5686 return little_endian_read_16(event, 3); 5687 } 5688 /** 5689 * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED 5690 * @param event packet 5691 * @return local_seid 5692 * @note: btstack_type 1 5693 */ 5694 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){ 5695 return event[5]; 5696 } 5697 /** 5698 * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED 5699 * @param event packet 5700 * @return status 5701 * @note: btstack_type 1 5702 */ 5703 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){ 5704 return event[6]; 5705 } 5706 5707 /** 5708 * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 5709 * @param event packet 5710 * @return status 5711 * @note: btstack_type 1 5712 */ 5713 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){ 5714 return event[3]; 5715 } 5716 /** 5717 * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 5718 * @param event packet 5719 * @param Pointer to storage for bd_addr 5720 * @note: btstack_type B 5721 */ 5722 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 5723 reverse_bd_addr(&event[4], bd_addr); 5724 } 5725 /** 5726 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 5727 * @param event packet 5728 * @return avrcp_cid 5729 * @note: btstack_type 2 5730 */ 5731 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){ 5732 return little_endian_read_16(event, 10); 5733 } 5734 5735 /** 5736 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED 5737 * @param event packet 5738 * @return avrcp_cid 5739 * @note: btstack_type 2 5740 */ 5741 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){ 5742 return little_endian_read_16(event, 3); 5743 } 5744 5745 /** 5746 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 5747 * @param event packet 5748 * @return avrcp_cid 5749 * @note: btstack_type 2 5750 */ 5751 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){ 5752 return little_endian_read_16(event, 3); 5753 } 5754 /** 5755 * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 5756 * @param event packet 5757 * @return command_type 5758 * @note: btstack_type 1 5759 */ 5760 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){ 5761 return event[5]; 5762 } 5763 /** 5764 * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 5765 * @param event packet 5766 * @return repeat_mode 5767 * @note: btstack_type 1 5768 */ 5769 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){ 5770 return event[6]; 5771 } 5772 /** 5773 * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 5774 * @param event packet 5775 * @return shuffle_mode 5776 * @note: btstack_type 1 5777 */ 5778 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){ 5779 return event[7]; 5780 } 5781 5782 /** 5783 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS 5784 * @param event packet 5785 * @return avrcp_cid 5786 * @note: btstack_type 2 5787 */ 5788 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){ 5789 return little_endian_read_16(event, 3); 5790 } 5791 /** 5792 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS 5793 * @param event packet 5794 * @return command_type 5795 * @note: btstack_type 1 5796 */ 5797 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){ 5798 return event[5]; 5799 } 5800 /** 5801 * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS 5802 * @param event packet 5803 * @return song_length 5804 * @note: btstack_type 4 5805 */ 5806 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){ 5807 return little_endian_read_32(event, 6); 5808 } 5809 /** 5810 * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS 5811 * @param event packet 5812 * @return song_position 5813 * @note: btstack_type 4 5814 */ 5815 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){ 5816 return little_endian_read_32(event, 10); 5817 } 5818 /** 5819 * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS 5820 * @param event packet 5821 * @return play_status 5822 * @note: btstack_type 1 5823 */ 5824 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){ 5825 return event[14]; 5826 } 5827 5828 /** 5829 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 5830 * @param event packet 5831 * @return avrcp_cid 5832 * @note: btstack_type 2 5833 */ 5834 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){ 5835 return little_endian_read_16(event, 3); 5836 } 5837 /** 5838 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 5839 * @param event packet 5840 * @return command_type 5841 * @note: btstack_type 1 5842 */ 5843 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){ 5844 return event[5]; 5845 } 5846 /** 5847 * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 5848 * @param event packet 5849 * @return play_status 5850 * @note: btstack_type 1 5851 */ 5852 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){ 5853 return event[6]; 5854 } 5855 5856 /** 5857 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 5858 * @param event packet 5859 * @return avrcp_cid 5860 * @note: btstack_type 2 5861 */ 5862 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){ 5863 return little_endian_read_16(event, 3); 5864 } 5865 /** 5866 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 5867 * @param event packet 5868 * @return command_type 5869 * @note: btstack_type 1 5870 */ 5871 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){ 5872 return event[5]; 5873 } 5874 5875 /** 5876 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 5877 * @param event packet 5878 * @return avrcp_cid 5879 * @note: btstack_type 2 5880 */ 5881 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){ 5882 return little_endian_read_16(event, 3); 5883 } 5884 /** 5885 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 5886 * @param event packet 5887 * @return command_type 5888 * @note: btstack_type 1 5889 */ 5890 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){ 5891 return event[5]; 5892 } 5893 5894 /** 5895 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 5896 * @param event packet 5897 * @return avrcp_cid 5898 * @note: btstack_type 2 5899 */ 5900 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){ 5901 return little_endian_read_16(event, 3); 5902 } 5903 /** 5904 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 5905 * @param event packet 5906 * @return command_type 5907 * @note: btstack_type 1 5908 */ 5909 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){ 5910 return event[5]; 5911 } 5912 5913 /** 5914 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 5915 * @param event packet 5916 * @return avrcp_cid 5917 * @note: btstack_type 2 5918 */ 5919 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){ 5920 return little_endian_read_16(event, 3); 5921 } 5922 /** 5923 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 5924 * @param event packet 5925 * @return command_type 5926 * @note: btstack_type 1 5927 */ 5928 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){ 5929 return event[5]; 5930 } 5931 /** 5932 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 5933 * @param event packet 5934 * @return absolute_volume 5935 * @note: btstack_type 1 5936 */ 5937 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){ 5938 return event[6]; 5939 } 5940 5941 /** 5942 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 5943 * @param event packet 5944 * @return avrcp_cid 5945 * @note: btstack_type 2 5946 */ 5947 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){ 5948 return little_endian_read_16(event, 3); 5949 } 5950 /** 5951 * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 5952 * @param event packet 5953 * @return command_type 5954 * @note: btstack_type 1 5955 */ 5956 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){ 5957 return event[5]; 5958 } 5959 /** 5960 * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 5961 * @param event packet 5962 * @return absolute_volume 5963 * @note: btstack_type 1 5964 */ 5965 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){ 5966 return event[6]; 5967 } 5968 5969 /** 5970 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 5971 * @param event packet 5972 * @return avrcp_cid 5973 * @note: btstack_type 2 5974 */ 5975 static inline uint16_t avrcp_subevent_enable_notification_complete_get_avrcp_cid(const uint8_t * event){ 5976 return little_endian_read_16(event, 3); 5977 } 5978 /** 5979 * @brief Get field command_type from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 5980 * @param event packet 5981 * @return command_type 5982 * @note: btstack_type 1 5983 */ 5984 static inline uint8_t avrcp_subevent_enable_notification_complete_get_command_type(const uint8_t * event){ 5985 return event[5]; 5986 } 5987 /** 5988 * @brief Get field notification_id from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 5989 * @param event packet 5990 * @return notification_id 5991 * @note: btstack_type 1 5992 */ 5993 static inline uint8_t avrcp_subevent_enable_notification_complete_get_notification_id(const uint8_t * event){ 5994 return event[6]; 5995 } 5996 5997 /** 5998 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START 5999 * @param event packet 6000 * @return avrcp_cid 6001 * @note: btstack_type 2 6002 */ 6003 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){ 6004 return little_endian_read_16(event, 3); 6005 } 6006 /** 6007 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START 6008 * @param event packet 6009 * @return command_type 6010 * @note: btstack_type 1 6011 */ 6012 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){ 6013 return event[5]; 6014 } 6015 /** 6016 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START 6017 * @param event packet 6018 * @return operation_id 6019 * @note: btstack_type 1 6020 */ 6021 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){ 6022 return event[6]; 6023 } 6024 6025 /** 6026 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE 6027 * @param event packet 6028 * @return avrcp_cid 6029 * @note: btstack_type 2 6030 */ 6031 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){ 6032 return little_endian_read_16(event, 3); 6033 } 6034 /** 6035 * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE 6036 * @param event packet 6037 * @return command_type 6038 * @note: btstack_type 1 6039 */ 6040 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){ 6041 return event[5]; 6042 } 6043 /** 6044 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE 6045 * @param event packet 6046 * @return operation_id 6047 * @note: btstack_type 1 6048 */ 6049 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){ 6050 return event[6]; 6051 } 6052 6053 /** 6054 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 6055 * @param event packet 6056 * @return avrcp_cid 6057 * @note: btstack_type 2 6058 */ 6059 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){ 6060 return little_endian_read_16(event, 3); 6061 } 6062 /** 6063 * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 6064 * @param event packet 6065 * @return command_type 6066 * @note: btstack_type 1 6067 */ 6068 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){ 6069 return event[5]; 6070 } 6071 6072 /** 6073 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COMPANY_IDS_QUERY 6074 * @param event packet 6075 * @return avrcp_cid 6076 * @note: btstack_type 2 6077 */ 6078 static inline uint16_t avrcp_subevent_company_ids_query_get_avrcp_cid(const uint8_t * event){ 6079 return little_endian_read_16(event, 3); 6080 } 6081 6082 /** 6083 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_EVENT_IDS_QUERY 6084 * @param event packet 6085 * @return avrcp_cid 6086 * @note: btstack_type 2 6087 */ 6088 static inline uint16_t avrcp_subevent_event_ids_query_get_avrcp_cid(const uint8_t * event){ 6089 return little_endian_read_16(event, 3); 6090 } 6091 6092 /** 6093 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY 6094 * @param event packet 6095 * @return avrcp_cid 6096 * @note: btstack_type 2 6097 */ 6098 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){ 6099 return little_endian_read_16(event, 3); 6100 } 6101 6102 /** 6103 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION 6104 * @param event packet 6105 * @return avrcp_cid 6106 * @note: btstack_type 2 6107 */ 6108 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){ 6109 return little_endian_read_16(event, 3); 6110 } 6111 /** 6112 * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION 6113 * @param event packet 6114 * @return operation_id 6115 * @note: btstack_type 1 6116 */ 6117 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){ 6118 return event[5]; 6119 } 6120 /** 6121 * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION 6122 * @param event packet 6123 * @return operands_length 6124 * @note: btstack_type 1 6125 */ 6126 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){ 6127 return event[6]; 6128 } 6129 /** 6130 * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION 6131 * @param event packet 6132 * @return operand 6133 * @note: btstack_type 1 6134 */ 6135 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){ 6136 return event[7]; 6137 } 6138 6139 /** 6140 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 6141 * @param event packet 6142 * @return avrcp_cid 6143 * @note: btstack_type 2 6144 */ 6145 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){ 6146 return little_endian_read_16(event, 3); 6147 } 6148 /** 6149 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 6150 * @param event packet 6151 * @return command_type 6152 * @note: btstack_type 1 6153 */ 6154 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){ 6155 return event[5]; 6156 } 6157 /** 6158 * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO 6159 * @param event packet 6160 * @return track 6161 * @note: btstack_type 1 6162 */ 6163 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){ 6164 return event[6]; 6165 } 6166 6167 /** 6168 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 6169 * @param event packet 6170 * @return avrcp_cid 6171 * @note: btstack_type 2 6172 */ 6173 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){ 6174 return little_endian_read_16(event, 3); 6175 } 6176 /** 6177 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 6178 * @param event packet 6179 * @return command_type 6180 * @note: btstack_type 1 6181 */ 6182 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){ 6183 return event[5]; 6184 } 6185 /** 6186 * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO 6187 * @param event packet 6188 * @return total_tracks 6189 * @note: btstack_type 1 6190 */ 6191 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){ 6192 return event[6]; 6193 } 6194 6195 /** 6196 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 6197 * @param event packet 6198 * @return avrcp_cid 6199 * @note: btstack_type 2 6200 */ 6201 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){ 6202 return little_endian_read_16(event, 3); 6203 } 6204 /** 6205 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 6206 * @param event packet 6207 * @return command_type 6208 * @note: btstack_type 1 6209 */ 6210 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){ 6211 return event[5]; 6212 } 6213 /** 6214 * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO 6215 * @param event packet 6216 * @return song_length 6217 * @note: btstack_type 4 6218 */ 6219 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){ 6220 return little_endian_read_32(event, 6); 6221 } 6222 6223 /** 6224 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6225 * @param event packet 6226 * @return avrcp_cid 6227 * @note: btstack_type 2 6228 */ 6229 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){ 6230 return little_endian_read_16(event, 3); 6231 } 6232 /** 6233 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6234 * @param event packet 6235 * @return command_type 6236 * @note: btstack_type 1 6237 */ 6238 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){ 6239 return event[5]; 6240 } 6241 /** 6242 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6243 * @param event packet 6244 * @return value_len 6245 * @note: btstack_type J 6246 */ 6247 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){ 6248 return event[6]; 6249 } 6250 /** 6251 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO 6252 * @param event packet 6253 * @return value 6254 * @note: btstack_type V 6255 */ 6256 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){ 6257 return &event[7]; 6258 } 6259 6260 /** 6261 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6262 * @param event packet 6263 * @return avrcp_cid 6264 * @note: btstack_type 2 6265 */ 6266 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){ 6267 return little_endian_read_16(event, 3); 6268 } 6269 /** 6270 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6271 * @param event packet 6272 * @return command_type 6273 * @note: btstack_type 1 6274 */ 6275 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){ 6276 return event[5]; 6277 } 6278 /** 6279 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6280 * @param event packet 6281 * @return value_len 6282 * @note: btstack_type J 6283 */ 6284 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){ 6285 return event[6]; 6286 } 6287 /** 6288 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO 6289 * @param event packet 6290 * @return value 6291 * @note: btstack_type V 6292 */ 6293 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){ 6294 return &event[7]; 6295 } 6296 6297 /** 6298 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6299 * @param event packet 6300 * @return avrcp_cid 6301 * @note: btstack_type 2 6302 */ 6303 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){ 6304 return little_endian_read_16(event, 3); 6305 } 6306 /** 6307 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6308 * @param event packet 6309 * @return command_type 6310 * @note: btstack_type 1 6311 */ 6312 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){ 6313 return event[5]; 6314 } 6315 /** 6316 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6317 * @param event packet 6318 * @return value_len 6319 * @note: btstack_type J 6320 */ 6321 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){ 6322 return event[6]; 6323 } 6324 /** 6325 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO 6326 * @param event packet 6327 * @return value 6328 * @note: btstack_type V 6329 */ 6330 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){ 6331 return &event[7]; 6332 } 6333 6334 /** 6335 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6336 * @param event packet 6337 * @return avrcp_cid 6338 * @note: btstack_type 2 6339 */ 6340 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){ 6341 return little_endian_read_16(event, 3); 6342 } 6343 /** 6344 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6345 * @param event packet 6346 * @return command_type 6347 * @note: btstack_type 1 6348 */ 6349 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){ 6350 return event[5]; 6351 } 6352 /** 6353 * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6354 * @param event packet 6355 * @return value_len 6356 * @note: btstack_type J 6357 */ 6358 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){ 6359 return event[6]; 6360 } 6361 /** 6362 * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO 6363 * @param event packet 6364 * @return value 6365 * @note: btstack_type V 6366 */ 6367 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){ 6368 return &event[7]; 6369 } 6370 6371 /** 6372 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 6373 * @param event packet 6374 * @return avrcp_cid 6375 * @note: btstack_type 2 6376 */ 6377 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){ 6378 return little_endian_read_16(event, 3); 6379 } 6380 /** 6381 * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 6382 * @param event packet 6383 * @return command_type 6384 * @note: btstack_type 1 6385 */ 6386 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){ 6387 return event[5]; 6388 } 6389 /** 6390 * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE 6391 * @param event packet 6392 * @return status 6393 * @note: btstack_type 1 6394 */ 6395 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){ 6396 return event[6]; 6397 } 6398 6399 /** 6400 * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 6401 * @param event packet 6402 * @param Pointer to storage for bd_addr 6403 * @note: btstack_type B 6404 */ 6405 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6406 reverse_bd_addr(&event[3], bd_addr); 6407 } 6408 /** 6409 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION 6410 * @param event packet 6411 * @return browsing_cid 6412 * @note: btstack_type 2 6413 */ 6414 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){ 6415 return little_endian_read_16(event, 9); 6416 } 6417 6418 /** 6419 * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 6420 * @param event packet 6421 * @return status 6422 * @note: btstack_type 1 6423 */ 6424 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){ 6425 return event[3]; 6426 } 6427 /** 6428 * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 6429 * @param event packet 6430 * @param Pointer to storage for bd_addr 6431 * @note: btstack_type B 6432 */ 6433 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6434 reverse_bd_addr(&event[4], bd_addr); 6435 } 6436 /** 6437 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED 6438 * @param event packet 6439 * @return browsing_cid 6440 * @note: btstack_type 2 6441 */ 6442 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){ 6443 return little_endian_read_16(event, 10); 6444 } 6445 6446 /** 6447 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED 6448 * @param event packet 6449 * @return browsing_cid 6450 * @note: btstack_type 2 6451 */ 6452 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){ 6453 return little_endian_read_16(event, 3); 6454 } 6455 6456 /** 6457 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE 6458 * @param event packet 6459 * @return browsing_cid 6460 * @note: btstack_type 2 6461 */ 6462 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){ 6463 return little_endian_read_16(event, 3); 6464 } 6465 /** 6466 * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE 6467 * @param event packet 6468 * @return uid_counter 6469 * @note: btstack_type 2 6470 */ 6471 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){ 6472 return little_endian_read_16(event, 5); 6473 } 6474 /** 6475 * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE 6476 * @param event packet 6477 * @return browsing_status 6478 * @note: btstack_type 1 6479 */ 6480 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){ 6481 return event[7]; 6482 } 6483 /** 6484 * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE 6485 * @param event packet 6486 * @return bluetooth_status 6487 * @note: btstack_type 1 6488 */ 6489 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){ 6490 return event[8]; 6491 } 6492 6493 /** 6494 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 6495 * @param event packet 6496 * @return browsing_cid 6497 * @note: btstack_type 2 6498 */ 6499 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){ 6500 return little_endian_read_16(event, 3); 6501 } 6502 /** 6503 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 6504 * @param event packet 6505 * @return scope 6506 * @note: btstack_type 1 6507 */ 6508 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){ 6509 return event[5]; 6510 } 6511 /** 6512 * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS 6513 * @param event packet 6514 * @return attr_bitmap 6515 * @note: btstack_type 4 6516 */ 6517 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){ 6518 return little_endian_read_32(event, 6); 6519 } 6520 6521 /** 6522 * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 6523 * @param event packet 6524 * @return browsing_cid 6525 * @note: btstack_type 2 6526 */ 6527 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){ 6528 return little_endian_read_16(event, 3); 6529 } 6530 /** 6531 * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS 6532 * @param event packet 6533 * @return scope 6534 * @note: btstack_type 1 6535 */ 6536 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){ 6537 return event[5]; 6538 } 6539 6540 /** 6541 * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 6542 * @param event packet 6543 * @return avrcp_cid 6544 * @note: btstack_type 2 6545 */ 6546 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){ 6547 return little_endian_read_16(event, 3); 6548 } 6549 /** 6550 * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 6551 * @param event packet 6552 * @return command_type 6553 * @note: btstack_type 1 6554 */ 6555 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){ 6556 return event[5]; 6557 } 6558 /** 6559 * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED 6560 * @param event packet 6561 * @return playback_position_ms 6562 * @note: btstack_type 4 6563 */ 6564 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){ 6565 return little_endian_read_32(event, 6); 6566 } 6567 6568 /** 6569 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED 6570 * @param event packet 6571 * @return goep_cid 6572 * @note: btstack_type 2 6573 */ 6574 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){ 6575 return little_endian_read_16(event, 3); 6576 } 6577 /** 6578 * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED 6579 * @param event packet 6580 * @return status 6581 * @note: btstack_type 1 6582 */ 6583 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){ 6584 return event[5]; 6585 } 6586 /** 6587 * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED 6588 * @param event packet 6589 * @param Pointer to storage for bd_addr 6590 * @note: btstack_type B 6591 */ 6592 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6593 reverse_bd_addr(&event[6], bd_addr); 6594 } 6595 /** 6596 * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED 6597 * @param event packet 6598 * @return con_handle 6599 * @note: btstack_type H 6600 */ 6601 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){ 6602 return little_endian_read_16(event, 12); 6603 } 6604 /** 6605 * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED 6606 * @param event packet 6607 * @return incoming 6608 * @note: btstack_type 1 6609 */ 6610 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){ 6611 return event[14]; 6612 } 6613 6614 /** 6615 * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED 6616 * @param event packet 6617 * @return goep_cid 6618 * @note: btstack_type 2 6619 */ 6620 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 6621 return little_endian_read_16(event, 3); 6622 } 6623 6624 /** 6625 * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW 6626 * @param event packet 6627 * @return goep_cid 6628 * @note: btstack_type 2 6629 */ 6630 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){ 6631 return little_endian_read_16(event, 3); 6632 } 6633 6634 /** 6635 * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED 6636 * @param event packet 6637 * @return pbap_cid 6638 * @note: btstack_type 2 6639 */ 6640 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){ 6641 return little_endian_read_16(event, 3); 6642 } 6643 /** 6644 * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED 6645 * @param event packet 6646 * @return status 6647 * @note: btstack_type 1 6648 */ 6649 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){ 6650 return event[5]; 6651 } 6652 /** 6653 * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED 6654 * @param event packet 6655 * @param Pointer to storage for bd_addr 6656 * @note: btstack_type B 6657 */ 6658 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6659 reverse_bd_addr(&event[6], bd_addr); 6660 } 6661 /** 6662 * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED 6663 * @param event packet 6664 * @return con_handle 6665 * @note: btstack_type H 6666 */ 6667 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){ 6668 return little_endian_read_16(event, 12); 6669 } 6670 /** 6671 * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED 6672 * @param event packet 6673 * @return incoming 6674 * @note: btstack_type 1 6675 */ 6676 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){ 6677 return event[14]; 6678 } 6679 6680 /** 6681 * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED 6682 * @param event packet 6683 * @return goep_cid 6684 * @note: btstack_type 2 6685 */ 6686 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){ 6687 return little_endian_read_16(event, 3); 6688 } 6689 6690 /** 6691 * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED 6692 * @param event packet 6693 * @return goep_cid 6694 * @note: btstack_type 2 6695 */ 6696 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){ 6697 return little_endian_read_16(event, 3); 6698 } 6699 /** 6700 * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED 6701 * @param event packet 6702 * @return status 6703 * @note: btstack_type 1 6704 */ 6705 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){ 6706 return event[5]; 6707 } 6708 6709 /** 6710 * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE 6711 * @param event packet 6712 * @return goep_cid 6713 * @note: btstack_type 2 6714 */ 6715 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){ 6716 return little_endian_read_16(event, 3); 6717 } 6718 /** 6719 * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE 6720 * @param event packet 6721 * @return status 6722 * @note: btstack_type 1 6723 */ 6724 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){ 6725 return event[5]; 6726 } 6727 /** 6728 * @brief Get field phoneboook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE 6729 * @param event packet 6730 * @return phoneboook_size 6731 * @note: btstack_type 2 6732 */ 6733 static inline uint16_t pbap_subevent_phonebook_size_get_phoneboook_size(const uint8_t * event){ 6734 return little_endian_read_16(event, 6); 6735 } 6736 6737 /** 6738 * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 6739 * @param event packet 6740 * @return goep_cid 6741 * @note: btstack_type 2 6742 */ 6743 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){ 6744 return little_endian_read_16(event, 3); 6745 } 6746 /** 6747 * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 6748 * @param event packet 6749 * @return user_id_required 6750 * @note: btstack_type 1 6751 */ 6752 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){ 6753 return event[5]; 6754 } 6755 /** 6756 * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST 6757 * @param event packet 6758 * @return full_access 6759 * @note: btstack_type 1 6760 */ 6761 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){ 6762 return event[6]; 6763 } 6764 6765 /** 6766 * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT 6767 * @param event packet 6768 * @return goep_cid 6769 * @note: btstack_type 2 6770 */ 6771 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){ 6772 return little_endian_read_16(event, 3); 6773 } 6774 /** 6775 * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT 6776 * @param event packet 6777 * @return name_len 6778 * @note: btstack_type J 6779 */ 6780 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){ 6781 return event[5]; 6782 } 6783 /** 6784 * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT 6785 * @param event packet 6786 * @return name 6787 * @note: btstack_type V 6788 */ 6789 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){ 6790 return &event[6]; 6791 } 6792 /** 6793 * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT 6794 * @param event packet 6795 * @return handle_len 6796 * @note: btstack_type J 6797 */ 6798 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){ 6799 return event[6 + event[5]]; 6800 } 6801 /** 6802 * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT 6803 * @param event packet 6804 * @return handle 6805 * @note: btstack_type V 6806 */ 6807 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){ 6808 return &event[6 + event[5] + 1]; 6809 } 6810 6811 /** 6812 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED 6813 * @param event packet 6814 * @return hid_cid 6815 * @note: btstack_type 2 6816 */ 6817 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){ 6818 return little_endian_read_16(event, 3); 6819 } 6820 /** 6821 * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED 6822 * @param event packet 6823 * @return status 6824 * @note: btstack_type 1 6825 */ 6826 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){ 6827 return event[5]; 6828 } 6829 /** 6830 * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED 6831 * @param event packet 6832 * @param Pointer to storage for bd_addr 6833 * @note: btstack_type B 6834 */ 6835 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 6836 reverse_bd_addr(&event[6], bd_addr); 6837 } 6838 /** 6839 * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED 6840 * @param event packet 6841 * @return con_handle 6842 * @note: btstack_type H 6843 */ 6844 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){ 6845 return little_endian_read_16(event, 12); 6846 } 6847 /** 6848 * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED 6849 * @param event packet 6850 * @return incoming 6851 * @note: btstack_type 1 6852 */ 6853 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){ 6854 return event[14]; 6855 } 6856 6857 /** 6858 * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED 6859 * @param event packet 6860 * @return hid_cid 6861 * @note: btstack_type 2 6862 */ 6863 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){ 6864 return little_endian_read_16(event, 3); 6865 } 6866 6867 /** 6868 * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW 6869 * @param event packet 6870 * @return hid_cid 6871 * @note: btstack_type 2 6872 */ 6873 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){ 6874 return little_endian_read_16(event, 3); 6875 } 6876 6877 /** 6878 * @brief Get field con_handle from event HID_SUBEVENT_SUSPEND 6879 * @param event packet 6880 * @return con_handle 6881 * @note: btstack_type 2 6882 */ 6883 static inline uint16_t hid_subevent_suspend_get_con_handle(const uint8_t * event){ 6884 return little_endian_read_16(event, 3); 6885 } 6886 6887 /** 6888 * @brief Get field con_handle from event HID_SUBEVENT_EXIT_SUSPEND 6889 * @param event packet 6890 * @return con_handle 6891 * @note: btstack_type 2 6892 */ 6893 static inline uint16_t hid_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 6894 return little_endian_read_16(event, 3); 6895 } 6896 6897 /** 6898 * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW 6899 * @param event packet 6900 * @return con_handle 6901 * @note: btstack_type 2 6902 */ 6903 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){ 6904 return little_endian_read_16(event, 3); 6905 } 6906 6907 /** 6908 * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE 6909 * @param event packet 6910 * @return con_handle 6911 * @note: btstack_type 2 6912 */ 6913 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){ 6914 return little_endian_read_16(event, 3); 6915 } 6916 /** 6917 * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE 6918 * @param event packet 6919 * @return protocol_mode 6920 * @note: btstack_type 1 6921 */ 6922 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){ 6923 return event[5]; 6924 } 6925 6926 /** 6927 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 6928 * @param event packet 6929 * @return con_handle 6930 * @note: btstack_type 2 6931 */ 6932 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){ 6933 return little_endian_read_16(event, 3); 6934 } 6935 /** 6936 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE 6937 * @param event packet 6938 * @return enable 6939 * @note: btstack_type 1 6940 */ 6941 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){ 6942 return event[5]; 6943 } 6944 6945 /** 6946 * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 6947 * @param event packet 6948 * @return con_handle 6949 * @note: btstack_type 2 6950 */ 6951 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){ 6952 return little_endian_read_16(event, 3); 6953 } 6954 /** 6955 * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE 6956 * @param event packet 6957 * @return enable 6958 * @note: btstack_type 1 6959 */ 6960 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){ 6961 return event[5]; 6962 } 6963 6964 /** 6965 * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 6966 * @param event packet 6967 * @return con_handle 6968 * @note: btstack_type 2 6969 */ 6970 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){ 6971 return little_endian_read_16(event, 3); 6972 } 6973 /** 6974 * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE 6975 * @param event packet 6976 * @return enable 6977 * @note: btstack_type 1 6978 */ 6979 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){ 6980 return event[5]; 6981 } 6982 6983 /** 6984 * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 6985 * @param event packet 6986 * @return con_handle 6987 * @note: btstack_type 2 6988 */ 6989 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){ 6990 return little_endian_read_16(event, 3); 6991 } 6992 /** 6993 * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE 6994 * @param event packet 6995 * @return enable 6996 * @note: btstack_type 1 6997 */ 6998 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){ 6999 return event[5]; 7000 } 7001 7002 /** 7003 * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 7004 * @param event packet 7005 * @return con_handle 7006 * @note: btstack_type 2 7007 */ 7008 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){ 7009 return little_endian_read_16(event, 3); 7010 } 7011 /** 7012 * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE 7013 * @param event packet 7014 * @return enable 7015 * @note: btstack_type 1 7016 */ 7017 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){ 7018 return event[5]; 7019 } 7020 7021 /** 7022 * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND 7023 * @param event packet 7024 * @return con_handle 7025 * @note: btstack_type 2 7026 */ 7027 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){ 7028 return little_endian_read_16(event, 3); 7029 } 7030 7031 /** 7032 * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND 7033 * @param event packet 7034 * @return con_handle 7035 * @note: btstack_type 2 7036 */ 7037 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){ 7038 return little_endian_read_16(event, 3); 7039 } 7040 7041 /** 7042 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 7043 * @param event packet 7044 * @return con_handle 7045 * @note: btstack_type 2 7046 */ 7047 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){ 7048 return little_endian_read_16(event, 3); 7049 } 7050 /** 7051 * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 7052 * @param event packet 7053 * @return measurement_type 7054 * @note: btstack_type 1 7055 */ 7056 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){ 7057 return event[5]; 7058 } 7059 /** 7060 * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION 7061 * @param event packet 7062 * @return is_enhanced 7063 * @note: btstack_type 1 7064 */ 7065 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){ 7066 return event[6]; 7067 } 7068 7069 /** 7070 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START 7071 * @param event packet 7072 * @return con_handle 7073 * @note: btstack_type 2 7074 */ 7075 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){ 7076 return little_endian_read_16(event, 3); 7077 } 7078 7079 /** 7080 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP 7081 * @param event packet 7082 * @return con_handle 7083 * @note: btstack_type 2 7084 */ 7085 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){ 7086 return little_endian_read_16(event, 3); 7087 } 7088 7089 /** 7090 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_OPENED 7091 * @param event packet 7092 * @return map_cid 7093 * @note: btstack_type 2 7094 */ 7095 static inline uint16_t map_subevent_connection_opened_get_map_cid(const uint8_t * event){ 7096 return little_endian_read_16(event, 3); 7097 } 7098 /** 7099 * @brief Get field status from event MAP_SUBEVENT_CONNECTION_OPENED 7100 * @param event packet 7101 * @return status 7102 * @note: btstack_type 1 7103 */ 7104 static inline uint8_t map_subevent_connection_opened_get_status(const uint8_t * event){ 7105 return event[5]; 7106 } 7107 /** 7108 * @brief Get field bd_addr from event MAP_SUBEVENT_CONNECTION_OPENED 7109 * @param event packet 7110 * @param Pointer to storage for bd_addr 7111 * @note: btstack_type B 7112 */ 7113 static inline void map_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){ 7114 reverse_bd_addr(&event[6], bd_addr); 7115 } 7116 /** 7117 * @brief Get field con_handle from event MAP_SUBEVENT_CONNECTION_OPENED 7118 * @param event packet 7119 * @return con_handle 7120 * @note: btstack_type H 7121 */ 7122 static inline hci_con_handle_t map_subevent_connection_opened_get_con_handle(const uint8_t * event){ 7123 return little_endian_read_16(event, 12); 7124 } 7125 /** 7126 * @brief Get field incoming from event MAP_SUBEVENT_CONNECTION_OPENED 7127 * @param event packet 7128 * @return incoming 7129 * @note: btstack_type 1 7130 */ 7131 static inline uint8_t map_subevent_connection_opened_get_incoming(const uint8_t * event){ 7132 return event[14]; 7133 } 7134 7135 /** 7136 * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_CLOSED 7137 * @param event packet 7138 * @return map_cid 7139 * @note: btstack_type 2 7140 */ 7141 static inline uint16_t map_subevent_connection_closed_get_map_cid(const uint8_t * event){ 7142 return little_endian_read_16(event, 3); 7143 } 7144 7145 /** 7146 * @brief Get field map_cid from event MAP_SUBEVENT_OPERATION_COMPLETED 7147 * @param event packet 7148 * @return map_cid 7149 * @note: btstack_type 2 7150 */ 7151 static inline uint16_t map_subevent_operation_completed_get_map_cid(const uint8_t * event){ 7152 return little_endian_read_16(event, 3); 7153 } 7154 /** 7155 * @brief Get field status from event MAP_SUBEVENT_OPERATION_COMPLETED 7156 * @param event packet 7157 * @return status 7158 * @note: btstack_type 1 7159 */ 7160 static inline uint8_t map_subevent_operation_completed_get_status(const uint8_t * event){ 7161 return event[5]; 7162 } 7163 7164 /** 7165 * @brief Get field map_cid from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 7166 * @param event packet 7167 * @return map_cid 7168 * @note: btstack_type 2 7169 */ 7170 static inline uint16_t map_subevent_folder_listing_item_get_map_cid(const uint8_t * event){ 7171 return little_endian_read_16(event, 3); 7172 } 7173 /** 7174 * @brief Get field name_len from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 7175 * @param event packet 7176 * @return name_len 7177 * @note: btstack_type L 7178 */ 7179 static inline uint16_t map_subevent_folder_listing_item_get_name_len(const uint8_t * event){ 7180 return little_endian_read_16(event, 5); 7181 } 7182 /** 7183 * @brief Get field name from event MAP_SUBEVENT_FOLDER_LISTING_ITEM 7184 * @param event packet 7185 * @return name 7186 * @note: btstack_type V 7187 */ 7188 static inline const uint8_t * map_subevent_folder_listing_item_get_name(const uint8_t * event){ 7189 return &event[7]; 7190 } 7191 7192 /** 7193 * @brief Get field map_cid from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 7194 * @param event packet 7195 * @return map_cid 7196 * @note: btstack_type 2 7197 */ 7198 static inline uint16_t map_subevent_message_listing_item_get_map_cid(const uint8_t * event){ 7199 return little_endian_read_16(event, 3); 7200 } 7201 /** 7202 * @brief Get field handle from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM 7203 * @param event packet 7204 * @return handle 7205 * @note: btstack_type D 7206 */ 7207 static inline const uint8_t * map_subevent_message_listing_item_get_handle(const uint8_t * event){ 7208 return (const uint8_t *) &event[5]; 7209 } 7210 7211 /** 7212 * @brief Get field map_cid from event MAP_SUBEVENT_PARSING_DONE 7213 * @param event packet 7214 * @return map_cid 7215 * @note: btstack_type 2 7216 */ 7217 static inline uint16_t map_subevent_parsing_done_get_map_cid(const uint8_t * event){ 7218 return little_endian_read_16(event, 3); 7219 } 7220 7221 7222 7223 /* API_END */ 7224 7225 #if defined __cplusplus 7226 } 7227 #endif 7228 7229 #endif // BTSTACK_EVENT_H 7230