/* * Copyright (C) 2016 BlueKitchen GmbH * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the copyright holders nor the names of * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * 4. Any redistribution, use, or modification is done solely for * personal benefit and not for any commercial purpose or for * monetary gain. * * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS * RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * Please inquire about commercial licensing options at * contact@bluekitchen-gmbh.com * */ /* * btstack_event.h * * @brief BTstack event getter/setter * @note Don't edit - generated by tool/btstack_event_generator.py * */ #ifndef __BTSTACK_EVENT_H #define __BTSTACK_EVENT_H #if defined __cplusplus extern "C" { #endif #include "btstack_util.h" #include /* API_START */ /** * @brief Get field status from event sdp_event_service_registered * @param Event packet * @return status * @note: btstack_type 1 */ static inline uint8_t sdp_event_service_registered_get_status(const uint8_t * event){ return event[2]; } /** * @brief Get field service_record_handle from event sdp_event_service_registered * @param Event packet * @return service_record_handle * @note: btstack_type 4 */ static inline uint32_t sdp_event_service_registered_get_service_record_handle(const uint8_t * event){ return little_endian_read_32(event, 3); } /** * @brief Get field status from event sdp_event_query_complete * @param Event packet * @return status * @note: btstack_type 1 */ static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){ return event[2]; } /** * @brief Get field rfcomm_channel from event sdp_event_query_rfcomm_service * @param Event packet * @return rfcomm_channel * @note: btstack_type 1 */ static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){ return event[2]; } /** * @brief Get field name from event sdp_event_query_rfcomm_service * @param Event packet * @return name * @note: btstack_type T */ static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){ return (const char *) &event[3]; } /** * @brief Get field record_id from event sdp_event_query_attribute_byte * @param Event packet * @return record_id * @note: btstack_type 2 */ static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field attribute_id from event sdp_event_query_attribute_byte * @param Event packet * @return attribute_id * @note: btstack_type 2 */ static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){ return little_endian_read_16(event, 4); } /** * @brief Get field attribute_length from event sdp_event_query_attribute_byte * @param Event packet * @return attribute_length * @note: btstack_type 2 */ static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){ return little_endian_read_16(event, 6); } /** * @brief Get field data_offset from event sdp_event_query_attribute_byte * @param Event packet * @return data_offset * @note: btstack_type 2 */ static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){ return little_endian_read_16(event, 8); } /** * @brief Get field data from event sdp_event_query_attribute_byte * @param Event packet * @return data * @note: btstack_type 1 */ static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){ return event[10]; } /** * @brief Get field record_id from event sdp_event_query_attribute_value * @param Event packet * @return record_id * @note: btstack_type 2 */ static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field attribute_id from event sdp_event_query_attribute_value * @param Event packet * @return attribute_id * @note: btstack_type 2 */ static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){ return little_endian_read_16(event, 4); } /** * @brief Get field attribute_length from event sdp_event_query_attribute_value * @param Event packet * @return attribute_length * @note: btstack_type L */ static inline int sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){ return little_endian_read_16(event, 6); } /** * @brief Get field attribute_value from event sdp_event_query_attribute_value * @param Event packet * @return attribute_value * @note: btstack_type V */ static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){ return &event[8]; } /** * @brief Get field total_count from event sdp_event_query_service_record_handle * @param Event packet * @return total_count * @note: btstack_type 2 */ static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field record_index from event sdp_event_query_service_record_handle * @param Event packet * @return record_index * @note: btstack_type 2 */ static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){ return little_endian_read_16(event, 4); } /** * @brief Get field record_handle from event sdp_event_query_service_record_handle * @param Event packet * @return record_handle * @note: btstack_type 4 */ static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){ return little_endian_read_32(event, 6); } /** * @brief Get field handle from event sm_event_just_works_request * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field addr_type from event sm_event_just_works_request * @param Event packet * @return addr_type * @note: btstack_type 1 */ static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){ return event[4]; } /** * @brief Get field address from event sm_event_just_works_request * @param Event packet * @param Pointer to storage for address * @note: btstack_type B */ static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){ swap48(&event[5], address); } /** * @brief Get field handle from event sm_event_just_works_cancel * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t sm_event_just_works_cancel_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field addr_type from event sm_event_just_works_cancel * @param Event packet * @return addr_type * @note: btstack_type 1 */ static inline uint8_t sm_event_just_works_cancel_get_addr_type(const uint8_t * event){ return event[4]; } /** * @brief Get field address from event sm_event_just_works_cancel * @param Event packet * @param Pointer to storage for address * @note: btstack_type B */ static inline void sm_event_just_works_cancel_get_address(const uint8_t * event, bd_addr_t address){ swap48(&event[5], address); } /** * @brief Get field handle from event sm_event_passkey_display_number * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field addr_type from event sm_event_passkey_display_number * @param Event packet * @return addr_type * @note: btstack_type 1 */ static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){ return event[4]; } /** * @brief Get field address from event sm_event_passkey_display_number * @param Event packet * @param Pointer to storage for address * @note: btstack_type B */ static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){ swap48(&event[5], address); } /** * @brief Get field passkey from event sm_event_passkey_display_number * @param Event packet * @return passkey * @note: btstack_type 4 */ static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){ return little_endian_read_32(event, 11); } /** * @brief Get field handle from event sm_event_passkey_display_cancel * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field addr_type from event sm_event_passkey_display_cancel * @param Event packet * @return addr_type * @note: btstack_type 1 */ static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){ return event[4]; } /** * @brief Get field address from event sm_event_passkey_display_cancel * @param Event packet * @param Pointer to storage for address * @note: btstack_type B */ static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){ swap48(&event[5], address); } /** * @brief Get field handle from event sm_event_passkey_input_number * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field addr_type from event sm_event_passkey_input_number * @param Event packet * @return addr_type * @note: btstack_type 1 */ static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){ return event[4]; } /** * @brief Get field address from event sm_event_passkey_input_number * @param Event packet * @param Pointer to storage for address * @note: btstack_type B */ static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){ swap48(&event[5], address); } /** * @brief Get field handle from event sm_event_passkey_input_cancel * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t sm_event_passkey_input_cancel_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field addr_type from event sm_event_passkey_input_cancel * @param Event packet * @return addr_type * @note: btstack_type 1 */ static inline uint8_t sm_event_passkey_input_cancel_get_addr_type(const uint8_t * event){ return event[4]; } /** * @brief Get field address from event sm_event_passkey_input_cancel * @param Event packet * @param Pointer to storage for address * @note: btstack_type B */ static inline void sm_event_passkey_input_cancel_get_address(const uint8_t * event, bd_addr_t address){ swap48(&event[5], address); } /** * @brief Get field handle from event sm_event_identity_resolving_started * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field addr_type from event sm_event_identity_resolving_started * @param Event packet * @return addr_type * @note: btstack_type 1 */ static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){ return event[4]; } /** * @brief Get field address from event sm_event_identity_resolving_started * @param Event packet * @param Pointer to storage for address * @note: btstack_type B */ static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){ swap48(&event[5], address); } /** * @brief Get field handle from event sm_event_identity_resolving_failed * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field addr_type from event sm_event_identity_resolving_failed * @param Event packet * @return addr_type * @note: btstack_type 1 */ static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){ return event[4]; } /** * @brief Get field address from event sm_event_identity_resolving_failed * @param Event packet * @param Pointer to storage for address * @note: btstack_type B */ static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){ swap48(&event[5], address); } /** * @brief Get field handle from event sm_event_identity_resolving_succeeded * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field addr_type from event sm_event_identity_resolving_succeeded * @param Event packet * @return addr_type * @note: btstack_type 1 */ static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){ return event[4]; } /** * @brief Get field address from event sm_event_identity_resolving_succeeded * @param Event packet * @param Pointer to storage for address * @note: btstack_type B */ static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){ swap48(&event[5], address); } /** * @brief Get field le_device_db_index from event sm_event_identity_resolving_succeeded * @param Event packet * @return le_device_db_index * @note: btstack_type 2 */ static inline uint16_t sm_event_identity_resolving_succeeded_get_le_device_db_index(const uint8_t * event){ return little_endian_read_16(event, 11); } /** * @brief Get field handle from event sm_event_authorization_request * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field addr_type from event sm_event_authorization_request * @param Event packet * @return addr_type * @note: btstack_type 1 */ static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){ return event[4]; } /** * @brief Get field address from event sm_event_authorization_request * @param Event packet * @param Pointer to storage for address * @note: btstack_type B */ static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){ swap48(&event[5], address); } /** * @brief Get field handle from event sm_event_authorization_result * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field addr_type from event sm_event_authorization_result * @param Event packet * @return addr_type * @note: btstack_type 1 */ static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){ return event[4]; } /** * @brief Get field address from event sm_event_authorization_result * @param Event packet * @param Pointer to storage for address * @note: btstack_type B */ static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){ swap48(&event[5], address); } /** * @brief Get field authorization_result from event sm_event_authorization_result * @param Event packet * @return authorization_result * @note: btstack_type 1 */ static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){ return event[11]; } /** * @brief Get field handle from event ancs_event_client_connected * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t ancs_event_client_connected_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field handle from event ancs_event_client_notification * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t ancs_event_client_notification_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /** * @brief Get field attribute_id from event ancs_event_client_notification * @param Event packet * @return attribute_id * @note: btstack_type 2 */ static inline uint16_t ancs_event_client_notification_get_attribute_id(const uint8_t * event){ return little_endian_read_16(event, 4); } /** * @brief Get field text from event ancs_event_client_notification * @param Event packet * @return text * @note: btstack_type T */ static inline const char * ancs_event_client_notification_get_text(const uint8_t * event){ return (const char *) &event[6]; } /** * @brief Get field handle from event ancs_event_client_disconnected * @param Event packet * @return handle * @note: btstack_type H */ static inline hci_con_handle_t ancs_event_client_disconnected_get_handle(const uint8_t * event){ return little_endian_read_16(event, 2); } /* API_END */ #if defined __cplusplus } #endif #endif // __BTSTACK_EVENT_H