From 65cdefd9864d3fd2fc90ed885913068df2615c09 Mon Sep 17 00:00:00 2001 From: Milanka Ringwald Date: Wed, 9 Feb 2022 10:49:56 +0100 Subject: [PATCH] btstack_defines: add LE Audio events --- src/btstack_defines.h | 370 +++++++++- src/btstack_event.h | 1529 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 1868 insertions(+), 31 deletions(-) diff --git a/src/btstack_defines.h b/src/btstack_defines.h index ba883d15a..7f0754fda 100644 --- a/src/btstack_defines.h +++ b/src/btstack_defines.h @@ -4048,7 +4048,7 @@ typedef uint8_t sm_key_t[16]; #define GATTSERVICE_SUBEVENT_REMOTE_MICS_MUTE 0x1Au /** - * @format 121 + * @format 1H1 * @param subevent_code * @param con_handle * @param state @@ -4056,7 +4056,7 @@ typedef uint8_t sm_key_t[16]; #define GATTSERVICE_SUBEVENT_LOCAL_MICS_MUTE 0x1Bu /** - * @format 1211 + * @format 1H11 * @param subevent_code * @param con_handle * @param index @@ -4065,7 +4065,7 @@ typedef uint8_t sm_key_t[16]; #define GATTSERVICE_SUBEVENT_AICS_MUTE_MODE 0x1Cu /** - * @format 1211 + * @format 1H11 * @param subevent_code * @param con_handle * @param index @@ -4074,7 +4074,7 @@ typedef uint8_t sm_key_t[16]; #define GATTSERVICE_SUBEVENT_AICS_GAIN_MODE 0x1Du /** - * @format 1211 + * @format 1H11 * @param subevent_code * @param con_handle * @param index @@ -4083,7 +4083,7 @@ typedef uint8_t sm_key_t[16]; #define GATTSERVICE_SUBEVENT_AICS_GAIN_CHANGED 0x1Eu /** - * @format 121JV + * @format 1H1JV * @param subevent_code * @param con_handle * @param index @@ -4093,7 +4093,7 @@ typedef uint8_t sm_key_t[16]; #define GATTSERVICE_SUBEVENT_AICS_AUDIO_INPUT_DESC_CHANGED 0x20u /** - * @format 1212 + * @format 1H12 * @param subevent_code * @param con_handle * @param index @@ -4102,7 +4102,7 @@ typedef uint8_t sm_key_t[16]; #define GATTSERVICE_SUBEVENT_VOCS_VOLUME_OFFSET 0x21u /** - * @format 1214 + * @format 1H14 * @param subevent_code * @param con_handle * @param index @@ -4111,7 +4111,7 @@ typedef uint8_t sm_key_t[16]; #define GATTSERVICE_SUBEVENT_VOCS_AUDIO_LOCATION 0x22u /** - * @format 121JV + * @format 1H1JV * @param subevent_code * @param con_handle * @param index @@ -4121,7 +4121,7 @@ typedef uint8_t sm_key_t[16]; #define GATTSERVICE_SUBEVENT_VOCS_AUDIO_OUTPUT_DESC_CHANGED 0x23u /** - * @format 12111 + * @format 1H111 * @param subevent_code * @param con_handle * @param volume_setting @@ -4131,13 +4131,362 @@ typedef uint8_t sm_key_t[16]; #define GATTSERVICE_SUBEVENT_VCS_VOLUME_STATE 0x24u /** - * @format 121 + * @format 1H1 * @param subevent_code * @param con_handle * @param flags */ #define GATTSERVICE_SUBEVENT_VCS_VOLUME_FLAGS 0x25u +/** + * @format 1H + * @param subevent_code + * @param con_handle +*/ +#define GATTSERVICE_SUBEVENT_BASS_REMOTE_SCAN_STOPPED 0x26u + +/** + * @format 1H + * @param subevent_code + * @param con_handle +*/ +#define GATTSERVICE_SUBEVENT_BASS_REMOTE_SCAN_STARTED 0x27u + +/** + * @format 1H1P + * @param subevent_code + * @param con_handle + * @param source_id + * @param broadcast_code +*/ +#define GATTSERVICE_SUBEVENT_BASS_BROADCAST_CODE 0x28u + +/** + * @format 1H11 + * @param subevent_code + * @param con_handle + * @param source_id + * @param pa_sync + */ +#define GATTSERVICE_SUBEVENT_BASS_SOURCE_ADDED 0x29u + +/** + * @format 1H11 + * @param subevent_code + * @param con_handle + * @param source_id + * @param pa_sync + */ +#define GATTSERVICE_SUBEVENT_BASS_SOURCE_MODIFIED 0x30u + +/** + * @format 1H11 + * @param subevent_code + * @param con_handle + * @param source_id + * @param pa_sync + */ +#define GATTSERVICE_SUBEVENT_BASS_SOURCE_DELETED 0x31u + +/** + * @format 1H111122111421 + * @param subevent_code + * @param con_handle + * @param ase_id + * @param target_latency + * @param target_phy + * @param coding_format + * @param company_id + * @param vendor_specific_codec_id + * @param codec_configuration_mask + * @param sampling_frequency_index + * @param frame_duration_index + * @param audio_channel_allocation_mask + * @param octets_per_frame + * @param frame_blocks_per_sdu +*/ +#define GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED 0x32u + +/** + * @format 1H1113112123 + * @param subevent_code + * @param con_handle + * @param ase_id + * @param cig_id + * @param cis_id + * @param sdu_interval + * @param framing + * @param phy + * @param max_sdu + * @param retransmission_number + * @param max_transport_latency + * @param presentation_delay_us +*/ +#define GATTSERVICE_SUBEVENT_ASCS_CLIENT_QOS_CONFIGURATION_RECEIVED 0x033u + +/** + * @format 1H1122JV3JV1JV2JV2JV + * @param subevent_code + * @param con_handle + * @param ase_id + * @param metadata_mask + * @param preferred_audio_contexts_mask + * @param streaming_audio_contexts_mask + * @param program_info_length + * @param program_info + * @param language_code + * @param ccids_num + * @param ccids + * @param parental_rating + * @param program_info_uri_length + * @param program_info_uri + * @param extended_metadata_type + * @param extended_metadata_value_length + * @param extended_metadata_value + * @param vendor_specific_metadata_type + * @param vendor_specific_metadata_value_length + * @param vendor_specific_metadata_value +*/ +#define GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED 0x34u + +/** + * @format 1H1 + * @param subevent_code + * @param con_handle + * @param ase_id +*/ +#define GATTSERVICE_SUBEVENT_ASCS_CLIENT_START_READY 0x35u + +/** + * @format 1H1 + * @param subevent_code + * @param con_handle + * @param ase_id +*/ +#define GATTSERVICE_SUBEVENT_ASCS_CLIENT_DISABLING 0x36u + +/** + * @format 1H1 + * @param subevent_code + * @param con_handle + * @param ase_id +*/ +#define GATTSERVICE_SUBEVENT_ASCS_CLIENT_RELEASING 0x37u + +/** + * @format 1H1 + * @param subevent_code + * @param con_handle + * @param ase_id +*/ +#define GATTSERVICE_SUBEVENT_ASCS_CLIENT_STOP_READY 0x38u + +/** + * @format 1H1 + * @param subevent_code + * @param con_handle + * @param ase_id +*/ +#define GATTSERVICE_SUBEVENT_ASCS_CLIENT_RELEASED 0x39u + +/** + * @format 1H41 + * @param subevent_code + * @param con_handle + * @param audio_locations + * @param role see le_audio_role_t +*/ +#define GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATION_RECEIVED 0x42u + +/** + * @format 1H21 + * @param subevent_code + * @param con_handle + * @param bass_cid + * @param status +*/ +#define GATTSERVICE_SUBEVENT_BASS_CONNECTED 0x43u + +/** + * @format 12 + * @param subevent_code + * @param bass_cid +*/ +#define GATTSERVICE_SUBEVENT_BASS_DISCONNECTED 0x44u + +/** + * @format 1211 + * @param subevent_code + * @param bass_cid + * @param status + * @param opcode +*/ +#define GATTSERVICE_SUBEVENT_BASS_SCAN_OPERATION_COMPLETE 0x45u + +/** + * @format 1211B1311P1 + * @param subevent_code + * @param bass_cid + * @param source_id + * @param source_address_type + * @param source_address + * @param source_adv_sid + * @param broadcast_id + * @param pa_sync_state + * @param big_encryption + * @param bad_code + * @param subgroups_num +*/ +#define GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE 0x46u + +/** + * @format 1214122JV3JV1JV2JV2JV + * @param subevent_code + * @param bass_cid + * @param source_id + * @param bis_sync_state + * @param metadata_mask + * @param preferred_audio_contexts_mask + * @param streaming_audio_contexts_mask + * @param program_info_length + * @param program_info + * @param language_code + * @param ccids_num + * @param ccids + * @param parental_rating + * @param program_info_uri_length + * @param program_info_uri + * @param extended_metadata_type + * @param extended_metadata_value_length + * @param extended_metadata_value + * @param vendor_specific_metadata_type + * @param vendor_specific_metadata_value_length + * @param vendor_specific_metadata_value +*/ +#define GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP 0x47u + +/** + * @format 121 + * @param subevent_code + * @param bass_cid + * @param source_id +*/ +#define GATTSERVICE_SUBEVENT_BASS_NOTIFICATION_COMPLETE 0x48u + +/** + * @format 12111 + * @param subevent_code + * @param bass_cid + * @param status + * @param opcode + * @param source_id +*/ +#define GATTSERVICE_SUBEVENT_BASS_SOURCE_OPERATION_COMPLETE 0x49u + +/** + * @format 1H21 + * @param subevent_code + * @param con_handle + * @param pacs_cid + * @param status +*/ +#define GATTSERVICE_SUBEVENT_PACS_CONNECTED 0x50u + +/** + * @format 121 + * @param subevent_code + * @param pacs_cid + * @param status +*/ +#define GATTSERVICE_SUBEVENT_PACS_OPERATION_DONE 0x51u + +/** + * @format 1214 + * @param subevent_code + * @param pacs_cid + * @param le_audio_role + * @param audio_location_mask +*/ +#define GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATIONS 0x52u + +/** + * @format 1222 + * @param subevent_code + * @param pacs_cid + * @param sink_mask + * @param source_mask +*/ +#define GATTSERVICE_SUBEVENT_PACS_AVAILABLE_AUDIO_CONTEXTS 0x53u + +/** + * @format 1222 + * @param subevent_code + * @param pacs_cid + * @param sink_mask + * @param source_mask +*/ +#define GATTSERVICE_SUBEVENT_PACS_SUPPORTED_AUDIO_CONTEXTS 0x54u + +/** + * @format 1211221211221222JV3JV1JV2JV2JV + * @param subevent_code + * @param pacs_cid + * @param le_audio_role + * @param coding_format + * @param company_id + * @param vendor_specific_codec_id + * @param codec_capability_mask + * @param supported_sampling_frequencies_mask + * @param supported_frame_durations_mask + * @param supported_audio_channel_counts_mask + * @param supported_octets_per_frame_min_num + * @param supported_octets_per_frame_max_num + * @param supported_max_codec_frames_per_sdu + * @param metadata_mask + * @param preferred_audio_contexts_mask + * @param streaming_audio_contexts_mask + * @param program_info_length + * @param program_info + * @param language_code + * @param ccids_num + * @param ccids + * @param parental_rating + * @param program_info_uri_length + * @param program_info_uri + * @param extended_metadata_type + * @param extended_metadata_value_length + * @param extended_metadata_value + * @param vendor_specific_metadata_type + * @param vendor_specific_metadata_value_length + * @param vendor_specific_metadata_value +*/ + +#define GATTSERVICE_SUBEVENT_PACS_PACK_RECORD 0x55u + +/** + * @format 121 + * @param subevent_code + * @param pacs_cid + * @param le_audio_role +*/ +#define GATTSERVICE_SUBEVENT_PACS_PACK_RECORD_DONE 0x56u + + +/** + * @format 1H21 + * @param subevent_code + * @param con_handle + * @param ascs_cid + * @param status +*/ +#define GATTSERVICE_SUBEVENT_ASCS_CONNECTED 0x57u + +/** + * @format 12 + * @param subevent_code + * @param ascs_cid +*/ +#define GATTSERVICE_SUBEVENT_ASCS_DISCONNECTED 0x58u // MAP Meta Event Group @@ -4182,7 +4531,6 @@ typedef uint8_t sm_key_t[16]; * @param subevent_code * @param map_cid * @param handle - */ #define MAP_SUBEVENT_MESSAGE_LISTING_ITEM 0x05u diff --git a/src/btstack_event.h b/src/btstack_event.h index c65afbcde..3fca0eee8 100644 --- a/src/btstack_event.h +++ b/src/btstack_event.h @@ -12832,9 +12832,9 @@ static inline uint8_t gattservice_subevent_remote_mics_mute_get_state(const uint * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_LOCAL_MICS_MUTE * @param event packet * @return con_handle - * @note: btstack_type 2 + * @note: btstack_type H */ -static inline uint16_t gattservice_subevent_local_mics_mute_get_con_handle(const uint8_t * event){ +static inline hci_con_handle_t gattservice_subevent_local_mics_mute_get_con_handle(const uint8_t * event){ return little_endian_read_16(event, 3); } /** @@ -12851,9 +12851,9 @@ static inline uint8_t gattservice_subevent_local_mics_mute_get_state(const uint8 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_AICS_MUTE_MODE * @param event packet * @return con_handle - * @note: btstack_type 2 + * @note: btstack_type H */ -static inline uint16_t gattservice_subevent_aics_mute_mode_get_con_handle(const uint8_t * event){ +static inline hci_con_handle_t gattservice_subevent_aics_mute_mode_get_con_handle(const uint8_t * event){ return little_endian_read_16(event, 3); } /** @@ -12879,9 +12879,9 @@ static inline uint8_t gattservice_subevent_aics_mute_mode_get_state(const uint8_ * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_AICS_GAIN_MODE * @param event packet * @return con_handle - * @note: btstack_type 2 + * @note: btstack_type H */ -static inline uint16_t gattservice_subevent_aics_gain_mode_get_con_handle(const uint8_t * event){ +static inline hci_con_handle_t gattservice_subevent_aics_gain_mode_get_con_handle(const uint8_t * event){ return little_endian_read_16(event, 3); } /** @@ -12907,9 +12907,9 @@ static inline uint8_t gattservice_subevent_aics_gain_mode_get_state(const uint8_ * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_AICS_GAIN_CHANGED * @param event packet * @return con_handle - * @note: btstack_type 2 + * @note: btstack_type H */ -static inline uint16_t gattservice_subevent_aics_gain_changed_get_con_handle(const uint8_t * event){ +static inline hci_con_handle_t gattservice_subevent_aics_gain_changed_get_con_handle(const uint8_t * event){ return little_endian_read_16(event, 3); } /** @@ -12935,9 +12935,9 @@ static inline uint8_t gattservice_subevent_aics_gain_changed_get_gain_db(const u * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_AICS_AUDIO_INPUT_DESC_CHANGED * @param event packet * @return con_handle - * @note: btstack_type 2 + * @note: btstack_type H */ -static inline uint16_t gattservice_subevent_aics_audio_input_desc_changed_get_con_handle(const uint8_t * event){ +static inline hci_con_handle_t gattservice_subevent_aics_audio_input_desc_changed_get_con_handle(const uint8_t * event){ return little_endian_read_16(event, 3); } /** @@ -12972,9 +12972,9 @@ static inline const uint8_t * gattservice_subevent_aics_audio_input_desc_changed * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VOCS_VOLUME_OFFSET * @param event packet * @return con_handle - * @note: btstack_type 2 + * @note: btstack_type H */ -static inline uint16_t gattservice_subevent_vocs_volume_offset_get_con_handle(const uint8_t * event){ +static inline hci_con_handle_t gattservice_subevent_vocs_volume_offset_get_con_handle(const uint8_t * event){ return little_endian_read_16(event, 3); } /** @@ -13000,9 +13000,9 @@ static inline uint16_t gattservice_subevent_vocs_volume_offset_get_volume_offset * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VOCS_AUDIO_LOCATION * @param event packet * @return con_handle - * @note: btstack_type 2 + * @note: btstack_type H */ -static inline uint16_t gattservice_subevent_vocs_audio_location_get_con_handle(const uint8_t * event){ +static inline hci_con_handle_t gattservice_subevent_vocs_audio_location_get_con_handle(const uint8_t * event){ return little_endian_read_16(event, 3); } /** @@ -13028,9 +13028,9 @@ static inline uint32_t gattservice_subevent_vocs_audio_location_get_audio_locati * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VOCS_AUDIO_OUTPUT_DESC_CHANGED * @param event packet * @return con_handle - * @note: btstack_type 2 + * @note: btstack_type H */ -static inline uint16_t gattservice_subevent_vocs_audio_output_desc_changed_get_con_handle(const uint8_t * event){ +static inline hci_con_handle_t gattservice_subevent_vocs_audio_output_desc_changed_get_con_handle(const uint8_t * event){ return little_endian_read_16(event, 3); } /** @@ -13065,9 +13065,9 @@ static inline const uint8_t * gattservice_subevent_vocs_audio_output_desc_change * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VCS_VOLUME_STATE * @param event packet * @return con_handle - * @note: btstack_type 2 + * @note: btstack_type H */ -static inline uint16_t gattservice_subevent_vcs_volume_state_get_con_handle(const uint8_t * event){ +static inline hci_con_handle_t gattservice_subevent_vcs_volume_state_get_con_handle(const uint8_t * event){ return little_endian_read_16(event, 3); } /** @@ -13102,9 +13102,9 @@ static inline uint8_t gattservice_subevent_vcs_volume_state_get_mute(const uint8 * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_VCS_VOLUME_FLAGS * @param event packet * @return con_handle - * @note: btstack_type 2 + * @note: btstack_type H */ -static inline uint16_t gattservice_subevent_vcs_volume_flags_get_con_handle(const uint8_t * event){ +static inline hci_con_handle_t gattservice_subevent_vcs_volume_flags_get_con_handle(const uint8_t * event){ return little_endian_read_16(event, 3); } /** @@ -13117,6 +13117,1495 @@ static inline uint8_t gattservice_subevent_vcs_volume_flags_get_flags(const uint return event[5]; } +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_REMOTE_SCAN_STOPPED + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_bass_remote_scan_stopped_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_REMOTE_SCAN_STARTED + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_bass_remote_scan_started_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_BROADCAST_CODE + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +// static inline hci_con_handle_t gattservice_subevent_bass_broadcast_code_get_con_handle(const uint8_t * event){ +// not implemented yet +// } +/** + * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_BROADCAST_CODE + * @param event packet + * @return source_id + * @note: btstack_type 1 + */ +// static inline uint8_t gattservice_subevent_bass_broadcast_code_get_source_id(const uint8_t * event){ +// not implemented yet +// } +/** + * @brief Get field broadcast_code from event GATTSERVICE_SUBEVENT_BASS_BROADCAST_CODE + * @param event packet + * @return broadcast_code + * @note: btstack_type P + */ +// static inline const uint8_t * gattservice_subevent_bass_broadcast_code_get_broadcast_code(const uint8_t * event){ +// not implemented yet +// } + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SOURCE_ADDED + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_bass_source_added_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SOURCE_ADDED + * @param event packet + * @return source_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_source_added_get_source_id(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field pa_sync from event GATTSERVICE_SUBEVENT_BASS_SOURCE_ADDED + * @param event packet + * @return pa_sync + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_source_added_get_pa_sync(const uint8_t * event){ + return event[6]; +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SOURCE_MODIFIED + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_bass_source_modified_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SOURCE_MODIFIED + * @param event packet + * @return source_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_source_modified_get_source_id(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field pa_sync from event GATTSERVICE_SUBEVENT_BASS_SOURCE_MODIFIED + * @param event packet + * @return pa_sync + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_source_modified_get_pa_sync(const uint8_t * event){ + return event[6]; +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_SOURCE_DELETED + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_bass_source_deleted_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SOURCE_DELETED + * @param event packet + * @return source_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_source_deleted_get_source_id(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field pa_sync from event GATTSERVICE_SUBEVENT_BASS_SOURCE_DELETED + * @param event packet + * @return pa_sync + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_source_deleted_get_pa_sync(const uint8_t * event){ + return event[6]; +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_ascs_client_codec_configuration_received_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED + * @param event packet + * @return ase_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_codec_configuration_received_get_ase_id(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field target_latency from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED + * @param event packet + * @return target_latency + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_codec_configuration_received_get_target_latency(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field target_phy from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED + * @param event packet + * @return target_phy + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_codec_configuration_received_get_target_phy(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field coding_format from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED + * @param event packet + * @return coding_format + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_codec_configuration_received_get_coding_format(const uint8_t * event){ + return event[8]; +} +/** + * @brief Get field company_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED + * @param event packet + * @return company_id + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_ascs_client_codec_configuration_received_get_company_id(const uint8_t * event){ + return little_endian_read_16(event, 9); +} +/** + * @brief Get field vendor_specific_codec_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED + * @param event packet + * @return vendor_specific_codec_id + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_ascs_client_codec_configuration_received_get_vendor_specific_codec_id(const uint8_t * event){ + return little_endian_read_16(event, 11); +} +/** + * @brief Get field codec_configuration_mask from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED + * @param event packet + * @return codec_configuration_mask + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_codec_configuration_received_get_codec_configuration_mask(const uint8_t * event){ + return event[13]; +} +/** + * @brief Get field sampling_frequency_index from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED + * @param event packet + * @return sampling_frequency_index + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_codec_configuration_received_get_sampling_frequency_index(const uint8_t * event){ + return event[14]; +} +/** + * @brief Get field frame_duration_index from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED + * @param event packet + * @return frame_duration_index + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_codec_configuration_received_get_frame_duration_index(const uint8_t * event){ + return event[15]; +} +/** + * @brief Get field audio_channel_allocation_mask from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED + * @param event packet + * @return audio_channel_allocation_mask + * @note: btstack_type 4 + */ +static inline uint32_t gattservice_subevent_ascs_client_codec_configuration_received_get_audio_channel_allocation_mask(const uint8_t * event){ + return little_endian_read_32(event, 16); +} +/** + * @brief Get field octets_per_frame from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED + * @param event packet + * @return octets_per_frame + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_ascs_client_codec_configuration_received_get_octets_per_frame(const uint8_t * event){ + return little_endian_read_16(event, 20); +} +/** + * @brief Get field frame_blocks_per_sdu from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_CODEC_CONFIGURATION_RECEIVED + * @param event packet + * @return frame_blocks_per_sdu + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_codec_configuration_received_get_frame_blocks_per_sdu(const uint8_t * event){ + return event[22]; +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_QOS_CONFIGURATION_RECEIVED + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_ascs_client_qos_configuration_received_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_QOS_CONFIGURATION_RECEIVED + * @param event packet + * @return ase_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_qos_configuration_received_get_ase_id(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field cig_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_QOS_CONFIGURATION_RECEIVED + * @param event packet + * @return cig_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_qos_configuration_received_get_cig_id(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field cis_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_QOS_CONFIGURATION_RECEIVED + * @param event packet + * @return cis_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_qos_configuration_received_get_cis_id(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field sdu_interval from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_QOS_CONFIGURATION_RECEIVED + * @param event packet + * @return sdu_interval + * @note: btstack_type 3 + */ +static inline uint32_t gattservice_subevent_ascs_client_qos_configuration_received_get_sdu_interval(const uint8_t * event){ + return little_endian_read_24(event, 8); +} +/** + * @brief Get field framing from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_QOS_CONFIGURATION_RECEIVED + * @param event packet + * @return framing + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_qos_configuration_received_get_framing(const uint8_t * event){ + return event[11]; +} +/** + * @brief Get field phy from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_QOS_CONFIGURATION_RECEIVED + * @param event packet + * @return phy + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_qos_configuration_received_get_phy(const uint8_t * event){ + return event[12]; +} +/** + * @brief Get field max_sdu from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_QOS_CONFIGURATION_RECEIVED + * @param event packet + * @return max_sdu + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_ascs_client_qos_configuration_received_get_max_sdu(const uint8_t * event){ + return little_endian_read_16(event, 13); +} +/** + * @brief Get field retransmission_number from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_QOS_CONFIGURATION_RECEIVED + * @param event packet + * @return retransmission_number + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_qos_configuration_received_get_retransmission_number(const uint8_t * event){ + return event[15]; +} +/** + * @brief Get field max_transport_latency from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_QOS_CONFIGURATION_RECEIVED + * @param event packet + * @return max_transport_latency + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_ascs_client_qos_configuration_received_get_max_transport_latency(const uint8_t * event){ + return little_endian_read_16(event, 16); +} +/** + * @brief Get field presentation_delay_us from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_QOS_CONFIGURATION_RECEIVED + * @param event packet + * @return presentation_delay_us + * @note: btstack_type 3 + */ +static inline uint32_t gattservice_subevent_ascs_client_qos_configuration_received_get_presentation_delay_us(const uint8_t * event){ + return little_endian_read_24(event, 18); +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_ascs_client_metadata_received_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return ase_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_metadata_received_get_ase_id(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field metadata_mask from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return metadata_mask + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_metadata_received_get_metadata_mask(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field preferred_audio_contexts_mask from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return preferred_audio_contexts_mask + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_ascs_client_metadata_received_get_preferred_audio_contexts_mask(const uint8_t * event){ + return little_endian_read_16(event, 7); +} +/** + * @brief Get field streaming_audio_contexts_mask from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return streaming_audio_contexts_mask + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_ascs_client_metadata_received_get_streaming_audio_contexts_mask(const uint8_t * event){ + return little_endian_read_16(event, 9); +} +/** + * @brief Get field program_info_length from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return program_info_length + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_ascs_client_metadata_received_get_program_info_length(const uint8_t * event){ + return event[11]; +} +/** + * @brief Get field program_info from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return program_info + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_ascs_client_metadata_received_get_program_info(const uint8_t * event){ + return &event[12]; +} +/** + * @brief Get field language_code from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return language_code + * @note: btstack_type 3 + */ +static inline uint32_t gattservice_subevent_ascs_client_metadata_received_get_language_code(const uint8_t * event){ + return little_endian_read_24(event, 12u + event[11]); +} +/** + * @brief Get field ccids_num from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return ccids_num + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_ascs_client_metadata_received_get_ccids_num(const uint8_t * event){ + return event[12u + event[11] + 3u]; +} +/** + * @brief Get field ccids from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return ccids + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_ascs_client_metadata_received_get_ccids(const uint8_t * event){ + return &event[12u + event[11] + 3u + 1u]; +} +/** + * @brief Get field parental_rating from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return parental_rating + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_metadata_received_get_parental_rating(const uint8_t * event){ + return event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u]]; +} +/** + * @brief Get field program_info_uri_length from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return program_info_uri_length + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_ascs_client_metadata_received_get_program_info_uri_length(const uint8_t * event){ + return event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u]; +} +/** + * @brief Get field program_info_uri from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return program_info_uri + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_ascs_client_metadata_received_get_program_info_uri(const uint8_t * event){ + return &event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u]; +} +/** + * @brief Get field extended_metadata_type from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return extended_metadata_type + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_ascs_client_metadata_received_get_extended_metadata_type(const uint8_t * event){ + return little_endian_read_16(event, 12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u]); +} +/** + * @brief Get field extended_metadata_value_length from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return extended_metadata_value_length + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_ascs_client_metadata_received_get_extended_metadata_value_length(const uint8_t * event){ + return event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u]; +} +/** + * @brief Get field extended_metadata_value from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return extended_metadata_value + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_ascs_client_metadata_received_get_extended_metadata_value(const uint8_t * event){ + return &event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u + 1u]; +} +/** + * @brief Get field vendor_specific_metadata_type from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return vendor_specific_metadata_type + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_ascs_client_metadata_received_get_vendor_specific_metadata_type(const uint8_t * event){ + return little_endian_read_16(event, 12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u]); +} +/** + * @brief Get field vendor_specific_metadata_value_length from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return vendor_specific_metadata_value_length + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_ascs_client_metadata_received_get_vendor_specific_metadata_value_length(const uint8_t * event){ + return event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u] + 2u]; +} +/** + * @brief Get field vendor_specific_metadata_value from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_METADATA_RECEIVED + * @param event packet + * @return vendor_specific_metadata_value + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_ascs_client_metadata_received_get_vendor_specific_metadata_value(const uint8_t * event){ + return &event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u + 1u + event[12u + event[11] + 3u + 1u + event[12u + event[11] + 3u] + 1u] + 2u] + 2u + 1u]; +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_START_READY + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_ascs_client_start_ready_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_START_READY + * @param event packet + * @return ase_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_start_ready_get_ase_id(const uint8_t * event){ + return event[5]; +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_DISABLING + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_ascs_client_disabling_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_DISABLING + * @param event packet + * @return ase_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_disabling_get_ase_id(const uint8_t * event){ + return event[5]; +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_RELEASING + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_ascs_client_releasing_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_RELEASING + * @param event packet + * @return ase_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_releasing_get_ase_id(const uint8_t * event){ + return event[5]; +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_STOP_READY + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_ascs_client_stop_ready_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_STOP_READY + * @param event packet + * @return ase_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_stop_ready_get_ase_id(const uint8_t * event){ + return event[5]; +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_RELEASED + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_ascs_client_released_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field ase_id from event GATTSERVICE_SUBEVENT_ASCS_CLIENT_RELEASED + * @param event packet + * @return ase_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_client_released_get_ase_id(const uint8_t * event){ + return event[5]; +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATION_RECEIVED + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_pacs_audio_location_received_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field audio_locations from event GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATION_RECEIVED + * @param event packet + * @return audio_locations + * @note: btstack_type 4 + */ +static inline uint32_t gattservice_subevent_pacs_audio_location_received_get_audio_locations(const uint8_t * event){ + return little_endian_read_32(event, 5); +} +/** + * @brief Get field role from event GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATION_RECEIVED + * @param event packet + * @return role + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_pacs_audio_location_received_get_role(const uint8_t * event){ + return event[9]; +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_BASS_CONNECTED + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_bass_connected_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_CONNECTED + * @param event packet + * @return bass_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_bass_connected_get_bass_cid(const uint8_t * event){ + return little_endian_read_16(event, 5); +} +/** + * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_CONNECTED + * @param event packet + * @return status + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_connected_get_status(const uint8_t * event){ + return event[7]; +} + +/** + * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_DISCONNECTED + * @param event packet + * @return bass_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_bass_disconnected_get_bass_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} + +/** + * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_SCAN_OPERATION_COMPLETE + * @param event packet + * @return bass_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_bass_scan_operation_complete_get_bass_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_SCAN_OPERATION_COMPLETE + * @param event packet + * @return status + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_scan_operation_complete_get_status(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field opcode from event GATTSERVICE_SUBEVENT_BASS_SCAN_OPERATION_COMPLETE + * @param event packet + * @return opcode + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_scan_operation_complete_get_opcode(const uint8_t * event){ + return event[6]; +} + +/** + * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE + * @param event packet + * @return bass_cid + * @note: btstack_type 2 + */ +// static inline uint16_t gattservice_subevent_bass_notify_receive_state_base_get_bass_cid(const uint8_t * event){ +// not implemented yet +// } +/** + * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE + * @param event packet + * @return source_id + * @note: btstack_type 1 + */ +// static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_source_id(const uint8_t * event){ +// not implemented yet +// } +/** + * @brief Get field source_address_type from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE + * @param event packet + * @return source_address_type + * @note: btstack_type 1 + */ +// static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_source_address_type(const uint8_t * event){ +// not implemented yet +// } +/** + * @brief Get field source_address from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE + * @param event packet + * @return source_address + * @note: btstack_type B + */ +// static inline bd_addr_t gattservice_subevent_bass_notify_receive_state_base_get_source_address(const uint8_t * event){ +// not implemented yet +// } +/** + * @brief Get field source_adv_sid from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE + * @param event packet + * @return source_adv_sid + * @note: btstack_type 1 + */ +// static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_source_adv_sid(const uint8_t * event){ +// not implemented yet +// } +/** + * @brief Get field broadcast_id from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE + * @param event packet + * @return broadcast_id + * @note: btstack_type 3 + */ +// static inline uint32_t gattservice_subevent_bass_notify_receive_state_base_get_broadcast_id(const uint8_t * event){ +// not implemented yet +// } +/** + * @brief Get field pa_sync_state from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE + * @param event packet + * @return pa_sync_state + * @note: btstack_type 1 + */ +// static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_pa_sync_state(const uint8_t * event){ +// not implemented yet +// } +/** + * @brief Get field big_encryption from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE + * @param event packet + * @return big_encryption + * @note: btstack_type 1 + */ +// static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_big_encryption(const uint8_t * event){ +// not implemented yet +// } +/** + * @brief Get field bad_code from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE + * @param event packet + * @return bad_code + * @note: btstack_type P + */ +// static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_base_get_bad_code(const uint8_t * event){ +// not implemented yet +// } +/** + * @brief Get field subgroups_num from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_BASE + * @param event packet + * @return subgroups_num + * @note: btstack_type 1 + */ +// static inline uint8_t gattservice_subevent_bass_notify_receive_state_base_get_subgroups_num(const uint8_t * event){ +// not implemented yet +// } + +/** + * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return bass_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_bass_notify_receive_state_subgroup_get_bass_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return source_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_source_id(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field bis_sync_state from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return bis_sync_state + * @note: btstack_type 4 + */ +static inline uint32_t gattservice_subevent_bass_notify_receive_state_subgroup_get_bis_sync_state(const uint8_t * event){ + return little_endian_read_32(event, 6); +} +/** + * @brief Get field metadata_mask from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return metadata_mask + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_metadata_mask(const uint8_t * event){ + return event[10]; +} +/** + * @brief Get field preferred_audio_contexts_mask from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return preferred_audio_contexts_mask + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_bass_notify_receive_state_subgroup_get_preferred_audio_contexts_mask(const uint8_t * event){ + return little_endian_read_16(event, 11); +} +/** + * @brief Get field streaming_audio_contexts_mask from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return streaming_audio_contexts_mask + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_bass_notify_receive_state_subgroup_get_streaming_audio_contexts_mask(const uint8_t * event){ + return little_endian_read_16(event, 13); +} +/** + * @brief Get field program_info_length from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return program_info_length + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_program_info_length(const uint8_t * event){ + return event[15]; +} +/** + * @brief Get field program_info from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return program_info + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_subgroup_get_program_info(const uint8_t * event){ + return &event[16]; +} +/** + * @brief Get field language_code from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return language_code + * @note: btstack_type 3 + */ +static inline uint32_t gattservice_subevent_bass_notify_receive_state_subgroup_get_language_code(const uint8_t * event){ + return little_endian_read_24(event, 16u + event[15]); +} +/** + * @brief Get field ccids_num from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return ccids_num + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_ccids_num(const uint8_t * event){ + return event[16u + event[15] + 3u]; +} +/** + * @brief Get field ccids from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return ccids + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_subgroup_get_ccids(const uint8_t * event){ + return &event[16u + event[15] + 3u + 1u]; +} +/** + * @brief Get field parental_rating from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return parental_rating + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_parental_rating(const uint8_t * event){ + return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u]]; +} +/** + * @brief Get field program_info_uri_length from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return program_info_uri_length + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_program_info_uri_length(const uint8_t * event){ + return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]; +} +/** + * @brief Get field program_info_uri from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return program_info_uri + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_subgroup_get_program_info_uri(const uint8_t * event){ + return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u]; +} +/** + * @brief Get field extended_metadata_type from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return extended_metadata_type + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_bass_notify_receive_state_subgroup_get_extended_metadata_type(const uint8_t * event){ + return little_endian_read_16(event, 16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u]); +} +/** + * @brief Get field extended_metadata_value_length from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return extended_metadata_value_length + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_extended_metadata_value_length(const uint8_t * event){ + return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u]; +} +/** + * @brief Get field extended_metadata_value from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return extended_metadata_value + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_subgroup_get_extended_metadata_value(const uint8_t * event){ + return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u]; +} +/** + * @brief Get field vendor_specific_metadata_type from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return vendor_specific_metadata_type + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_bass_notify_receive_state_subgroup_get_vendor_specific_metadata_type(const uint8_t * event){ + return little_endian_read_16(event, 16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u]); +} +/** + * @brief Get field vendor_specific_metadata_value_length from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return vendor_specific_metadata_value_length + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_bass_notify_receive_state_subgroup_get_vendor_specific_metadata_value_length(const uint8_t * event){ + return event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u] + 2u]; +} +/** + * @brief Get field vendor_specific_metadata_value from event GATTSERVICE_SUBEVENT_BASS_NOTIFY_RECEIVE_STATE_SUBGROUP + * @param event packet + * @return vendor_specific_metadata_value + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_bass_notify_receive_state_subgroup_get_vendor_specific_metadata_value(const uint8_t * event){ + return &event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u + 1u + event[16u + event[15] + 3u + 1u + event[16u + event[15] + 3u] + 1u] + 2u] + 2u + 1u]; +} + +/** + * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_NOTIFICATION_COMPLETE + * @param event packet + * @return bass_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_bass_notification_complete_get_bass_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_NOTIFICATION_COMPLETE + * @param event packet + * @return source_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_notification_complete_get_source_id(const uint8_t * event){ + return event[5]; +} + +/** + * @brief Get field bass_cid from event GATTSERVICE_SUBEVENT_BASS_SOURCE_OPERATION_COMPLETE + * @param event packet + * @return bass_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_bass_source_operation_complete_get_bass_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field status from event GATTSERVICE_SUBEVENT_BASS_SOURCE_OPERATION_COMPLETE + * @param event packet + * @return status + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_source_operation_complete_get_status(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field opcode from event GATTSERVICE_SUBEVENT_BASS_SOURCE_OPERATION_COMPLETE + * @param event packet + * @return opcode + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_source_operation_complete_get_opcode(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field source_id from event GATTSERVICE_SUBEVENT_BASS_SOURCE_OPERATION_COMPLETE + * @param event packet + * @return source_id + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_bass_source_operation_complete_get_source_id(const uint8_t * event){ + return event[7]; +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_PACS_CONNECTED + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_pacs_connected_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_CONNECTED + * @param event packet + * @return pacs_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_connected_get_pacs_cid(const uint8_t * event){ + return little_endian_read_16(event, 5); +} +/** + * @brief Get field status from event GATTSERVICE_SUBEVENT_PACS_CONNECTED + * @param event packet + * @return status + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_pacs_connected_get_status(const uint8_t * event){ + return event[7]; +} + +/** + * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_OPERATION_DONE + * @param event packet + * @return pacs_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_operation_done_get_pacs_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field status from event GATTSERVICE_SUBEVENT_PACS_OPERATION_DONE + * @param event packet + * @return status + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_pacs_operation_done_get_status(const uint8_t * event){ + return event[5]; +} + +/** + * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATIONS + * @param event packet + * @return pacs_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_audio_locations_get_pacs_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field le_audio_role from event GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATIONS + * @param event packet + * @return le_audio_role + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_pacs_audio_locations_get_le_audio_role(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field audio_location_mask from event GATTSERVICE_SUBEVENT_PACS_AUDIO_LOCATIONS + * @param event packet + * @return audio_location_mask + * @note: btstack_type 4 + */ +static inline uint32_t gattservice_subevent_pacs_audio_locations_get_audio_location_mask(const uint8_t * event){ + return little_endian_read_32(event, 6); +} + +/** + * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_AVAILABLE_AUDIO_CONTEXTS + * @param event packet + * @return pacs_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_available_audio_contexts_get_pacs_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field sink_mask from event GATTSERVICE_SUBEVENT_PACS_AVAILABLE_AUDIO_CONTEXTS + * @param event packet + * @return sink_mask + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_available_audio_contexts_get_sink_mask(const uint8_t * event){ + return little_endian_read_16(event, 5); +} +/** + * @brief Get field source_mask from event GATTSERVICE_SUBEVENT_PACS_AVAILABLE_AUDIO_CONTEXTS + * @param event packet + * @return source_mask + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_available_audio_contexts_get_source_mask(const uint8_t * event){ + return little_endian_read_16(event, 7); +} + +/** + * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_SUPPORTED_AUDIO_CONTEXTS + * @param event packet + * @return pacs_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_supported_audio_contexts_get_pacs_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field sink_mask from event GATTSERVICE_SUBEVENT_PACS_SUPPORTED_AUDIO_CONTEXTS + * @param event packet + * @return sink_mask + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_supported_audio_contexts_get_sink_mask(const uint8_t * event){ + return little_endian_read_16(event, 5); +} +/** + * @brief Get field source_mask from event GATTSERVICE_SUBEVENT_PACS_SUPPORTED_AUDIO_CONTEXTS + * @param event packet + * @return source_mask + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_supported_audio_contexts_get_source_mask(const uint8_t * event){ + return little_endian_read_16(event, 7); +} + +/** + * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return pacs_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_pack_record_get_pacs_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field le_audio_role from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return le_audio_role + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_pacs_pack_record_get_le_audio_role(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field coding_format from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return coding_format + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_pacs_pack_record_get_coding_format(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field company_id from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return company_id + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_pack_record_get_company_id(const uint8_t * event){ + return little_endian_read_16(event, 7); +} +/** + * @brief Get field vendor_specific_codec_id from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return vendor_specific_codec_id + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_pack_record_get_vendor_specific_codec_id(const uint8_t * event){ + return little_endian_read_16(event, 9); +} +/** + * @brief Get field codec_capability_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return codec_capability_mask + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_pacs_pack_record_get_codec_capability_mask(const uint8_t * event){ + return event[11]; +} +/** + * @brief Get field supported_sampling_frequencies_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return supported_sampling_frequencies_mask + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_pack_record_get_supported_sampling_frequencies_mask(const uint8_t * event){ + return little_endian_read_16(event, 12); +} +/** + * @brief Get field supported_frame_durations_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return supported_frame_durations_mask + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_pacs_pack_record_get_supported_frame_durations_mask(const uint8_t * event){ + return event[14]; +} +/** + * @brief Get field supported_audio_channel_counts_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return supported_audio_channel_counts_mask + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_pacs_pack_record_get_supported_audio_channel_counts_mask(const uint8_t * event){ + return event[15]; +} +/** + * @brief Get field supported_octets_per_frame_min_num from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return supported_octets_per_frame_min_num + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_pack_record_get_supported_octets_per_frame_min_num(const uint8_t * event){ + return little_endian_read_16(event, 16); +} +/** + * @brief Get field supported_octets_per_frame_max_num from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return supported_octets_per_frame_max_num + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_pack_record_get_supported_octets_per_frame_max_num(const uint8_t * event){ + return little_endian_read_16(event, 18); +} +/** + * @brief Get field supported_max_codec_frames_per_sdu from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return supported_max_codec_frames_per_sdu + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_pacs_pack_record_get_supported_max_codec_frames_per_sdu(const uint8_t * event){ + return event[20]; +} +/** + * @brief Get field metadata_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return metadata_mask + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_pack_record_get_metadata_mask(const uint8_t * event){ + return little_endian_read_16(event, 21); +} +/** + * @brief Get field preferred_audio_contexts_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return preferred_audio_contexts_mask + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_pack_record_get_preferred_audio_contexts_mask(const uint8_t * event){ + return little_endian_read_16(event, 23); +} +/** + * @brief Get field streaming_audio_contexts_mask from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return streaming_audio_contexts_mask + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_pack_record_get_streaming_audio_contexts_mask(const uint8_t * event){ + return little_endian_read_16(event, 25); +} +/** + * @brief Get field program_info_length from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return program_info_length + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_pacs_pack_record_get_program_info_length(const uint8_t * event){ + return event[27]; +} +/** + * @brief Get field program_info from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return program_info + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_pacs_pack_record_get_program_info(const uint8_t * event){ + return &event[28]; +} +/** + * @brief Get field language_code from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return language_code + * @note: btstack_type 3 + */ +static inline uint32_t gattservice_subevent_pacs_pack_record_get_language_code(const uint8_t * event){ + return little_endian_read_24(event, 28u + event[27]); +} +/** + * @brief Get field ccids_num from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return ccids_num + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_pacs_pack_record_get_ccids_num(const uint8_t * event){ + return event[28u + event[27] + 3u]; +} +/** + * @brief Get field ccids from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return ccids + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_pacs_pack_record_get_ccids(const uint8_t * event){ + return &event[28u + event[27] + 3u + 1u]; +} +/** + * @brief Get field parental_rating from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return parental_rating + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_pacs_pack_record_get_parental_rating(const uint8_t * event){ + return event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u]]; +} +/** + * @brief Get field program_info_uri_length from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return program_info_uri_length + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_pacs_pack_record_get_program_info_uri_length(const uint8_t * event){ + return event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u]; +} +/** + * @brief Get field program_info_uri from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return program_info_uri + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_pacs_pack_record_get_program_info_uri(const uint8_t * event){ + return &event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u]; +} +/** + * @brief Get field extended_metadata_type from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return extended_metadata_type + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_pack_record_get_extended_metadata_type(const uint8_t * event){ + return little_endian_read_16(event, 28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u]); +} +/** + * @brief Get field extended_metadata_value_length from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return extended_metadata_value_length + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_pacs_pack_record_get_extended_metadata_value_length(const uint8_t * event){ + return event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u]; +} +/** + * @brief Get field extended_metadata_value from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return extended_metadata_value + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_pacs_pack_record_get_extended_metadata_value(const uint8_t * event){ + return &event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u + 1u]; +} +/** + * @brief Get field vendor_specific_metadata_type from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return vendor_specific_metadata_type + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_pack_record_get_vendor_specific_metadata_type(const uint8_t * event){ + return little_endian_read_16(event, 28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u]); +} +/** + * @brief Get field vendor_specific_metadata_value_length from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return vendor_specific_metadata_value_length + * @note: btstack_type J + */ +static inline uint8_t gattservice_subevent_pacs_pack_record_get_vendor_specific_metadata_value_length(const uint8_t * event){ + return event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u] + 2u]; +} +/** + * @brief Get field vendor_specific_metadata_value from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD + * @param event packet + * @return vendor_specific_metadata_value + * @note: btstack_type V + */ +static inline const uint8_t * gattservice_subevent_pacs_pack_record_get_vendor_specific_metadata_value(const uint8_t * event){ + return &event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u + 1u + event[28u + event[27] + 3u + 1u + event[28u + event[27] + 3u] + 1u] + 2u] + 2u + 1u]; +} + +/** + * @brief Get field pacs_cid from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD_DONE + * @param event packet + * @return pacs_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_pacs_pack_record_done_get_pacs_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field le_audio_role from event GATTSERVICE_SUBEVENT_PACS_PACK_RECORD_DONE + * @param event packet + * @return le_audio_role + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_pacs_pack_record_done_get_le_audio_role(const uint8_t * event){ + return event[5]; +} + +/** + * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_ASCS_CONNECTED + * @param event packet + * @return con_handle + * @note: btstack_type H + */ +static inline hci_con_handle_t gattservice_subevent_ascs_connected_get_con_handle(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field ascs_cid from event GATTSERVICE_SUBEVENT_ASCS_CONNECTED + * @param event packet + * @return ascs_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_ascs_connected_get_ascs_cid(const uint8_t * event){ + return little_endian_read_16(event, 5); +} +/** + * @brief Get field status from event GATTSERVICE_SUBEVENT_ASCS_CONNECTED + * @param event packet + * @return status + * @note: btstack_type 1 + */ +static inline uint8_t gattservice_subevent_ascs_connected_get_status(const uint8_t * event){ + return event[7]; +} + +/** + * @brief Get field ascs_cid from event GATTSERVICE_SUBEVENT_ASCS_DISCONNECTED + * @param event packet + * @return ascs_cid + * @note: btstack_type 2 + */ +static inline uint16_t gattservice_subevent_ascs_disconnected_get_ascs_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} + /** * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_OPENED * @param event packet