btstack_event.h (1bfb24b75d310cc128e37a35ec238bbf98890b25) btstack_event.h (caa39ea28d07d3d64ee0752a63c51d170f8f982c)
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

--- 4622 unchanged lines hidden (view full) ---

4631 * @param Pointer to storage for dhkey
4632 * @note: btstack_type Q
4633 */
4634static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){
4635 reverse_bytes(&event[4], dhkey, 32);
4636}
4637
4638/**
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

--- 4622 unchanged lines hidden (view full) ---

4631 * @param Pointer to storage for dhkey
4632 * @note: btstack_type Q
4633 */
4634static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){
4635 reverse_bytes(&event[4], dhkey, 32);
4636}
4637
4638/**
4639 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
4639 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1
4640 * @param event packet
4641 * @return status
4642 * @note: btstack_type 1
4643 */
4640 * @param event packet
4641 * @return status
4642 * @note: btstack_type 1
4643 */
4644static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_status(const uint8_t * event){
4644static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_status(const uint8_t * event){
4645 return event[3];
4646}
4647/**
4645 return event[3];
4646}
4647/**
4648 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
4648 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1
4649 * @param event packet
4650 * @return connection_handle
4651 * @note: btstack_type H
4652 */
4649 * @param event packet
4650 * @return connection_handle
4651 * @note: btstack_type H
4652 */
4653static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_get_connection_handle(const uint8_t * event){
4653static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v1_get_connection_handle(const uint8_t * event){
4654 return little_endian_read_16(event, 4);
4655}
4656/**
4654 return little_endian_read_16(event, 4);
4655}
4656/**
4657 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
4657 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1
4658 * @param event packet
4659 * @return role
4660 * @note: btstack_type 1
4661 */
4658 * @param event packet
4659 * @return role
4660 * @note: btstack_type 1
4661 */
4662static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_role(const uint8_t * event){
4662static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_role(const uint8_t * event){
4663 return event[6];
4664}
4665/**
4663 return event[6];
4664}
4665/**
4666 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
4666 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1
4667 * @param event packet
4668 * @return peer_address_type
4669 * @note: btstack_type 1
4670 */
4667 * @param event packet
4668 * @return peer_address_type
4669 * @note: btstack_type 1
4670 */
4671static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_peer_address_type(const uint8_t * event){
4671static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_peer_address_type(const uint8_t * event){
4672 return event[7];
4673}
4674/**
4672 return event[7];
4673}
4674/**
4675 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
4675 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1
4676 * @param event packet
4677 * @param Pointer to storage for peer_addresss
4678 * @note: btstack_type B
4679 */
4676 * @param event packet
4677 * @param Pointer to storage for peer_addresss
4678 * @note: btstack_type B
4679 */
4680static inline void hci_subevent_le_enhanced_connection_complete_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){
4680static inline void hci_subevent_le_enhanced_connection_complete_v1_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){
4681 reverse_bytes(&event[8], peer_addresss, 6);
4682}
4683/**
4681 reverse_bytes(&event[8], peer_addresss, 6);
4682}
4683/**
4684 * @brief Get field local_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
4684 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1
4685 * @param event packet
4685 * @param event packet
4686 * @param Pointer to storage for local_resolvable_private_addres
4686 * @param Pointer to storage for local_resolvable_private_address
4687 * @note: btstack_type B
4688 */
4687 * @note: btstack_type B
4688 */
4689static inline void hci_subevent_le_enhanced_connection_complete_get_local_resolvable_private_addres(const uint8_t * event, bd_addr_t local_resolvable_private_addres){
4690 reverse_bytes(&event[14], local_resolvable_private_addres, 6);
4689static inline void hci_subevent_le_enhanced_connection_complete_v1_get_local_resolvable_private_address(const uint8_t * event, bd_addr_t local_resolvable_private_address){
4690 reverse_bytes(&event[14], local_resolvable_private_address, 6);
4691}
4692/**
4691}
4692/**
4693 * @brief Get field peer_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
4693 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1
4694 * @param event packet
4694 * @param event packet
4695 * @param Pointer to storage for peer_resolvable_private_addres
4695 * @param Pointer to storage for peer_resolvable_private_address
4696 * @note: btstack_type B
4697 */
4696 * @note: btstack_type B
4697 */
4698static inline void hci_subevent_le_enhanced_connection_complete_get_peer_resolvable_private_addres(const uint8_t * event, bd_addr_t peer_resolvable_private_addres){
4699 reverse_bytes(&event[20], peer_resolvable_private_addres, 6);
4698static inline void hci_subevent_le_enhanced_connection_complete_v1_get_peer_resolvable_private_address(const uint8_t * event, bd_addr_t peer_resolvable_private_address){
4699 reverse_bytes(&event[20], peer_resolvable_private_address, 6);
4700}
4701/**
4700}
4701/**
4702 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
4702 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1
4703 * @param event packet
4704 * @return conn_interval
4705 * @note: btstack_type 2
4706 */
4703 * @param event packet
4704 * @return conn_interval
4705 * @note: btstack_type 2
4706 */
4707static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_interval(const uint8_t * event){
4707static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_interval(const uint8_t * event){
4708 return little_endian_read_16(event, 26);
4709}
4710/**
4708 return little_endian_read_16(event, 26);
4709}
4710/**
4711 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
4711 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1
4712 * @param event packet
4713 * @return conn_latency
4714 * @note: btstack_type 2
4715 */
4712 * @param event packet
4713 * @return conn_latency
4714 * @note: btstack_type 2
4715 */
4716static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_latency(const uint8_t * event){
4716static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_conn_latency(const uint8_t * event){
4717 return little_endian_read_16(event, 28);
4718}
4719/**
4717 return little_endian_read_16(event, 28);
4718}
4719/**
4720 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
4720 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1
4721 * @param event packet
4722 * @return supervision_timeout
4723 * @note: btstack_type 2
4724 */
4721 * @param event packet
4722 * @return supervision_timeout
4723 * @note: btstack_type 2
4724 */
4725static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_supervision_timeout(const uint8_t * event){
4725static inline uint16_t hci_subevent_le_enhanced_connection_complete_v1_get_supervision_timeout(const uint8_t * event){
4726 return little_endian_read_16(event, 30);
4727}
4728/**
4726 return little_endian_read_16(event, 30);
4727}
4728/**
4729 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
4729 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V1
4730 * @param event packet
4731 * @return master_clock_accuracy
4732 * @note: btstack_type 1
4733 */
4730 * @param event packet
4731 * @return master_clock_accuracy
4732 * @note: btstack_type 1
4733 */
4734static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_master_clock_accuracy(const uint8_t * event){
4734static inline uint8_t hci_subevent_le_enhanced_connection_complete_v1_get_master_clock_accuracy(const uint8_t * event){
4735 return event[32];
4736}
4737
4738/**
4739 * @brief Get field status from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE
4740 * @param event packet
4741 * @return status
4742 * @note: btstack_type 1

--- 843 unchanged lines hidden (view full) ---

5586 * @return supervision_timeout
5587 * @note: btstack_type 2
5588 */
5589static inline uint16_t hci_subevent_le_subrate_change_get_supervision_timeout(const uint8_t * event){
5590 return little_endian_read_16(event, 12);
5591}
5592
5593/**
4735 return event[32];
4736}
4737
4738/**
4739 * @brief Get field status from event HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE
4740 * @param event packet
4741 * @return status
4742 * @note: btstack_type 1

--- 843 unchanged lines hidden (view full) ---

5586 * @return supervision_timeout
5587 * @note: btstack_type 2
5588 */
5589static inline uint16_t hci_subevent_le_subrate_change_get_supervision_timeout(const uint8_t * event){
5590 return little_endian_read_16(event, 12);
5591}
5592
5593/**
5594 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST
5595 * @param event packet
5596 * @return advertising_handle
5597 * @note: btstack_type 1
5598 */
5599static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_advertising_handle(const uint8_t * event){
5600 return event[3];
5601}
5602/**
5603 * @brief Get field subevent_start from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST
5604 * @param event packet
5605 * @return subevent_start
5606 * @note: btstack_type 1
5607 */
5608static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_start(const uint8_t * event){
5609 return event[4];
5610}
5611/**
5612 * @brief Get field subevent_data_count from event HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_DATA_REQUEST
5613 * @param event packet
5614 * @return subevent_data_count
5615 * @note: btstack_type 1
5616 */
5617static inline uint8_t hci_subevent_le_periodic_advertising_data_request_get_subevent_data_count(const uint8_t * event){
5618 return event[5];
5619}
5620
5621/**
5622 * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2
5623 * @param event packet
5624 * @return status
5625 * @note: btstack_type 1
5626 */
5627static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_status(const uint8_t * event){
5628 return event[3];
5629}
5630/**
5631 * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2
5632 * @param event packet
5633 * @return connection_handle
5634 * @note: btstack_type H
5635 */
5636static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_connection_handle(const uint8_t * event){
5637 return little_endian_read_16(event, 4);
5638}
5639/**
5640 * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2
5641 * @param event packet
5642 * @return role
5643 * @note: btstack_type 1
5644 */
5645static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_role(const uint8_t * event){
5646 return event[6];
5647}
5648/**
5649 * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2
5650 * @param event packet
5651 * @return peer_address_type
5652 * @note: btstack_type 1
5653 */
5654static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_peer_address_type(const uint8_t * event){
5655 return event[7];
5656}
5657/**
5658 * @brief Get field peer_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2
5659 * @param event packet
5660 * @param Pointer to storage for peer_addresss
5661 * @note: btstack_type B
5662 */
5663static inline void hci_subevent_le_enhanced_connection_complete_v2_get_peer_addresss(const uint8_t * event, bd_addr_t peer_addresss){
5664 reverse_bytes(&event[8], peer_addresss, 6);
5665}
5666/**
5667 * @brief Get field local_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2
5668 * @param event packet
5669 * @param Pointer to storage for local_resolvable_private_address
5670 * @note: btstack_type B
5671 */
5672static inline void hci_subevent_le_enhanced_connection_complete_v2_get_local_resolvable_private_address(const uint8_t * event, bd_addr_t local_resolvable_private_address){
5673 reverse_bytes(&event[14], local_resolvable_private_address, 6);
5674}
5675/**
5676 * @brief Get field peer_resolvable_private_address from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2
5677 * @param event packet
5678 * @param Pointer to storage for peer_resolvable_private_address
5679 * @note: btstack_type B
5680 */
5681static inline void hci_subevent_le_enhanced_connection_complete_v2_get_peer_resolvable_private_address(const uint8_t * event, bd_addr_t peer_resolvable_private_address){
5682 reverse_bytes(&event[20], peer_resolvable_private_address, 6);
5683}
5684/**
5685 * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2
5686 * @param event packet
5687 * @return conn_interval
5688 * @note: btstack_type 2
5689 */
5690static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_interval(const uint8_t * event){
5691 return little_endian_read_16(event, 26);
5692}
5693/**
5694 * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2
5695 * @param event packet
5696 * @return conn_latency
5697 * @note: btstack_type 2
5698 */
5699static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_conn_latency(const uint8_t * event){
5700 return little_endian_read_16(event, 28);
5701}
5702/**
5703 * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2
5704 * @param event packet
5705 * @return supervision_timeout
5706 * @note: btstack_type 2
5707 */
5708static inline uint16_t hci_subevent_le_enhanced_connection_complete_v2_get_supervision_timeout(const uint8_t * event){
5709 return little_endian_read_16(event, 30);
5710}
5711/**
5712 * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2
5713 * @param event packet
5714 * @return master_clock_accuracy
5715 * @note: btstack_type 1
5716 */
5717static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_master_clock_accuracy(const uint8_t * event){
5718 return event[32];
5719}
5720/**
5721 * @brief Get field advertising_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2
5722 * @param event packet
5723 * @return advertising_handle
5724 * @note: btstack_type 1
5725 */
5726static inline uint8_t hci_subevent_le_enhanced_connection_complete_v2_get_advertising_handle(const uint8_t * event){
5727 return event[33];
5728}
5729/**
5730 * @brief Get field sync_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE_V2
5731 * @param event packet
5732 * @return sync_handle
5733 * @note: btstack_type H
5734 */
5735static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_v2_get_sync_handle(const uint8_t * event){
5736 return little_endian_read_16(event, 34);
5737}
5738
5739/**
5594 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED
5595 * @param event packet
5596 * @return advertisement_handle
5597 * @note: btstack_type 1
5598 */
5599static inline uint8_t gap_subevent_advertising_set_installed_get_advertisement_handle(const uint8_t * event){
5600 return event[3];
5601}

--- 9404 unchanged lines hidden ---
5740 * @brief Get field advertisement_handle from event GAP_SUBEVENT_ADVERTISING_SET_INSTALLED
5741 * @param event packet
5742 * @return advertisement_handle
5743 * @note: btstack_type 1
5744 */
5745static inline uint8_t gap_subevent_advertising_set_installed_get_advertisement_handle(const uint8_t * event){
5746 return event[3];
5747}

--- 9404 unchanged lines hidden ---