/** * Copyright 2019-2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * \file aoc-interface.h * * Autogenerated AoC interface matching AoC source code * associated with the following source code: * * hash: f5eec4d1361abf890797c938f8df2e833b8c3be5 * * DO NOT MODIFY THIS FILE * */ #ifndef AOC_INTERFACE_H_ #define AOC_INTERFACE_H_ #ifdef __KERNEL__ #include #include #else #include #endif /** * System timer tick [hz]. All time counts will be based on tick running at this frequency. * * UUID: 6accf8e101dbb74339802e493e1afdb2 */ #define AOC_TIMER_FREQUENCY 24576000.0 /** * List of supported commands. */ enum AOC_COMMAND { CMD_RING_BIND_ID = 5, /* [0x0005] -> struct CMD_RING_BIND */ CMD_SYS_VERSION_GET_ID = 6, /* [0x0006] -> struct CMD_SYS_VERSION_GET */ CMD_SYS_BANNER_ID = 7, /* [0x0007] -> struct CMD_CORE_GENERIC */ CMD_SYS_STATS_TOT_ID = 8, /* [0x0008] -> struct CMD_SYS_STATS_TOT */ CMD_SYS_STATS_INFO_GET_ID = 9, /* [0x0009] -> struct CMD_SYS_STATS_INFO_GET */ CMD_SYS_STATS_TIMED_GET_ID = 10, /* [0x000a] -> struct CMD_SYS_STATS_TIMED_GET */ CMD_SYS_STATS_DATA_GET_ID = 11, /* [0x000b] -> struct CMD_SYS_STATS_DATA_GET */ CMD_SYS_STATS_ID = 12, /* [0x000c] -> struct CMD_CORE_GENERIC */ CMD_SYS_LOGIC_TRACE_ENABLE_ID = 13, /* [0x000d] -> struct CMD_ENABLE */ CMD_SYS_LOGIC_TRACE_SCHEME_SET_ID = 14, /* [0x000e] -> struct CMD_CORE_LOGIC_TRACE_SCHEME */ CMD_SYS_LOGIC_TRACE_SCHEME_GET_ID = 15, /* [0x000f] -> struct CMD_CORE_LOGIC_TRACE_SCHEME */ CMD_DBG_WATCHDOG_TRIGGER_ID = 16, /* [0x0010] -> struct CMD_CORE_GENERIC */ CMD_DBG_TREE_ID = 17, /* [0x0011] -> struct CMD_CORE_GENERIC */ CMD_DBG_INFO_ID = 18, /* [0x0012] -> struct CMD_DBG_INFO */ CMD_DBG_HEAP_ID = 19, /* [0x0013] -> struct CMD_DBG_HEAP */ CMD_DBG_LEVEL_GET_ID = 21, /* [0x0015] -> struct CMD_DBG_LEVEL_GET */ CMD_DBG_CONTROLLERS_ID = 22, /* [0x0016] -> struct CMD_CORE_GENERIC */ CMD_DBG_FILTERS_ID = 23, /* [0x0017] -> struct CMD_CORE_GENERIC */ CMD_DBG_PIPES_ID = 24, /* [0x0018] -> struct CMD_CORE_GENERIC */ CMD_DBG_POOLS_ID = 25, /* [0x0019] -> struct CMD_CORE_GENERIC */ CMD_DBG_RINGS_ID = 26, /* [0x001a] -> struct CMD_CORE_GENERIC */ CMD_DBG_IPCS_ID = 27, /* [0x001b] -> struct CMD_CORE_GENERIC */ CMD_DBG_FSM_ID = 28, /* [0x001c] -> struct CMD_CORE_GENERIC */ CMD_DBG_TASKS_ID = 29, /* [0x001d] -> struct CMD_CORE_GENERIC */ CMD_DBG_POWERMAN_ID = 30, /* [0x001e] -> struct CMD_DBG_POWERMAN */ CMD_DBG_TIMER_ID = 31, /* [0x001f] -> struct CMD_CORE_GENERIC */ CMD_DBG_LOG_ID = 32, /* [0x0020] -> struct CMD_DBG_LOG */ CMD_DBG_TIMESTAMP_ID = 33, /* [0x0021] -> struct CMD_ENABLE */ CMD_DBG_INTCNTRL_ID = 34, /* [0x0022] -> struct CMD_CORE_GENERIC */ CMD_DBG_IPC_SPACES_ID = 35, /* [0x0023] -> struct CMD_CORE_GENERIC */ CMD_DBG_IPC_CHANNELS_ID = 36, /* [0x0024] -> struct CMD_CORE_GENERIC */ CMD_DBG_MEM_SET_ID = 37, /* [0x0025] -> struct CMD_DBG_MEM_SET */ CMD_DBG_MEM_DUMP_ID = 38, /* [0x0026] -> struct CMD_DBG_MEM_DUMP */ CMD_DBG_MEM_INVAL_ACCESS_ID = 45, /* [0x002d] -> struct CMD_CORE_GENERIC */ CMD_DBG_MCPS_ID = 47, /* [0x002f] -> struct CMD_DBG_MCPS */ CMD_DBG_SCRIB_ID = 50, /* [0x0032] -> struct CMD_DBG_SCRIB */ CMD_DBG_PRIVATE_ID = 51, /* [0x0033] -> struct CMD_DBG_PRIVATE */ CMD_UMFW_STAT_MSG_ID = 52, /* [0x0034] -> struct CMD_UMFW_STAT_MSG */ CMD_DBG_HEAP_V2_ID = 54, /* [0x0036] -> struct CMD_DBG_HEAP_V2 */ CMD_IPC_NOTIF_ENABLE_ID = 100, /* [0x0064] -> struct CMD_IPC_NOTIF_ENABLE */ CMD_AUDIO_OUTPUT_SINK_ID = 200, /* [0x00c8] -> struct CMD_AUDIO_OUTPUT_SINK */ CMD_DIAG_CORE_POWER_ID = 200, /* [0x00c8] -> struct CMD_DIAG_CORE_POWER */ CMD_AUDIO_OUTPUT_SOURCE_ID = 201, /* [0x00c9] -> struct CMD_AUDIO_OUTPUT_SOURCE */ CMD_DIAG_MONITOR_MODE_ID = 201, /* [0x00c9] -> struct CMD_DIAG_MONITOR_MODE */ CMD_AOCX_PROCESSOR_ENABLE_ID = 201, /* [0x00c9] -> struct CMD_AOCX_PROCESSOR_ENABLE */ CMD_AUDIO_OUTPUT_BIND_ID = 202, /* [0x00ca] -> struct CMD_AUDIO_OUTPUT_BIND */ CMD_UWB_GET_RESET_GPIO_ID = 202, /* [0x00ca] -> struct CMD_UWB_GET_RESET_GPIO */ CMD_AUDIO_INPUT_MIC_POWER_ON_ID = 203, /* [0x00cb] -> struct CMD_AUDIO_INPUT_MIC_POWER_ON */ CMD_AUDIO_OUTPUT_WAV_PLAYBACK_ID = 203, /* [0x00cb] -> struct CMD_AUDIO_OUTPUT_WAV_PLAYBACK */ CMD_UWB_SET_RESET_GPIO_ID = 203, /* [0x00cb] -> struct CMD_UWB_SET_RESET_GPIO */ CMD_AUDIO_INPUT_MIC_POWER_OFF_ID = 204, /* [0x00cc] -> struct CMD_AUDIO_INPUT_MIC_POWER_OFF */ CMD_AUDIO_OUTPUT_GAIN_ID = 204, /* [0x00cc] -> struct CMD_AUDIO_OUTPUT_GAIN */ CMD_UWB_GET_RESET_GPIO_DIRECTION_ID = 204, /* [0x00cc] -> struct CMD_UWB_GET_RESET_GPIO_DIRECTION */ CMD_AUDIO_INPUT_MIC_GET_POWER_STATE_ID = 205, /* [0x00cd] -> struct CMD_AUDIO_INPUT_MIC_GET_POWER_STATE */ CMD_AUDIO_OUTPUT_FX_EQ_ID = 205, /* [0x00cd] -> struct CMD_AUDIO_OUTPUT_FX_EQ */ CMD_UWB_SET_RESET_GPIO_DIRECTION_ID = 205, /* [0x00cd] -> struct CMD_UWB_SET_RESET_GPIO_DIRECTION */ CMD_AUDIO_INPUT_HOTWORD_ENABLE_AEC_ID = 206, /* [0x00ce] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_EP_SETUP_ID = 206, /* [0x00ce] -> struct CMD_AUDIO_OUTPUT_EP_SETUP */ CMD_GET_MEMORY_EXCEPTION_DATA_COUNT_ID = 206, /* [0x00ce] -> struct CMD_GET_MEMORY_EXCEPTION_DATA_COUNT */ CMD_AUDIO_INPUT_HOTWORD_DISABLE_AEC_ID = 207, /* [0x00cf] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_DECODE_ID = 207, /* [0x00cf] -> struct CMD_AUDIO_OUTPUT_DECODE */ CMD_GET_MEMORY_EXCEPTION_DATA_ID = 207, /* [0x00cf] -> struct CMD_GET_MEMORY_EXCEPTION_DATA */ CMD_AUDIO_OUTPUT_AEC_NOTIFY_ID = 208, /* [0x00d0] -> struct CMD_AUDIO_OUTPUT_AEC_NOTIFY */ CMD_AUDIO_INPUT_AP_INPUT_START_ID = 208, /* [0x00d0] -> struct CMD_AUDIO_INPUT_AP_INPUT_START */ CMD_GET_MEMORY_VOTES_DATA_COUNT_ID = 208, /* [0x00d0] -> struct CMD_GET_MEMORY_VOTES_DATA_COUNT */ CMD_AUDIO_OUTPUT_SET_PARAMETER_ID = 209, /* [0x00d1] -> struct CMD_AUDIO_OUTPUT_SET_PARAMETER */ CMD_AUDIO_INPUT_AP_INPUT_STOP_ID = 209, /* [0x00d1] -> struct CMD_HDR */ CMD_GET_MEMORY_VOTES_DATA_ID = 209, /* [0x00d1] -> struct CMD_GET_MEMORY_VOTES_DATA */ CMD_AUDIO_INPUT_MODEM_INPUT_START_ID = 210, /* [0x00d2] -> struct CMD_AUDIO_INPUT_MODEM_INPUT_START */ CMD_AUDIO_OUTPUT_SET_PARAMETER_BULK_ID = 210, /* [0x00d2] -> struct CMD_AUDIO_OUTPUT_SET_PARAMETER_BULK */ CMD_UDFPS_SET_CLOCK_SOURCE_ID = 210, /* [0x00d2] -> struct CMD_UDFPS_SET_CLOCK_SOURCE */ CMD_AUDIO_INPUT_MODEM_INPUT_STOP_ID = 211, /* [0x00d3] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_GET_PARAMETER_ID = 211, /* [0x00d3] -> struct CMD_AUDIO_OUTPUT_GET_PARAMETER */ CMD_UDFPS_GET_CLOCK_FREQUENCY_ID = 211, /* [0x00d3] -> struct CMD_UDFPS_GET_CLOCK_FREQUENCY */ CMD_AUDIO_OUTPUT_GET_PARAMETER_BULK_ID = 212, /* [0x00d4] -> struct CMD_AUDIO_OUTPUT_GET_PARAMETER_BULK */ CMD_MEM_MAP_REGION_ID = 212, /* [0x00d4] -> struct CMD_MEM_MAP_REGION */ CMD_AUDIO_OUTPUT_SET_GET_PARAM_BULK_ID = 213, /* [0x00d5] -> struct CMD_AUDIO_OUTPUT_SET_GET_PARAM_BULK */ CMD_AP_STATE_TRANSITION_ID = 213, /* [0x00d5] -> struct CMD_AP_STATE_TRANSITION */ CMD_AUDIO_INPUT_BT_CAPTURE_START_ID = 214, /* [0x00d6] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_GET_BLOCKS_ID = 214, /* [0x00d6] -> struct CMD_AUDIO_OUTPUT_GET_BLOCKS */ CMD_AUDIO_INPUT_BT_CAPTURE_STOP_ID = 215, /* [0x00d7] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_GET_MODULES_ID = 215, /* [0x00d7] -> struct CMD_AUDIO_OUTPUT_GET_MODULES */ CMD_AUDIO_INPUT_BT_DECODER_START_ID = 216, /* [0x00d8] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_RESYNC_AUDIO_SINK_ID = 216, /* [0x00d8] -> struct CMD_AUDIO_OUTPUT_RESYNC_AUDIO_SINK */ CMD_AUDIO_INPUT_BT_DECODER_STOP_ID = 217, /* [0x00d9] -> struct CMD_HDR */ CMD_AUDIO_INPUT_BT_DECODER_ENABLE_OUTPUT_ID = 218, /* [0x00da] -> struct CMD_AUDIO_INPUT_BT_ENABLE_OUTPUT */ CMD_AUDIO_INPUT_BT_DECODER_DISABLE_OUTPUT_ID = 219, /* [0x00db] -> struct CMD_AUDIO_INPUT_BT_DISABLE_OUTPUT */ CMD_AUDIO_INPUT_IN_CALL_SELECT_START_ID = 220, /* [0x00dc] -> struct CMD_HDR */ CMD_AUDIO_INPUT_IN_CALL_SELECT_STOP_ID = 221, /* [0x00dd] -> struct CMD_HDR */ CMD_AUDIO_INPUT_IN_CALL_SELECT_ENABLE_OUTPUT_ID = 222, /* [0x00de] -> struct CMD_AUDIO_INPUT_IN_CALL_SELECT_ENABLE_OUTPUT */ CMD_AUDIO_INPUT_IN_CALL_SELECT_DISABLE_OUTPUT_ID = 223, /* [0x00df] -> struct CMD_AUDIO_INPUT_IN_CALL_SELECT_DISABLE_OUTPUT */ CMD_AUDIO_INPUT_MIC_RECORD_AP_SET_PARAMS_ID = 224, /* [0x00e0] -> struct CMD_AUDIO_INPUT_MIC_RECORD_AP_SET_PARAMS */ CMD_AUDIO_OUTPUT_CFG_HAPTICS_ID = 224, /* [0x00e0] -> struct CMD_AUDIO_OUTPUT_CFG_HAPTICS */ CMD_AUDIO_INPUT_MIC_RECORD_AP_START_ID = 225, /* [0x00e1] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_CFG_SIGGEN_ID = 225, /* [0x00e1] -> struct CMD_AUDIO_OUTPUT_CFG_SIGGEN */ CMD_AUDIO_INPUT_MIC_RECORD_AP_STOP_ID = 226, /* [0x00e2] -> struct CMD_HDR */ CMD_AUDIO_INPUT_HOTWORD_START_ID = 227, /* [0x00e3] -> struct CMD_HDR */ CMD_AUDIO_INPUT_HOTWORD_STOP_ID = 228, /* [0x00e4] -> struct CMD_HDR */ CMD_USB_CONTROL_GET_XHCI_VERSION_ID = 228, /* [0x00e4] -> struct CMD_USB_CONTROL_GET_XHCI_VERSION */ CMD_AUDIO_INPUT_MIC_LOOPBACK_START_ID = 229, /* [0x00e5] -> struct CMD_AUDIO_INPUT_ENABLE_MIC_LOOPBACK */ CMD_AUDIO_INPUT_MIC_LOOPBACK_STOP_ID = 230, /* [0x00e6] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_GET_EP_CUR_SAMPLES_ID = 230, /* [0x00e6] -> struct CMD_AUDIO_OUTPUT_GET_EP_SAMPLES */ CMD_AUDIO_OUTPUT_GET_EP_TOT_SAMPLES_ID = 231, /* [0x00e7] -> struct CMD_AUDIO_OUTPUT_GET_EP_SAMPLES */ CMD_AUDIO_INPUT_SPATIAL_START_ID = 231, /* [0x00e7] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_DECODE_FLUSH_RB_ID = 232, /* [0x00e8] -> struct CMD_HDR */ CMD_AUDIO_INPUT_SPATIAL_STOP_ID = 232, /* [0x00e8] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_GET_DSP_STATE_ID = 233, /* [0x00e9] -> struct CMD_AUDIO_OUTPUT_GET_DSP_STATE */ CMD_AUDIO_INPUT_SET_PARAMETER_ID = 233, /* [0x00e9] -> struct CMD_AUDIO_INPUT_SET_PARAMETER */ CMD_AUDIO_OUTPUT_GET_SINK_PROCESSING_STATE_ID = 234, /* [0x00ea] -> struct CMD_AUDIO_OUTPUT_GET_SINK_PROCESSING_STATE */ CMD_AUDIO_INPUT_SET_PARAMETER_BULK_ID = 234, /* [0x00ea] -> struct CMD_AUDIO_INPUT_SET_PARAMETER_BULK */ CMD_USB_CONTROL_SETUP_ID = 235, /* [0x00eb] -> struct CMD_USB_CONTROL_SETUP */ CMD_AUDIO_INPUT_GET_PARAMETER_ID = 235, /* [0x00eb] -> struct CMD_AUDIO_INPUT_GET_PARAMETER */ CMD_USB_CONTROL_STATUS_GET_ID = 236, /* [0x00ec] -> struct CMD_USB_CONTROL_STATUS_GET */ CMD_AUDIO_INPUT_GET_PARAMETER_BULK_ID = 236, /* [0x00ec] -> struct CMD_AUDIO_INPUT_GET_PARAMETER_BULK */ CMD_AUDIO_INPUT_SET_GET_PARAM_BULK_ID = 237, /* [0x00ed] -> struct CMD_AUDIO_INPUT_SET_GET_PARAM_BULK */ CMD_USB_CONTROL_GET_DEVICE_CONTEXT_ID = 238, /* [0x00ee] -> struct CMD_USB_CONTROL_GET_DEVICE_CONTEXT */ CMD_AUDIO_INPUT_GET_BLOCKS_ID = 238, /* [0x00ee] -> struct CMD_AUDIO_INPUT_GET_BLOCKS */ CMD_USB_CONTROL_GET_TR_DEQ_PTR_ID = 239, /* [0x00ef] -> struct CMD_USB_CONTROL_GET_TR_DEQ_PTR */ CMD_AUDIO_INPUT_GET_MODULES_ID = 239, /* [0x00ef] -> struct CMD_AUDIO_INPUT_GET_MODULES */ CMD_USB_CONTROL_NOTIFY_CONN_STAT_ID = 240, /* [0x00f0] -> struct CMD_USB_CONTROL_NOTIFY_CONN_STAT */ CMD_AUDIO_INPUT_HOTWORD_TEST_TRIGGER_ID = 240, /* [0x00f0] -> struct CMD_HDR */ CMD_AUDIO_INPUT_HOTWORD_DETECTED_ID = 241, /* [0x00f1] -> struct CMD_AUDIO_INPUT_AMBIENT_MUSIC_DETECTED */ CMD_AUDIO_OUTPUT_FACTORY_TEST_ID = 241, /* [0x00f1] -> struct CMD_AUDIO_OUTPUT_FACTORY_TEST */ CMD_AUDIO_OUTPUT_BT_A2DP_ENC_CFG_ID = 242, /* [0x00f2] -> struct CMD_AUDIO_OUTPUT_BT_A2DP_ENC_CFG */ CMD_USB_CONTROL_GET_DCBAA_PTR_ID = 243, /* [0x00f3] -> struct CMD_USB_CONTROL_GET_DCBAA_PTR */ CMD_USB_CONTROL_GET_ISOC_TR_INFO_ID = 244, /* [0x00f4] -> struct CMD_USB_CONTROL_GET_ISOC_TR_INFO */ CMD_AUDIO_OUTPUT_GET_SINKS_BITMAPS_ID = 245, /* [0x00f5] -> struct CMD_AUDIO_OUTPUT_GET_SINKS_BITMAPS */ CMD_AUDIO_INPUT_GET_MIC_STATUS_ID = 246, /* [0x00f6] -> struct CMD_AUDIO_INPUT_GET_MIC_STATUS */ CMD_AUDIO_OUTPUT_USB_CONFIG_ID = 246, /* [0x00f6] -> struct CMD_AUDIO_OUTPUT_USB_CONFIG */ CMD_AUDIO_INPUT_GET_MIC_CLOCK_FREQUENCY_ID = 247, /* [0x00f7] -> struct CMD_AUDIO_INPUT_GET_MIC_CLOCK_FREQUENCY */ CMD_AUDIO_OUTPUT_SET_SIDETONE_ID = 247, /* [0x00f7] -> struct CMD_AUDIO_OUTPUT_SET_SIDETONE */ CMD_AUDIO_INPUT_GET_MIC_LOW_POWER_HW_GAIN_ID = 248, /* [0x00f8] -> struct CMD_AUDIO_INPUT_GET_MIC_LOW_POWER_HW_GAIN */ CMD_AUDIO_OUTPUT_GET_SIDETONE_ID = 248, /* [0x00f8] -> struct CMD_AUDIO_OUTPUT_GET_SIDETONE */ CMD_AUDIO_INPUT_GET_MIC_HIGH_POWER_HW_GAIN_ID = 249, /* [0x00f9] -> struct CMD_AUDIO_INPUT_GET_MIC_HIGH_POWER_HW_GAIN */ CMD_AUDIO_OUTPUT_SET_SIDETONE_EQ_ID = 249, /* [0x00f9] -> struct CMD_AUDIO_OUTPUT_SET_SIDETONE_EQ */ CMD_AUDIO_INPUT_GET_MIC_CURRENT_HW_GAIN_ID = 250, /* [0x00fa] -> struct CMD_AUDIO_INPUT_GET_MIC_CURRENT_HW_GAIN */ CMD_AUDIO_OUTPUT_GET_SIDETONE_EQ_ID = 250, /* [0x00fa] -> struct CMD_AUDIO_OUTPUT_GET_SIDETONE_EQ */ CMD_AUDIO_INPUT_GET_MIC_DC_BLOCKER_ID = 251, /* [0x00fb] -> struct CMD_AUDIO_INPUT_GET_MIC_DC_BLOCKER */ CMD_AUDIO_OUTPUT_SET_TELE_CAPTURE_ID = 251, /* [0x00fb] -> struct CMD_AUDIO_OUTPUT_TELE_CAPTURE */ CMD_AUDIO_INPUT_SET_MIC_DC_BLOCKER_ID = 252, /* [0x00fc] -> struct CMD_AUDIO_INPUT_SET_MIC_DC_BLOCKER */ CMD_AUDIO_OUTPUT_GET_TELE_CAPTURE_ID = 252, /* [0x00fc] -> struct CMD_AUDIO_OUTPUT_TELE_CAPTURE */ CMD_AUDIO_INPUT_SET_MIC_LOW_POWER_HW_GAIN_ID = 253, /* [0x00fd] -> struct CMD_AUDIO_INPUT_SET_MIC_LOW_POWER_HW_GAIN */ CMD_AUDIO_OUTPUT_DECODER_CFG_ID = 253, /* [0x00fd] -> struct CMD_AUDIO_OUTPUT_DECODER_CFG */ CMD_AUDIO_INPUT_SET_MIC_HIGH_POWER_HW_GAIN_ID = 254, /* [0x00fe] -> struct CMD_AUDIO_INPUT_SET_MIC_HIGH_POWER_HW_GAIN */ CMD_AUDIO_OUTPUT_SET_TELE_CAPT_ID = 254, /* [0x00fe] -> struct CMD_AUDIO_OUTPUT_TELE_CAPT */ CMD_AUDIO_OUTPUT_GET_TELE_CAPT_ID = 255, /* [0x00ff] -> struct CMD_AUDIO_OUTPUT_TELE_CAPT */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_START_ID = 256, /* [0x0100] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_TELEPHONY_MODEM_START_ID = 256, /* [0x0100] -> struct CMD_HDR */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_STOP_ID = 257, /* [0x0101] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_TELEPHONY_MODEM_STOP_ID = 257, /* [0x0101] -> struct CMD_HDR */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_TEST_TRIGGER_ID = 258, /* [0x0102] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_TELEPHONY_VOIP_START_ID = 258, /* [0x0102] -> struct CMD_HDR */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_DETECTED_ID = 259, /* [0x0103] -> struct CMD_AUDIO_INPUT_AMBIENT_MUSIC_DETECTED */ CMD_AUDIO_OUTPUT_TELEPHONY_VOIP_STOP_ID = 259, /* [0x0103] -> struct CMD_HDR */ CMD_AUDIO_INPUT_HOTWORD_WRITE_MODEL_ID = 260, /* [0x0104] -> struct CMD_AUDIO_INPUT_HOTWORD_WRITE_MODEL */ CMD_AUDIO_OUTPUT_SPKR_ANDROID_AEC_START_ID = 260, /* [0x0104] -> struct CMD_HDR */ CMD_AUDIO_INPUT_HOTWORD_LOAD_MODEL_ID = 261, /* [0x0105] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_SPKR_ANDROID_AEC_STOP_ID = 261, /* [0x0105] -> struct CMD_HDR */ CMD_AUDIO_INPUT_HOTWORD_UNLOAD_MODEL_ID = 262, /* [0x0106] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_USB_HIFI_PLAYBACK_START_ID = 262, /* [0x0106] -> struct CMD_HDR */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_WRITE_MODEL_ID = 263, /* [0x0107] -> struct CMD_AUDIO_INPUT_AMBIENT_MUSIC_WRITE_MODEL */ CMD_AUDIO_OUTPUT_USB_HIFI_PLAYBACK_STOP_ID = 263, /* [0x0107] -> struct CMD_HDR */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_LOAD_MODEL_ID = 264, /* [0x0108] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_DEC_CH_GAIN_SET_ID = 264, /* [0x0108] -> struct CMD_AUDIO_OUTPUT_DEC_CH_GAIN */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_UNLOAD_MODEL_ID = 265, /* [0x0109] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_DEC_CH_GAIN_GET_ID = 265, /* [0x0109] -> struct CMD_AUDIO_OUTPUT_DEC_CH_GAIN */ CMD_AUDIO_INPUT_GET_AP_MIC_INDEX_ID = 266, /* [0x010a] -> struct CMD_AUDIO_INPUT_GET_AP_MIC_INDEX */ CMD_AUDIO_OUTPUT_SET_INCALL_MUSIC_ID = 266, /* [0x010a] -> struct CMD_AUDIO_OUTPUT_INCALL_MUSIC */ CMD_AUDIO_INPUT_HOTWORD_FORCE_TRIGGER_TIMESTAMP_ID = 267, /* [0x010b] -> struct CMD_AUDIO_INPUT_HOTWORD_FORCE_TRIGGER_TIMESTAMP */ CMD_AUDIO_OUTPUT_SET_INCALL_MUSIC_CHAN_ID = 267, /* [0x010b] -> struct CMD_AUDIO_OUTPUT_INCALL_MUSIC_CHAN */ CMD_AUDIO_INPUT_HOTWORD_FORCE_TRIGGER_ID = 268, /* [0x010c] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_GET_INCALL_MUSIC_ID = 268, /* [0x010c] -> struct CMD_AUDIO_OUTPUT_INCALL_MUSIC */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_FORCE_TRIGGER_ID = 269, /* [0x010d] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_GET_INCALL_MUSIC_CHAN_ID = 269, /* [0x010d] -> struct CMD_AUDIO_OUTPUT_INCALL_MUSIC_CHAN */ CMD_AUDIO_INPUT_HOTWORD_SRC_GET_SAMPLE_RATE_ID = 270, /* [0x010e] -> struct CMD_AUDIO_INPUT_HOTWORD_SRC_GET_SAMPLE_RATE */ CMD_AUDIO_OUTPUT_SINK2_ID = 270, /* [0x010e] -> struct CMD_AUDIO_OUTPUT_SINK2 */ CMD_AUDIO_INPUT_HOTWORD_SRC_GET_BIT_DEPTH_ID = 271, /* [0x010f] -> struct CMD_AUDIO_INPUT_HOTWORD_SRC_GET_BIT_DEPTH */ CMD_AUDIO_OUTPUT_BIND2_ID = 271, /* [0x010f] -> struct CMD_AUDIO_OUTPUT_BIND */ CMD_AUDIO_INPUT_HOTWORD_SRC_GET_CHANNEL_ID = 272, /* [0x0110] -> struct CMD_AUDIO_INPUT_HOTWORD_SRC_GET_CHANNEL */ CMD_USB_CONTROL_SET_DCBAA_PTR_ID = 272, /* [0x0110] -> struct CMD_USB_CONTROL_SET_DCBAA_PTR */ CMD_AUDIO_INPUT_HOTWORD_SRC_GET_INPUT_PATH_ID = 273, /* [0x0111] -> struct CMD_AUDIO_INPUT_HOTWORD_SRC_GET_INPUT_PATH */ CMD_USB_CONTROL_SET_ISOC_TR_INFO_ID = 273, /* [0x0111] -> struct CMD_USB_CONTROL_SET_ISOC_TR_INFO */ CMD_AUDIO_INPUT_HOTWORD_GET_ERASER_PRE_GAIN_ID = 274, /* [0x0112] -> struct CMD_AUDIO_INPUT_HOTWORD_GET_ERASER_PRE_GAIN */ CMD_AUDIO_OUTPUT_USB_CONFIG_V2_ID = 274, /* [0x0112] -> struct CMD_AUDIO_OUTPUT_USB_CONFIG_V2 */ CMD_AUDIO_INPUT_HOTWORD_SET_ERASER_PRE_GAIN_ID = 275, /* [0x0113] -> struct CMD_AUDIO_INPUT_HOTWORD_SET_ERASER_PRE_GAIN */ CMD_USB_CONTROL_NOTIFY_CONN_STAT_V2_ID = 275, /* [0x0113] -> struct CMD_USB_CONTROL_NOTIFY_CONN_STAT_V2 */ CMD_AUDIO_INPUT_HOTWORD_GET_ERASER_POST_GAIN_ID = 276, /* [0x0114] -> struct CMD_AUDIO_INPUT_HOTWORD_GET_ERASER_POST_GAIN */ CMD_AUDIO_INPUT_HOTWORD_SET_ERASER_POST_GAIN_ID = 277, /* [0x0115] -> struct CMD_AUDIO_INPUT_HOTWORD_SET_ERASER_POST_GAIN */ CMD_AUDIO_OUTPUT_DSP_MODE_SET_ID = 277, /* [0x0115] -> struct CMD_AUDIO_OUTPUT_DSP_MODE */ CMD_AUDIO_INPUT_HOTWORD_GET_NON_ERASER_GAIN_ID = 278, /* [0x0116] -> struct CMD_AUDIO_INPUT_HOTWORD_GET_NON_ERASER_GAIN */ CMD_AUDIO_OUTPUT_DSP_MODE_GET_ID = 278, /* [0x0116] -> struct CMD_AUDIO_OUTPUT_DSP_MODE */ CMD_AUDIO_INPUT_HOTWORD_SET_NON_ERASER_GAIN_ID = 279, /* [0x0117] -> struct CMD_AUDIO_INPUT_HOTWORD_SET_NON_ERASER_GAIN */ CMD_AUDIO_OUTPUT_DEC_RESET_CURRENT_GAIN_ID = 279, /* [0x0117] -> struct CMD_HDR */ CMD_AUDIO_INPUT_SET_INCALL_MUSIC_ID = 280, /* [0x0118] -> struct CMD_AUDIO_INPUT_INCALL_MUSIC */ CMD_USB_CONTROL_SET_OFFLOAD_STATE_ID = 280, /* [0x0118] -> struct CMD_USB_CONTROL_SET_OFFLOAD_STATE */ CMD_AUDIO_INPUT_GET_INCALL_MUSIC_ID = 281, /* [0x0119] -> struct CMD_AUDIO_INPUT_INCALL_MUSIC */ CMD_AUDIO_OUTPUT_VOICE_CCA_START_ID = 281, /* [0x0119] -> struct CMD_HDR */ CMD_AUDIO_INPUT_GET_DSP_IDENTIFIER_ID = 282, /* [0x011a] -> struct CMD_AUDIO_INPUT_DSP_IDENTIFIER */ CMD_AUDIO_OUTPUT_VOICE_CCA_STOP_ID = 282, /* [0x011a] -> struct CMD_HDR */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_START_ID = 283, /* [0x011b] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_DECODER_CFG_GAPLESS_ID = 283, /* [0x011b] -> struct CMD_AUDIO_OUTPUT_DECODER_CFG */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_STOP_ID = 284, /* [0x011c] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_DECODER_GAPLESS_METADATA_ID = 284, /* [0x011c] -> struct CMD_AUDIO_OUTPUT_DECODER_GAPLESS_METADATA */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_TEST_TRIGGER_ID = 285, /* [0x011d] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_DECODER_GAPLESS_PARTIAL_DRAIN_ID = 285, /* [0x011d] -> struct CMD_HDR */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_DETECTED_ID = 286, /* [0x011e] -> struct CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_DETECTED */ CMD_AUDIO_OUTPUT_DECODER_GAPLESS_DEINIT_ID = 286, /* [0x011e] -> struct CMD_HDR */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_WRITE_MODEL_ID = 287, /* [0x011f] -> struct CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_WRITE_MODEL */ CMD_USB_CONTROL_SEND_FEEDBACK_EP_INFO_ID = 287, /* [0x011f] -> struct CMD_USB_CONTROL_SEND_FEEDBACK_EP_INFO */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_LOAD_MODEL_ID = 288, /* [0x0120] -> struct CMD_HDR */ CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_UNLOAD_MODEL_ID = 289, /* [0x0121] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_TELEPHONY_RTP_START_ID = 289, /* [0x0121] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_TELEPHONY_RTP_STOP_ID = 290, /* [0x0122] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_VOICE_ENABLE_CCA_ON_VOIP_ID = 291, /* [0x0123] -> struct CMD_HDR */ CMD_AUDIO_INPUT_MIC_RECORD_AP_START_PREPARE_ID = 292, /* [0x0124] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_VOICE_DISABLE_CCA_ON_VOIP_ID = 292, /* [0x0124] -> struct CMD_HDR */ CMD_AUDIO_INPUT_MIC_RECORD_AP_START_DATA_ID = 293, /* [0x0125] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_MEL_STATE_ID = 293, /* [0x0125] -> struct CMD_AUDIO_OUTPUT_MEL_STATE */ CMD_AUDIO_INPUT_MIC_MMAP_ENABLE_ID = 294, /* [0x0126] -> struct CMD_AUDIO_INPUT_AP_INPUT_START */ CMD_AUDIO_OUTPUT_MEL_SET_RS2_ID = 294, /* [0x0126] -> struct CMD_AUDIO_OUTPUT_MEL_RS2 */ CMD_AUDIO_INPUT_MIC_MMAP_DISABLE_ID = 295, /* [0x0127] -> struct CMD_HDR */ CMD_AUDIO_OUTPUT_MEL_GET_RS2_ID = 295, /* [0x0127] -> struct CMD_AUDIO_OUTPUT_MEL_RS2 */ CMD_AUDIO_INPUT_GET_CHRE_GAIN_ID = 296, /* [0x0128] -> struct CMD_AUDIO_INPUT_GET_CHRE_GAIN */ CMD_AUDIO_OUTPUT_MEL_TRIGGER_ID = 296, /* [0x0128] -> struct CMD_AUDIO_OUTPUT_MEL_TRIGGER */ CMD_AUDIO_INPUT_SET_CHRE_GAIN_ID = 297, /* [0x0129] -> struct CMD_AUDIO_INPUT_SET_CHRE_GAIN */ CMD_AUDIO_OUTPUT_MEL_GET_VALUE_ID = 297, /* [0x0129] -> struct CMD_AUDIO_OUTPUT_MEL_GET_VALUE */ CMD_AUDIO_INPUT_HOTWORD_GET_CLEANER_POST_GAIN_ID = 298, /* [0x012a] -> struct CMD_AUDIO_INPUT_HOTWORD_GET_CLEANER_POST_GAIN */ CMD_AUDIO_OUTPUT_EP_SETUP2_ID = 298, /* [0x012a] -> struct CMD_AUDIO_OUTPUT_EP_SETUP2 */ CMD_AUDIO_INPUT_HOTWORD_SET_CLEANER_POST_GAIN_ID = 299, /* [0x012b] -> struct CMD_AUDIO_INPUT_HOTWORD_SET_CLEANER_POST_GAIN */ CMD_AUDIO_INPUT_WNR_START_ID = 301, /* [0x012d] -> struct CMD_HDR */ CMD_AUDIO_INPUT_WNR_STOP_ID = 302, /* [0x012e] -> struct CMD_HDR */ CMD_AUDIO_INPUT_SPATIAL_CAPTURE_START_ID = 303, /* [0x012f] -> struct CMD_HDR */ CMD_AUDIO_INPUT_SPATIAL_CAPTURE_STOP_ID = 304, /* [0x0130] -> struct CMD_HDR */ CMD_AUDIO_INPUT_MIC_RAW_ENABLE_ID = 305, /* [0x0131] -> struct CMD_AUDIO_INPUT_AP_INPUT_START */ CMD_AUDIO_INPUT_MIC_RAW_DISABLE_ID = 306, /* [0x0132] -> struct CMD_HDR */ CMD_AUDIO_INPUT_USB_HIFI_CAPTURE_START_ID = 307, /* [0x0133] -> struct CMD_HDR */ CMD_AUDIO_INPUT_USB_HIFI_CAPTURE_STOP_ID = 308, /* [0x0134] -> struct CMD_HDR */ CMD_AUDIO_INPUT_SET_INCALL_MUSIC_CHAN_ID = 309, /* [0x0135] -> struct CMD_AUDIO_INPUT_INCALL_MUSIC_CHAN */ CMD_AUDIO_INPUT_GET_INCALL_MUSIC_CHAN_ID = 310, /* [0x0136] -> struct CMD_AUDIO_INPUT_INCALL_MUSIC_CHAN */ CMD_AUDIO_INPUT_MMAP_ENABLE_2_ID = 313, /* [0x0139] -> struct CMD_AUDIO_INPUT_MMAP_ENABLE_2 */ CMD_AUDIO_INPUT_RAW_ENABLE_2_ID = 314, /* [0x013a] -> struct CMD_AUDIO_INPUT_RAW_ENABLE_2 */ CMD_AUDIO_INPUT_SET_AP_MIC_INDEX_ID = 319, /* [0x013f] -> struct CMD_AUDIO_INPUT_GET_AP_MIC_INDEX */ CMD_AUDIO_INPUT_DIRECT_ULTRASONIC_CAPTURE_ENABLE_ID = 320, /* [0x0140] -> struct CMD_HDR */ CMD_AUDIO_INPUT_DIRECT_ULTRASONIC_CAPTURE_DISABLE_ID = 321, /* [0x0141] -> struct CMD_HDR */ CMD_AUDIO_INPUT_MIC_RECORD_AP_ENABLE_AEC_ID = 322, /* [0x0142] -> struct CMD_HDR */ CMD_AUDIO_INPUT_MIC_RECORD_AP_DISABLE_AEC_ID = 323, /* [0x0143] -> struct CMD_HDR */ CMD_AUDIO_INPUT_MODEM_INPUT_START_2_ID = 324, /* [0x0144] -> struct CMD_AUDIO_INPUT_MODEM_INPUT_START_2 */ CMD_AUDIO_INPUT_HOTWORD_SELECT_AEC_REF_ID = 325, /* [0x0145] -> struct CMD_AUDIO_INPUT_FEEDBACK_SRC_SELECT_REF */ CMD_AUDIO_INPUT_ULTRASONIC_CAPTURE_START_ID = 326, /* [0x0146] -> struct CMD_HDR */ CMD_AUDIO_INPUT_ULTRASONIC_CAPTURE_STOP_ID = 327, /* [0x0147] -> struct CMD_HDR */ CMD_AUDIO_INPUT_ULTRASONIC_AP_SET_PARAMS_ID = 328, /* [0x0148] -> struct CMD_AUDIO_INPUT_MIC_RECORD_AP_SET_PARAMS */ CMD_AUDIO_INPUT_ULTRASONIC_AP_START_ID = 329, /* [0x0149] -> struct CMD_HDR */ CMD_AUDIO_INPUT_MEDIA_COMMANDS_START_ID = 330, /* [0x014a] -> struct CMD_HDR */ CMD_AUDIO_INPUT_MEDIA_COMMANDS_STOP_ID = 331, /* [0x014b] -> struct CMD_HDR */ CMD_AUDIO_INPUT_MEDIA_COMMANDS_TEST_TRIGGER_ID = 332, /* [0x014c] -> struct CMD_AUDIO_INPUT_AMBIENT_MUSIC_DETECTED */ CMD_AUDIO_INPUT_MEDIA_COMMANDS_DETECTED_ID = 333, /* [0x014d] -> struct CMD_AUDIO_INPUT_AMBIENT_MUSIC_DETECTED */ CMD_AUDIO_INPUT_MEDIA_COMMANDS_WRITE_MODEL_ID = 334, /* [0x014e] -> struct CMD_AUDIO_INPUT_MEDIA_COMMANDS_WRITE_MODEL */ CMD_AUDIO_INPUT_MEDIA_COMMANDS_LOAD_MODEL_ID = 335, /* [0x014f] -> struct CMD_HDR */ CMD_AUDIO_INPUT_MEDIA_COMMANDS_UNLOAD_MODEL_ID = 336, /* [0x0150] -> struct CMD_HDR */ CMD_AUDIO_INPUT_HOTWORD_SET_AP_OFFLOAD_ID = 339, /* [0x0153] -> struct CMD_AUDIO_INPUT_HOTWORD_SET_AP_OFFLOAD */ CMD_AUDIO_INPUT_CAPTURE_INJECTION_START_ID = 340, /* [0x0154] -> struct CMD_HDR */ CMD_AUDIO_INPUT_CAPTURE_INJECTION_STOP_ID = 341, /* [0x0155] -> struct CMD_HDR */ CMD_AUDIO_INPUT_HOTWORD_ENABLE_PRIMARY_MIC_SWAP_ID = 342, /* [0x0156] -> struct CMD_HDR */ CMD_AUDIO_INPUT_HOTWORD_DISABLE_PRIMARY_MIC_SWAP_ID = 343, /* [0x0157] -> struct CMD_HDR */ CMD_AUDIO_INPUT_SET_CHRE_SRC_AEC_TIMEOUT_ID = 345, /* [0x0159] -> struct CMD_AUDIO_INPUT_SET_CHRE_SRC_AEC_TIMEOUT */ CMD_AUDIO_INPUT_SET_CHRE_SRC_PDM_GAIN_ID = 346, /* [0x015a] -> struct CMD_AUDIO_INPUT_SET_CHRE_SRC_PDM_GAIN */ CMD_AUDIO_INPUT_SET_CHRE_SRC_AEC_GAIN_ID = 347, /* [0x015b] -> struct CMD_AUDIO_INPUT_SET_CHRE_SRC_AEC_GAIN */ CMD_AUDIO_INPUT_HOTWORD_ENABLE_NEURAL_AEC_ID = 350, /* [0x015e] -> struct CMD_HDR */ CMD_AUDIO_INPUT_HOTWORD_DISABLE_NEURAL_AEC_ID = 351, /* [0x015f] -> struct CMD_HDR */ CMD_AUDIO_INPUT_HOTWORD_ENABLE_HOTWORD_TAP_ID = 352, /* [0x0160] -> struct CMD_HDR */ CMD_AUDIO_INPUT_HOTWORD_DISABLE_HOTWORD_TAP_ID = 353, /* [0x0161] -> struct CMD_HDR */ CMD_AUDIO_INPUT_HOTWORD_GET_BUFFER_TIMESTAMP_ID = 354, /* [0x0162] -> struct CMD_AUDIO_INPUT_HOTWORD_GET_BUFFER_TIMESTAMP */ CMD_AUDIO_INPUT_MIC_COMPENSATION_ENABLE_ID = 355, /* [0x0163] -> struct CMD_HDR */ CMD_AUDIO_INPUT_MIC_COMPENSATION_DISABLE_ID = 356, /* [0x0164] -> struct CMD_HDR */ CMD_AUDIO_INPUT_MIC_RECORD_AP_SET_PARAMS2_ID = 359, /* [0x0167] -> struct CMD_AUDIO_INPUT_MIC_RECORD_AP_SET_PARAMS2 */ CMD_AUDIO_INPUT_ULTRASONIC_AP_SET_PARAMS2_ID = 360, /* [0x0168] -> struct CMD_AUDIO_INPUT_MIC_RECORD_AP_SET_PARAMS2 */ }; /** * List of available notifications. */ enum AOC_NOTIFICATION { NOTIF_AUDIO_INPUT_AP_MIC_RECORD_DATA_AVAILABLE_ID = 11, /* [0x000b] -> struct NOTIF */ }; enum DATA_TYPE { DATA_TYPE_CMD = 0, DATA_TYPE_NOTIF, DATA_TYPE_SIGNAL, DATA_TYPE_MSG, DATA_TYPE_CMD_NO_ACK, }; struct CONTAINER_HDR { uint8_t type; /* For valid values, refer to "enum DATA_TYPE" */ uint8_t cntr; uint16_t len; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_ENABLE_AEC_ID, UUID: 20a78f1f7636fd03af70078236b4d271 * CMD_AUDIO_INPUT_HOTWORD_DISABLE_AEC_ID, UUID: 8ef204a3efe8efb0ddc50bc49bf1fe06 * CMD_AUDIO_INPUT_AP_INPUT_STOP_ID, UUID: 0a8194454e7909aac5003be176e82091 * CMD_AUDIO_INPUT_MODEM_INPUT_STOP_ID, UUID: 1c8e98ae6fd85847b28400bec1355910 * CMD_AUDIO_INPUT_BT_CAPTURE_START_ID, UUID: 0a8469b5b96b5ccbf73a68d034fc69b6 * CMD_AUDIO_INPUT_BT_CAPTURE_STOP_ID, UUID: 6f215c20b81395c0e948481d8956d568 * CMD_AUDIO_INPUT_BT_DECODER_START_ID, UUID: 03bbd87e56c452d627b91e6fb135aa6d * CMD_AUDIO_INPUT_BT_DECODER_STOP_ID, UUID: da9c0b00756b060bd1c4e0bb2d93d29f * CMD_AUDIO_INPUT_IN_CALL_SELECT_START_ID, UUID: 017e8791508f329711806b7b1784654a * CMD_AUDIO_INPUT_IN_CALL_SELECT_STOP_ID, UUID: d763ea0ff8f3385185ccf4fa40531e82 * CMD_AUDIO_INPUT_MIC_RECORD_AP_START_ID, UUID: 8542edc955df6bd649c5c12c92a92134 * CMD_AUDIO_INPUT_MIC_RECORD_AP_STOP_ID, UUID: de64e56e6aba9eb0021279db42ed6b46 * CMD_AUDIO_INPUT_HOTWORD_START_ID, UUID: 6e8872b5789b3c3c82392504f3febada * CMD_AUDIO_INPUT_HOTWORD_STOP_ID, UUID: f6c4378bb2c94c021f9d9f4b76c2ac80 * CMD_AUDIO_INPUT_MIC_LOOPBACK_STOP_ID, UUID: ef3fb88005c81022b399c4c4d932973a * CMD_AUDIO_INPUT_SPATIAL_START_ID, UUID: 7c247fcef1ccb6643e8372885dbbf629 * CMD_AUDIO_OUTPUT_DECODE_FLUSH_RB_ID, UUID: 57c67deea6d111d607d6914e29c7a32c * CMD_AUDIO_INPUT_SPATIAL_STOP_ID, UUID: 7830c577ed8e2b474198d36529417649 * CMD_AUDIO_INPUT_HOTWORD_TEST_TRIGGER_ID, UUID: 25d16d037a41a1f85406a0029017a02a * CMD_AUDIO_INPUT_AMBIENT_MUSIC_START_ID, UUID: 6a5b7998d885b2f33409413aa9bdf39c * CMD_AUDIO_OUTPUT_TELEPHONY_MODEM_START_ID, UUID: a2dcee61c1283d5aff021c0c5f803dc0 * CMD_AUDIO_INPUT_AMBIENT_MUSIC_STOP_ID, UUID: 40bdd53e1632962334594cb1f0f92da5 * CMD_AUDIO_OUTPUT_TELEPHONY_MODEM_STOP_ID, UUID: 4a4ec74c3eda935d8a28e2a942e4a75b * CMD_AUDIO_INPUT_AMBIENT_MUSIC_TEST_TRIGGER_ID, UUID: b68ac180042a442f6c509069ca076784 * CMD_AUDIO_OUTPUT_TELEPHONY_VOIP_START_ID, UUID: 21d23b51107547ec3a083380cace825e * CMD_AUDIO_OUTPUT_TELEPHONY_VOIP_STOP_ID, UUID: 367cc9dcdb4ccb5295d11ab054c37106 * CMD_AUDIO_OUTPUT_SPKR_ANDROID_AEC_START_ID, UUID: fdc99d0d19fdae73c0dd4f2a21c94be6 * CMD_AUDIO_INPUT_HOTWORD_LOAD_MODEL_ID, UUID: 32209e632ee67e9b507a066e1ce31e64 * CMD_AUDIO_OUTPUT_SPKR_ANDROID_AEC_STOP_ID, UUID: d148bbdd17267d54f6341e9c43848aad * CMD_AUDIO_INPUT_HOTWORD_UNLOAD_MODEL_ID, UUID: be7aad055fbb5439ceab4c6c59efb3b6 * CMD_AUDIO_OUTPUT_USB_HIFI_PLAYBACK_START_ID, UUID: 17da3adbbbfbdbe6215b813dca17e141 * CMD_AUDIO_OUTPUT_USB_HIFI_PLAYBACK_STOP_ID, UUID: c3889a9de9dc360425cde2b0afdd2b2a * CMD_AUDIO_INPUT_AMBIENT_MUSIC_LOAD_MODEL_ID, UUID: d1121b14e655df65385b0f474fcefd7d * CMD_AUDIO_INPUT_AMBIENT_MUSIC_UNLOAD_MODEL_ID, UUID: bedaaff890bda7ffd077902bf913f4b9 * CMD_AUDIO_INPUT_HOTWORD_FORCE_TRIGGER_ID, UUID: 8d14b4097cffcca6227bbc587f8279d8 * CMD_AUDIO_INPUT_AMBIENT_MUSIC_FORCE_TRIGGER_ID, UUID: ab98a91ea27d62bbc4a0bb77b082a139 * CMD_AUDIO_OUTPUT_DEC_RESET_CURRENT_GAIN_ID, UUID: 12892dadd9ba4d23eae485d3d59fccf0 * CMD_AUDIO_OUTPUT_VOICE_CCA_START_ID, UUID: 8d121421548f265e4f296acbf300fe33 * CMD_AUDIO_OUTPUT_VOICE_CCA_STOP_ID, UUID: f7982f7ff04be3cae52ab7db8f24649d * CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_START_ID, UUID: 5be7b99d97f4bf06af231be04ab783ab * CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_STOP_ID, UUID: edd0a66ee107ea64b8f6a0a324a7856b * CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_TEST_TRIGGER_ID, UUID: 1a8f67d766cc9a1e21d6548afdc2ba57 * CMD_AUDIO_OUTPUT_DECODER_GAPLESS_PARTIAL_DRAIN_ID, UUID: 117682af13455a3de0f0f01a02a3d466 * CMD_AUDIO_OUTPUT_DECODER_GAPLESS_DEINIT_ID, UUID: a77ecb0deb43d8b2cff697ec83bd8571 * CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_LOAD_MODEL_ID, UUID: 3667c2affee42fed78892d05626d0a88 * CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_UNLOAD_MODEL_ID, UUID: d3b7cbecbc7f3c607bf090245f691002 * CMD_AUDIO_OUTPUT_TELEPHONY_RTP_START_ID, UUID: 9d12f53f498b427930257a6d8010478c * CMD_AUDIO_OUTPUT_TELEPHONY_RTP_STOP_ID, UUID: cc499dc1692b5fe55df8fc02f9809c7f * CMD_AUDIO_OUTPUT_VOICE_ENABLE_CCA_ON_VOIP_ID, UUID: 514450e55854eed2a15651067d6a3e55 * CMD_AUDIO_INPUT_MIC_RECORD_AP_START_PREPARE_ID, UUID: a2d983137ee5c50405f719a310c20971 * CMD_AUDIO_OUTPUT_VOICE_DISABLE_CCA_ON_VOIP_ID, UUID: 67226e15aef11c25557ca1130234a756 * CMD_AUDIO_INPUT_MIC_RECORD_AP_START_DATA_ID, UUID: eb4ca3ecc1e61d8abbdc79671dc0edbb * CMD_AUDIO_INPUT_MIC_MMAP_DISABLE_ID, UUID: 02aa59769391dbf4e0bae82fbcaebb3c * CMD_AUDIO_INPUT_WNR_START_ID, UUID: cdfe4c6b0cbbebb53cd4f1de4cf7d10a * CMD_AUDIO_INPUT_WNR_STOP_ID, UUID: 14a6598537e19f97879eaf9cfa6fb9ba * CMD_AUDIO_INPUT_SPATIAL_CAPTURE_START_ID, UUID: cded22dfdd10ab966c5b6f4c0d15b417 * CMD_AUDIO_INPUT_SPATIAL_CAPTURE_STOP_ID, UUID: a2132771c2f32e730de3fd3bd7f79dbe * CMD_AUDIO_INPUT_MIC_RAW_DISABLE_ID, UUID: c602ddac88428952c9e8d444e2a3a927 * CMD_AUDIO_INPUT_USB_HIFI_CAPTURE_START_ID, UUID: 2a392f6c9f9ac788fb2a12a6e4a5dde5 * CMD_AUDIO_INPUT_USB_HIFI_CAPTURE_STOP_ID, UUID: 76f7a92e726aa3e997c74b399381c069 * CMD_AUDIO_INPUT_DIRECT_ULTRASONIC_CAPTURE_ENABLE_ID, UUID: 05c8db46e274a9083197bddbf534e637 * CMD_AUDIO_INPUT_DIRECT_ULTRASONIC_CAPTURE_DISABLE_ID, UUID: 2c0489afcb07c271454e4da7166223ff * CMD_AUDIO_INPUT_MIC_RECORD_AP_ENABLE_AEC_ID, UUID: 249ada53f8b6ce226ba9aa73dabbf5e6 * CMD_AUDIO_INPUT_MIC_RECORD_AP_DISABLE_AEC_ID, UUID: 5c42e0725b9b1bbd6879fcb2d6692c90 * CMD_AUDIO_INPUT_ULTRASONIC_CAPTURE_START_ID, UUID: 08036d24f52fe021a2ef8419f28dbf0d * CMD_AUDIO_INPUT_ULTRASONIC_CAPTURE_STOP_ID, UUID: 94b7271ea12a31a0e2400e17e9be0335 * CMD_AUDIO_INPUT_ULTRASONIC_AP_START_ID, UUID: 271872e1bf7b57d8c2bb10847206e888 * CMD_AUDIO_INPUT_MEDIA_COMMANDS_START_ID, UUID: fdc8fcf51dec427d9f0ecbd240d2cea5 * CMD_AUDIO_INPUT_MEDIA_COMMANDS_STOP_ID, UUID: c57e4843d5a425ef3b3404a47824ab57 * CMD_AUDIO_INPUT_MEDIA_COMMANDS_LOAD_MODEL_ID, UUID: 0a59d4c72b387711454fbd375d304417 * CMD_AUDIO_INPUT_MEDIA_COMMANDS_UNLOAD_MODEL_ID, UUID: d18c4488e716162dfc772e30376f83ac * CMD_AUDIO_INPUT_CAPTURE_INJECTION_START_ID, UUID: 6ce14e7447365ee0ce8bfb7cccbb3c7a * CMD_AUDIO_INPUT_CAPTURE_INJECTION_STOP_ID, UUID: 59bd69e4f8da57ee844043c426239ba0 * CMD_AUDIO_INPUT_HOTWORD_ENABLE_PRIMARY_MIC_SWAP_ID, UUID: 14406b26352156fc3fd45dbd2afe8f21 * CMD_AUDIO_INPUT_HOTWORD_DISABLE_PRIMARY_MIC_SWAP_ID, UUID: 8dcc7c59a45658053cffdef0ac6d079e * CMD_AUDIO_INPUT_HOTWORD_ENABLE_NEURAL_AEC_ID, UUID: 9d485929dc61d3babd81ddff05cf9392 * CMD_AUDIO_INPUT_HOTWORD_DISABLE_NEURAL_AEC_ID, UUID: c8a19d5b447ce1fae9a8666883c723d7 * CMD_AUDIO_INPUT_HOTWORD_ENABLE_HOTWORD_TAP_ID, UUID: 26bde63caffd544e581a7293f1cf793c * CMD_AUDIO_INPUT_HOTWORD_DISABLE_HOTWORD_TAP_ID, UUID: 228b2b4c01e7c126658056a596ac4e5c * CMD_AUDIO_INPUT_MIC_COMPENSATION_ENABLE_ID, UUID: 1853725716f2678f9bd12f961c2ae591 * CMD_AUDIO_INPUT_MIC_COMPENSATION_DISABLE_ID, UUID: 279aa88afc7bdfff45529976176b3260 */ struct CMD_HDR { struct CONTAINER_HDR parent; uint16_t id; int16_t reply; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_SYS_BANNER_ID, UUID: 504d490d704ac2bef2af10887b9b1ad3 * CMD_SYS_STATS_ID, UUID: 2ab98ec58f7c9704b4e83b93bbcefaa2 * CMD_DBG_WATCHDOG_TRIGGER_ID, UUID: d9ef98fe070ef538bee623643537eeed * CMD_DBG_TREE_ID, UUID: 43fd27ea86c0ab0971ba99275dbec161 * CMD_DBG_CONTROLLERS_ID, UUID: c89caebb6b7061d1232b0dd45ff3fe13 * CMD_DBG_FILTERS_ID, UUID: 7c56165bc53102a4442811f0ef2b2b63 * CMD_DBG_PIPES_ID, UUID: c84d222dc0e7ae06be2535e426919b34 * CMD_DBG_POOLS_ID, UUID: d57a0ddcef560feec8e6413a7cf33c87 * CMD_DBG_RINGS_ID, UUID: a77f8e45e2b6f9190e18a5e980e01bdd * CMD_DBG_IPCS_ID, UUID: ffa1935344543128298b05f31c2db4fa * CMD_DBG_FSM_ID, UUID: 15c1570c1258ba2acdd2d4dd2e172fbe * CMD_DBG_TASKS_ID, UUID: 538e9ac88022dc3bcec311eda8b8780f * CMD_DBG_TIMER_ID, UUID: cfb3bd6083c745bbb3dffaa85b9123a1 * CMD_DBG_INTCNTRL_ID, UUID: 3613177f5b587dfdaad15524d2976726 * CMD_DBG_IPC_SPACES_ID, UUID: 8deb052245037bdc892886f52f4a3fd1 * CMD_DBG_IPC_CHANNELS_ID, UUID: 2fcedfa697ab0343863d06f3d608c10e * CMD_DBG_MEM_INVAL_ACCESS_ID, UUID: da303a56481b5192393842b400259d21 */ struct CMD_CORE_GENERIC { struct CMD_HDR parent; int32_t core; } __attribute__((packed)); enum DbgHeapMode { DBG_HEAP_NONE = 0, DBG_HEAP_TRACE, DBG_HEAP_CRC_INFO, DBG_HEAP_CRC, }; /** * Structure associated with the following commands: * * CMD_DBG_HEAP_ID, UUID: f684800cbb1524ee1814f70099799cbe */ struct CMD_DBG_HEAP { struct CMD_CORE_GENERIC parent; uint32_t crc; uint8_t mode; /* For valid values, refer to "enum DbgHeapMode" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_RING_BIND_ID, UUID: 9c5bee4588fffe71e78024b6005102ad */ struct CMD_RING_BIND { struct CMD_HDR parent; int32_t pin; uint16_t ipc_tag; uint32_t write_descr; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_IPC_NOTIF_ENABLE_ID, UUID: 922f1525a44efdbab3edf48586cf3ad5 */ struct CMD_IPC_NOTIF_ENABLE { struct CMD_HDR parent; uint32_t tag; uint8_t enable; } __attribute__((packed)); #define CMD_SYS_VERSION_SIZE_MAX (64) /* UUID: 523a9f7b743ea29ea23a18c0879b0dcc */ /** * Structure associated with the following commands: * * CMD_SYS_VERSION_GET_ID, UUID: 085b3c10693de3cd14a5abc2258280ce */ struct CMD_SYS_VERSION_GET { struct CMD_CORE_GENERIC parent; char version[CMD_SYS_VERSION_SIZE_MAX]; char link_time[CMD_SYS_VERSION_SIZE_MAX]; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_SYS_STATS_TOT_ID, UUID: 61c84e3e09983de7c5184f81298c2024 */ struct CMD_SYS_STATS_TOT { struct CMD_CORE_GENERIC parent; int32_t tot; } __attribute__((packed)); enum STATS_TYPE { STATS_TYPE_TIMED_STATUS = 0, STATS_TYPE_DATA_TRANSFER, }; #define STATS_ENTRY_LEN (7) /* UUID: 733b57b1d8a9342523a49b8c37ad2d0a */ struct STATS_ENTRY_INFO { char name[STATS_ENTRY_LEN]; uint8_t type; /* For valid values, refer to "enum STATS_TYPE" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_SYS_STATS_INFO_GET_ID, UUID: e518d09ccf3b2768676f64bd744d03d6 */ struct CMD_SYS_STATS_INFO_GET { struct CMD_CORE_GENERIC parent; int32_t index; struct STATS_ENTRY_INFO info; } __attribute__((packed)); struct STATS_TIMED_STATUS { uint64_t counter; uint64_t cumulative_time; uint64_t timestamp_enter_last; uint64_t timestamp_exit_last; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_SYS_STATS_TIMED_GET_ID, UUID: e3bd9e12d29027ccbf10538e3f79063b */ struct CMD_SYS_STATS_TIMED_GET { struct CMD_CORE_GENERIC parent; int32_t index; struct STATS_TIMED_STATUS timed; } __attribute__((packed)); struct STATS_DATA_TRANSFER { uint64_t counter; uint64_t counter_failed; uint64_t transfer_tx; uint64_t transfer_rx; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_SYS_STATS_DATA_GET_ID, UUID: e3235ddcdf9ecf229fd318b7c409b76e */ struct CMD_SYS_STATS_DATA_GET { struct CMD_CORE_GENERIC parent; int32_t index; struct STATS_DATA_TRANSFER transfer; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_SYS_LOGIC_TRACE_ENABLE_ID, UUID: fc8ef6690b1147b887acdf44c0b78ab7 * CMD_DBG_TIMESTAMP_ID, UUID: f0d0ab26cd620a32c7f27f8862434e7c */ struct CMD_ENABLE { struct CMD_CORE_GENERIC parent; uint8_t enable; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_SYS_LOGIC_TRACE_SCHEME_SET_ID, UUID: 59f22b5d76f7074cc59842557004bb5a * CMD_SYS_LOGIC_TRACE_SCHEME_GET_ID, UUID: 4b0929d902bd8dfb960f5b417042982c */ struct CMD_CORE_LOGIC_TRACE_SCHEME { struct CMD_CORE_GENERIC parent; int8_t scheme; } __attribute__((packed)); #define EFWObject_kNameSize (16) /* UUID: 7488eddabe0654e3f0ac58cda17a1530 */ /** * Structure associated with the following commands: * * CMD_DBG_INFO_ID, UUID: 927126c1e5bdea5c6c5674d6855d6e16 */ struct CMD_DBG_INFO { struct CMD_CORE_GENERIC parent; char string[EFWObject_kNameSize]; uint8_t system; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_DBG_LEVEL_GET_ID, UUID: fa0736f425f7ee729ab1ed21bbe40f0b */ struct CMD_DBG_LEVEL_GET { struct CMD_CORE_GENERIC parent; char string[EFWObject_kNameSize]; uint8_t system; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_DBG_POWERMAN_ID, UUID: b7759fa324678e6a7e7fbe1b24be450f */ struct CMD_DBG_POWERMAN { struct CMD_CORE_GENERIC parent; uint8_t standby_modify; uint8_t standby_on; uint8_t retention_modify; uint8_t retention_on; uint8_t shutdown_modify; uint8_t shutdown_on; uint8_t status; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_DBG_LOG_ID, UUID: a4b82f60bcefb799d11a46342c8fc459 */ struct CMD_DBG_LOG { struct CMD_CORE_GENERIC parent; uint8_t reset; uint8_t marker; } __attribute__((packed)); enum DbgMemMode { DBG_MEM_MODE_32 = 0, DBG_MEM_MODE_16, DBG_MEM_MODE_8, DBG_MEM_MODE_RANGE, }; /** * Structure associated with the following commands: * * CMD_DBG_MEM_SET_ID, UUID: 37b9c686489b1c896ab3e66ea084f646 */ struct CMD_DBG_MEM_SET { struct CMD_CORE_GENERIC parent; uint32_t address; uint32_t value; uint8_t mode; /* For valid values, refer to "enum DbgMemMode" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_DBG_MEM_DUMP_ID, UUID: 214087af52dcfa3f3930c8a9a986c783 */ struct CMD_DBG_MEM_DUMP { struct CMD_CORE_GENERIC parent; uint32_t address; uint32_t size; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_UMFW_STAT_MSG_ID, UUID: 6f0c398616aca7cd4d457279408a7e19 */ struct CMD_UMFW_STAT_MSG { struct CMD_CORE_GENERIC parent; uint8_t payload[1024]; } __attribute__((packed)); enum BTDecoderOutputIndex { BT_MODEM_OUTPUT_INDEX = 0, BT_AP_OUTPUT_INDEX, BT_HOTWORD_OUTPUT_INDEX, BT_DECODER_NUM_OUTPUTS, }; /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_BT_DECODER_ENABLE_OUTPUT_ID, UUID: 9db47f9d9aa8b675423820ef42f3c656 */ struct CMD_AUDIO_INPUT_BT_ENABLE_OUTPUT { struct CMD_HDR parent; uint8_t output_index; /* For valid values, refer to "enum BTDecoderOutputIndex" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_BT_DECODER_DISABLE_OUTPUT_ID, UUID: 8dc3757cd2b17c6ea53f81a4df1f2526 */ struct CMD_AUDIO_INPUT_BT_DISABLE_OUTPUT { struct CMD_HDR parent; uint8_t output_index; /* For valid values, refer to "enum BTDecoderOutputIndex" */ } __attribute__((packed)); enum InCallSelectOutputIndex { IN_CALL_SELECT_MODEM_IN_OUTPUT_INDEX = 0, IN_CALL_SELECT_MODEM_TX_OUTPUT_INDEX, IN_CALL_SELECT_NUM_OUTPUTS, }; /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_IN_CALL_SELECT_ENABLE_OUTPUT_ID, UUID: d77dc2f6476fec8ea6e8f062125eeb6e */ struct CMD_AUDIO_INPUT_IN_CALL_SELECT_ENABLE_OUTPUT { struct CMD_HDR parent; uint8_t output_index; /* For valid values, refer to "enum InCallSelectOutputIndex" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_IN_CALL_SELECT_DISABLE_OUTPUT_ID, UUID: f3662825cd66dd6ff36425eccf6ce23b */ struct CMD_AUDIO_INPUT_IN_CALL_SELECT_DISABLE_OUTPUT { struct CMD_HDR parent; uint8_t output_index; /* For valid values, refer to "enum InCallSelectOutputIndex" */ } __attribute__((packed)); enum APMicProcessIndex { AP_MIC_PROCESS_RAW = 0, AP_MIC_PROCESS_SPATIAL, NUM_AP_MIC_PROCESS, }; enum SampleRate { SR_8KHZ = 0, SR_16KHZ, SR_24KHZ, SR_32KHZ, SR_44K1HZ, SR_48KHZ, SR_96KHZ, SR_192KHZ, }; #define AUDIO_CAPTURE_PDM_PDM_MAX (4) /* UUID: 4ce9e232b0ad1dc19bd98d7665bf9353 */ enum Format { FRMT_FLOATING_POINT = 0, FRMT_FIXED_POINT, FRMT_ULAW, }; enum BitsPerSample { WIDTH_8_BIT = 0, WIDTH_16_BIT, WIDTH_24_BIT, WIDTH_32_BIT, }; enum Channels { CH_RESERVED = 0, CH_MONO, CH_STEREO, CH_3, CH_4, CH_5_1, }; struct channelMetadataUnpacked { uint8_t chan; /* For valid values, refer to "enum Channels" */ uint8_t bits; /* For valid values, refer to "enum BitsPerSample" */ uint8_t sr; /* For valid values, refer to "enum SampleRate" */ uint8_t format; /* For valid values, refer to "enum Format" */ uint8_t offset; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_MIC_RECORD_AP_SET_PARAMS_ID, UUID: f0b64ed4024e019884bc797a3a4f183d * CMD_AUDIO_INPUT_ULTRASONIC_AP_SET_PARAMS_ID, UUID: af134d505c05101b193ccb3544e08dcf */ struct CMD_AUDIO_INPUT_MIC_RECORD_AP_SET_PARAMS { struct CMD_HDR parent; struct channelMetadataUnpacked requested_format; uint8_t pdm_mask; uint8_t period_ms; uint8_t num_periods; uint8_t interleaving[AUDIO_CAPTURE_PDM_PDM_MAX]; uint8_t sample_rate; /* For valid values, refer to "enum SampleRate" */ uint8_t mic_process_index; /* For valid values, refer to "enum APMicProcessIndex" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_MIC_LOOPBACK_START_ID, UUID: 4b17cf2442ac4af494e2f727388d8ed8 */ struct CMD_AUDIO_INPUT_ENABLE_MIC_LOOPBACK { struct CMD_HDR parent; uint8_t sample_rate; /* For valid values, refer to "enum SampleRate" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_MIC_POWER_ON_ID, UUID: 790997fcbc5b31216a6ed4aacdfeaaf0 */ struct CMD_AUDIO_INPUT_MIC_POWER_ON { struct CMD_HDR parent; uint8_t mic_index; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_MIC_POWER_OFF_ID, UUID: 8c6f6ab39aed0b4fc898f42aef3d4ba4 */ struct CMD_AUDIO_INPUT_MIC_POWER_OFF { struct CMD_HDR parent; uint8_t mic_index; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_MIC_GET_POWER_STATE_ID, UUID: 88a345935cad7a95cb30ceb092d948d3 */ struct CMD_AUDIO_INPUT_MIC_GET_POWER_STATE { struct CMD_HDR parent; uint8_t mic_index; uint8_t power_state; } __attribute__((packed)); enum ModemInputIndex { MODEM_MIC_INPUT_INDEX = 0, MODEM_BT_INPUT_INDEX, MODEM_USB_INPUT_INDEX, MODEM_INCALL_INPUT_INDEX, MODEM_ZERO_INPUT_INDEX, MODEM_NUM_INPUTS, }; /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_MODEM_INPUT_START_ID, UUID: dbbf677680a271a40193ccff8361bb3c */ struct CMD_AUDIO_INPUT_MODEM_INPUT_START { struct CMD_HDR parent; uint8_t mic_input_source; /* For valid values, refer to "enum ModemInputIndex" */ } __attribute__((packed)); enum AUDIO_SINKS_ID { ASNK_SPEAKER = 0, ASNK_UNUSED, ASNK_BT, ASNK_MODEM, ASNK_USB, AUDIO_OUTPUT_SINKS, }; /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_SINK_ID, UUID: f5496054472a5be703a32e46206c74ab */ struct CMD_AUDIO_OUTPUT_SINK { struct CMD_HDR parent; uint8_t sink; /* For valid values, refer to "enum AUDIO_SINKS_ID" */ uint8_t mode; uint8_t timestamping; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_SOURCE_ID, UUID: 7abd928d4b17904f7267d3ed77f6174e */ struct CMD_AUDIO_OUTPUT_SOURCE { struct CMD_HDR parent; uint8_t source; uint8_t on; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_BIND_ID, UUID: 06c96d4cc0173e6fe6bfe95c97bfe933 * CMD_AUDIO_OUTPUT_BIND2_ID, UUID: 8f572f5621ed71748992531b40e45148 */ struct CMD_AUDIO_OUTPUT_BIND { struct CMD_HDR parent; uint8_t src; uint8_t dst; uint8_t bind; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_WAV_PLAYBACK_ID, UUID: 63d33aa8677ba043b76fc5e2873b7695 */ struct CMD_AUDIO_OUTPUT_WAV_PLAYBACK { struct CMD_HDR parent; uint8_t sink; uint8_t on; uint32_t address; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_GAIN_ID, UUID: 858dde9ab4a90a99fbb98e0a991afa1f */ struct CMD_AUDIO_OUTPUT_GAIN { struct CMD_HDR parent; uint8_t sink; uint8_t channel; uint16_t gain; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_FX_EQ_ID, UUID: fd4102faa31419227ebb81346f250c33 */ struct CMD_AUDIO_OUTPUT_FX_EQ { struct CMD_HDR parent; uint8_t sink; int8_t l; int8_t m; int8_t h; } __attribute__((packed)); enum EntrypointMode { ENTRYPOINT_MODE_PLAYBACK = 0, ENTRYPOINT_MODE_VOICE_TX, ENTRYPOINT_MODE_VOICE_RX, ENTRYPOINT_MODE_HAPTICS, ENTRYPOINT_MODE_DECODE_OFFLOAD, ENTRYPOINT_MODE_SIGGEN, ENTRYPOINT_MODE_BT_RX, ENTRYPOINT_MODE_VOIP, ENTRYPOINT_MODE_HIFI, ENTRYPOINT_MODE_INCALL_SCREEN, }; struct EntrypointDescriptorUnpacked { uint32_t address; uint32_t watermark; uint32_t length; struct channelMetadataUnpacked metadata; uint8_t channel; uint8_t wraparound; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_EP_SETUP_ID, UUID: e3887daa74a66ecdfa8f122abad227e1 */ struct CMD_AUDIO_OUTPUT_EP_SETUP { struct CMD_HDR parent; struct EntrypointDescriptorUnpacked d; uint8_t mode; /* For valid values, refer to "enum EntrypointMode" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_DECODE_ID, UUID: fcfcb4332a3f13deecbc0320d218213c */ struct CMD_AUDIO_OUTPUT_DECODE { struct CMD_HDR parent; struct EntrypointDescriptorUnpacked raw_ep_descr; uint32_t address; int32_t size; uint8_t codec; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_AEC_NOTIFY_ID, UUID: be67c03d50fd910dd9e8ca667ea7df3e */ struct CMD_AUDIO_OUTPUT_AEC_NOTIFY { struct CMD_HDR parent; int32_t index; uint8_t on; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_RESYNC_AUDIO_SINK_ID, UUID: b4726c9713c1e7030c55900a4636f672 */ struct CMD_AUDIO_OUTPUT_RESYNC_AUDIO_SINK { struct CMD_HDR parent; uint8_t sink; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_GET_PARAMETER_ID, UUID: 3394e985e5a4c767efd2f376a6d3f10f */ struct CMD_AUDIO_OUTPUT_GET_PARAMETER { struct CMD_HDR parent; uint8_t block; uint8_t component; uint32_t key; uint32_t val; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_GET_PARAMETER_BULK_ID, UUID: 1dfcc8cf130b1b42e6728cacd4e0a7d3 */ struct CMD_AUDIO_OUTPUT_GET_PARAMETER_BULK { struct CMD_HDR parent; uint8_t block; uint8_t component; uint32_t rx_offset; uint32_t rx_address; uint32_t rx_size; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_SET_PARAMETER_ID, UUID: fd9fdc99db9a5e7f267bc02d9f9ee5df */ struct CMD_AUDIO_OUTPUT_SET_PARAMETER { struct CMD_HDR parent; uint8_t block; uint8_t component; uint32_t key; uint32_t val; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_SET_PARAMETER_BULK_ID, UUID: 9bded656cc615614e769112bfc76c0f8 */ struct CMD_AUDIO_OUTPUT_SET_PARAMETER_BULK { struct CMD_HDR parent; uint8_t block; uint8_t component; uint32_t tx_offset; uint32_t tx_address; uint32_t tx_size; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_SET_GET_PARAM_BULK_ID, UUID: 750ca7b8ed997b3f741c6f39d215f36d */ struct CMD_AUDIO_OUTPUT_SET_GET_PARAM_BULK { struct CMD_HDR parent; uint8_t block; uint8_t component; uint16_t tx_offset; uint16_t rx_offset; uint32_t tx_address; uint32_t rx_address; uint16_t tx_size; uint16_t rx_size; } __attribute__((packed)); enum ASP_BLK_CMD_ID { ASP_CMD_ID_NONE = 0, ASP_CMD_ID_GET_MODULE, ASP_CMD_ID_GET_TAP_PT, ASP_CMD_ID_SET_TAP_PT, ASP_NUM_CMD_ID, }; /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_GET_BLOCKS_ID, UUID: a20584bf8ec75826438fad0175a908f4 */ struct CMD_AUDIO_OUTPUT_GET_BLOCKS { struct CMD_HDR parent; uint8_t block; uint8_t component; uint8_t cmd; /* For valid values, refer to "enum ASP_BLK_CMD_ID" */ uint32_t val; } __attribute__((packed)); enum ASP_MODULE_ID { ASP_ID_NONE = 0, ASP_ID_GAIN = 0, ASP_ID_BASE, ASP_ID_EQ = 1, ASP_ID_WAVES, ASP_ID_FM, ASP_ID_LIMITERTD, ASP_ID_AGC, ASP_ID_SURROUNDRECORD, ASP_ID_MULTICHANNEL_IIR, ASP_ID_MBDRC, ASP_ID_WAVES01, ASP_ID_WAVES02, ASP_ID_SNS, ASP_ID_SRC01, ASP_ID_SRC02, ASP_ID_LINEAR_GAIN, ASP_ID_MIXER, ASP_ID_IIREQ, ASP_ID_WNR, ASP_ID_AUDIO_INPUT_MULTICHANNEL_IIR, ASP_ID_LVM, ASP_ID_UNUSED_1, ASP_ID_UNUSED_2, ASP_ID_US_PROX, ASP_ID_DELAY, ASP_ID_APMG3, ASP_ID_POKEBOWL, ASP_ID_CTC, ASP_ID_CAF, ASP_ID_MEL, ASP_ID_GAIN_DB = 30, ASP_ID_VP_MCPS, ASP_ID_DRC, ASP_ID_CCA, ASP_ID_CCA_GAIN, ASP_ID_XAURAL, ASP_ID_DOWNMIX, ASP_ID_WAVES_MCPS = 38, ASP_ID_SPKRCOM, ASP_ID_PGC, ASP_ID_INTEGER_IIR, ASP_NUM_MODULE, }; enum AUDIO_BLOCK_ID { AUDIO_BLOCK_ID_START = 14, ABLOCK_DCDOFF = 14, ABLOCK_PAD_15, ABLOCK_SPEAKER, ABLOCK_UNUSED, ABLOCK_BT, ABLOCK_MODEM, ABLOCK_USB, ABLOCK_CCA, AUDIO_BLOCK_ID_END, }; /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_GET_MODULES_ID, UUID: 14f144af013e1a5ff4cd17fc43bd9080 */ struct CMD_AUDIO_OUTPUT_GET_MODULES { struct CMD_HDR parent; uint8_t block; uint8_t component; uint8_t blk; /* For valid values, refer to "enum AUDIO_BLOCK_ID" */ uint8_t module; /* For valid values, refer to "enum ASP_MODULE_ID" */ uint32_t val; } __attribute__((packed)); enum HapticsMode { HAPTICS_MODE_OFF = 0, HAPTICS_MODE_PCM, HAPTICS_MODE_FX, }; /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_CFG_HAPTICS_ID, UUID: 2ad9119c66c8c48a457d6d175c532760 */ struct CMD_AUDIO_OUTPUT_CFG_HAPTICS { struct CMD_HDR parent; uint8_t mode; /* For valid values, refer to "enum HapticsMode" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_CFG_SIGGEN_ID, UUID: 8d0a76b0197ebe638803cc5974c49ece */ struct CMD_AUDIO_OUTPUT_CFG_SIGGEN { struct CMD_HDR parent; uint8_t wf_type; uint16_t wf_period; uint32_t wf_amplitude; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_GET_EP_CUR_SAMPLES_ID, UUID: f8ea75dd361fe567360ab33eb1ed5904 * CMD_AUDIO_OUTPUT_GET_EP_TOT_SAMPLES_ID, UUID: 37f85bad8dca4be83d27b4ecc93c5bdd */ struct CMD_AUDIO_OUTPUT_GET_EP_SAMPLES { struct CMD_HDR parent; uint8_t source; uint64_t samples; } __attribute__((packed)); enum AUDIO_OUTPUT_MODE { AUDIO_OUTPUT_MODE_IDLE = 0, AUDIO_OUTPUT_MODE_PLAYBACK, AUDIO_OUTPUT_MODE_VOICE, }; /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_GET_DSP_STATE_ID, UUID: 67b5ba406a710f65fe63a9d166948f54 */ struct CMD_AUDIO_OUTPUT_GET_DSP_STATE { struct CMD_HDR parent; uint8_t mode; /* For valid values, refer to "enum AUDIO_OUTPUT_MODE" */ } __attribute__((packed)); enum AUDIO_OUTPUT_SINK_PROCESSING_MODE { AUDIO_OUTPUT_SINK_PROCESSING_IDLE = 0, AUDIO_OUTPUT_SINK_PROCESSING_ACTIVE, AUDIO_OUTPUT_SINK_PROCESSING_BYPASS, }; /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_GET_SINK_PROCESSING_STATE_ID, UUID: a02ad55bf6328b3de730fb1e04ee07e5 */ struct CMD_AUDIO_OUTPUT_GET_SINK_PROCESSING_STATE { struct CMD_HDR parent; uint8_t sink; uint8_t mode; /* For valid values, refer to "enum AUDIO_OUTPUT_SINK_PROCESSING_MODE" */ } __attribute__((packed)); enum CORE_POWER_STATE { CORE_POWER_STATE_ON = 0, CORE_POWER_STATE_WFI, CORE_POWER_STATE_RETENTION, CORE_POWER_STATE_OFF, CORE_POWER_STATE_TOT, }; /** * Structure associated with the following commands: * * CMD_DIAG_CORE_POWER_ID, UUID: a5feea3c467350d9e9f94d900b60fbed */ struct CMD_DIAG_CORE_POWER { struct CMD_HDR parent; uint32_t seconds; uint32_t a32_power_state; /* For valid values, refer to "enum CORE_POWER_STATE" */ uint32_t f1_power_state; /* For valid values, refer to "enum CORE_POWER_STATE" */ uint32_t hf0_power_state; /* For valid values, refer to "enum CORE_POWER_STATE" */ uint32_t hf1_power_state; /* For valid values, refer to "enum CORE_POWER_STATE" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_DIAG_MONITOR_MODE_ID, UUID: 1db11b446ba22db992421bdb59011751 */ struct CMD_DIAG_MONITOR_MODE { struct CMD_HDR parent; uint32_t delay_ms; uint32_t iterations; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_USB_CONTROL_GET_XHCI_VERSION_ID, UUID: 91fa1fcf2402f2fd55f1fca81bdcfe32 */ struct CMD_USB_CONTROL_GET_XHCI_VERSION { struct CMD_HDR parent; uint32_t xhci_version; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_USB_CONTROL_SETUP_ID, UUID: 6a06c2c168c0750017bb5a0de4da4445 */ struct CMD_USB_CONTROL_SETUP { struct CMD_HDR parent; uint32_t page_size; uint8_t type; uint8_t ctx_idx; uint8_t spbuf_idx; uint8_t payload[2048]; uint32_t length; uint32_t aoc_dcbaa; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_USB_CONTROL_STATUS_GET_ID, UUID: f03d16097710ea3bee61e847c978705e */ struct CMD_USB_CONTROL_STATUS_GET { struct CMD_HDR parent; uint32_t status; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_USB_CONTROL_GET_DEVICE_CONTEXT_ID, UUID: e0273d601b0837479d5ef24bb72a9719 */ struct CMD_USB_CONTROL_GET_DEVICE_CONTEXT { struct CMD_HDR parent; uint16_t device_id; uint32_t length; uint8_t payload[2048]; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_USB_CONTROL_GET_TR_DEQ_PTR_ID, UUID: 3bfa87999faf40df0feef23dd94cc594 */ struct CMD_USB_CONTROL_GET_TR_DEQ_PTR { struct CMD_HDR parent; uint16_t device_id; uint16_t endpoint_id; uint64_t tr_deq_ptr; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_USB_CONTROL_NOTIFY_CONN_STAT_ID, UUID: 2a3891f4d9667305cc1d5dcf03be8d85 */ struct CMD_USB_CONTROL_NOTIFY_CONN_STAT { struct CMD_HDR parent; uint32_t conn_state; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_USB_CONTROL_GET_DCBAA_PTR_ID, UUID: 719daf404c6869c3e384153d481d24a8 */ struct CMD_USB_CONTROL_GET_DCBAA_PTR { struct CMD_HDR parent; uint64_t aoc_dcbaa_ptr; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_USB_CONTROL_GET_ISOC_TR_INFO_ID, UUID: 6bb65aad89f57f762974882f0232462f */ struct CMD_USB_CONTROL_GET_ISOC_TR_INFO { struct CMD_HDR parent; uint16_t ep_id; uint16_t dir; uint32_t type; uint32_t num_segs; uint32_t seg_ptr; uint32_t max_packet; uint32_t deq_ptr; uint32_t enq_ptr; uint32_t cycle_state; uint32_t num_trbs_free; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_SET_PARAMETER_ID, UUID: 4a1ee581b64d2d1e3cf701413475a850 */ struct CMD_AUDIO_INPUT_SET_PARAMETER { struct CMD_HDR parent; uint8_t block; uint8_t component; uint32_t key; uint32_t val; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_SET_PARAMETER_BULK_ID, UUID: ee50e9be27f515f9f666d1c698a0d8dc */ struct CMD_AUDIO_INPUT_SET_PARAMETER_BULK { struct CMD_HDR parent; uint8_t block; uint8_t component; uint32_t tx_offset; uint32_t tx_address; uint32_t tx_size; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_GET_PARAMETER_ID, UUID: af479d1fe992db232903a40f0e659e1f */ struct CMD_AUDIO_INPUT_GET_PARAMETER { struct CMD_HDR parent; uint8_t block; uint8_t component; uint32_t key; uint32_t val; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_GET_PARAMETER_BULK_ID, UUID: 04bb6cf8cd4290cab2f4a1d5984ad137 */ struct CMD_AUDIO_INPUT_GET_PARAMETER_BULK { struct CMD_HDR parent; uint8_t block; uint8_t component; uint32_t rx_offset; uint32_t rx_address; uint32_t rx_size; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_SET_GET_PARAM_BULK_ID, UUID: b9ef3a7d4e427a79cf7272a87ea96b4a */ struct CMD_AUDIO_INPUT_SET_GET_PARAM_BULK { struct CMD_HDR parent; uint8_t block; uint8_t component; uint16_t tx_offset; uint16_t rx_offset; uint32_t tx_address; uint32_t rx_address; uint16_t tx_size; uint16_t rx_size; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_GET_BLOCKS_ID, UUID: 3f7e2128194abb2c2072f2b895fad9f3 */ struct CMD_AUDIO_INPUT_GET_BLOCKS { struct CMD_HDR parent; uint8_t block; uint8_t component; uint8_t cmd; /* For valid values, refer to "enum ASP_BLK_CMD_ID" */ uint32_t val; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_GET_MODULES_ID, UUID: bb179fb7dc7af74f2ea99c9dc8532998 */ struct CMD_AUDIO_INPUT_GET_MODULES { struct CMD_HDR parent; uint8_t block; uint8_t component; uint8_t blk; /* For valid values, refer to "enum AUDIO_BLOCK_ID" */ uint8_t module; /* For valid values, refer to "enum ASP_MODULE_ID" */ uint32_t val; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_DETECTED_ID, UUID: b8bd613cc46f44cd5dccd428a04381b8 * CMD_AUDIO_INPUT_AMBIENT_MUSIC_DETECTED_ID, UUID: d80140c821d48f62be47d86e60a7435d * CMD_AUDIO_INPUT_MEDIA_COMMANDS_TEST_TRIGGER_ID, UUID: 2c3d11cf788e47c09375b60ef44777fc * CMD_AUDIO_INPUT_MEDIA_COMMANDS_DETECTED_ID, UUID: 733c6a37d10841ee075f0a2a10a9df86 */ struct CMD_AUDIO_INPUT_AMBIENT_MUSIC_DETECTED { struct CMD_HDR parent; uint8_t payload[32]; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_GET_MIC_STATUS_ID, UUID: b78b9461365de8f9c67645108e6f0873 */ struct CMD_AUDIO_INPUT_GET_MIC_STATUS { struct CMD_HDR parent; uint8_t mic_id; uint8_t mic_active; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_GET_MIC_CLOCK_FREQUENCY_ID, UUID: fe23e6aea7fe941c7d3766553288b327 */ struct CMD_AUDIO_INPUT_GET_MIC_CLOCK_FREQUENCY { struct CMD_HDR parent; uint32_t mic_clock_frequency_hz; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_GET_MIC_LOW_POWER_HW_GAIN_ID, UUID: 95bcfc52b22b1c8069a60cce0d79e462 */ struct CMD_AUDIO_INPUT_GET_MIC_LOW_POWER_HW_GAIN { struct CMD_HDR parent; int32_t mic_hw_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_GET_MIC_HIGH_POWER_HW_GAIN_ID, UUID: c8c2e6acd20afb5bd95b02c30aa2aaa0 */ struct CMD_AUDIO_INPUT_GET_MIC_HIGH_POWER_HW_GAIN { struct CMD_HDR parent; int32_t mic_hw_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_GET_MIC_CURRENT_HW_GAIN_ID, UUID: 7fdeea6d604facd25f1aebb5db6ab31c */ struct CMD_AUDIO_INPUT_GET_MIC_CURRENT_HW_GAIN { struct CMD_HDR parent; int32_t mic_hw_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_GET_MIC_DC_BLOCKER_ID, UUID: 1ac2b5c194cb1267b0a9d9da7ae1d6c9 */ struct CMD_AUDIO_INPUT_GET_MIC_DC_BLOCKER { struct CMD_HDR parent; uint8_t dc_blocker_enabled; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_SET_MIC_DC_BLOCKER_ID, UUID: fce65c0f10fb73ecad035e7d0aedba90 */ struct CMD_AUDIO_INPUT_SET_MIC_DC_BLOCKER { struct CMD_HDR parent; uint8_t dc_blocker_enabled; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_SET_MIC_LOW_POWER_HW_GAIN_ID, UUID: 4c6da404f6f1e1e02ed9a1bfa1bef436 */ struct CMD_AUDIO_INPUT_SET_MIC_LOW_POWER_HW_GAIN { struct CMD_HDR parent; int32_t mic_hw_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_SET_MIC_HIGH_POWER_HW_GAIN_ID, UUID: e85ebf92a29e074fe969be6314303874 */ struct CMD_AUDIO_INPUT_SET_MIC_HIGH_POWER_HW_GAIN { struct CMD_HDR parent; int32_t mic_hw_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_FACTORY_TEST_ID, UUID: 3076f387a678ce54fada1af5a83b63d6 */ struct CMD_AUDIO_OUTPUT_FACTORY_TEST { struct CMD_HDR parent; uint32_t test; uint32_t iterations; uint32_t options; uint32_t options2; uint32_t options3; uint8_t sink; } __attribute__((packed)); enum AUDIO_OUTPUT_BT_A2DP_ENC_CODEC { AUDIO_OUTPUT_BT_A2DP_ENC_CODEC_UNKNOWN = 0, AUDIO_OUTPUT_BT_A2DP_ENC_CODEC_SBC, AUDIO_OUTPUT_BT_A2DP_ENC_CODEC_AAC, AUDIO_OUTPUT_BT_A2DP_ENC_CODEC_APTX = 4, AUDIO_OUTPUT_BT_A2DP_ENC_CODEC_APTXHD = 8, AUDIO_OUTPUT_BT_A2DP_ENC_CODEC_LDAC = 16, AUDIO_OUTPUT_BT_BLE_ENC_CODEC_LC3 = 32, AUDIO_OUTPUT_BT_A2DP_ENC_CODEC_OPUS = 64, AUDIO_OUTPUT_BT_BLE_DEC_CODEC_LC3 = 2147483650, AUDIO_OUTPUT_BT_A2DP_ENC_CODEC_AAC_DYN_CHG = 4026531841, AUDIO_OUTPUT_BT_BLE_ENC_CODEC_LC3_DYN_CHG, }; struct AUDIO_OUTPUT_BT_A2DP_ENC_CFG { uint32_t codecType; /* For valid values, refer to "enum AUDIO_OUTPUT_BT_A2DP_ENC_CODEC" */ uint32_t bitrate; uint16_t peerMTU; uint32_t params[6]; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_BT_A2DP_ENC_CFG_ID, UUID: dbe05975a0090604729311b2993c13a0 */ struct CMD_AUDIO_OUTPUT_BT_A2DP_ENC_CFG { struct CMD_HDR parent; struct AUDIO_OUTPUT_BT_A2DP_ENC_CFG bt_a2dp_enc_cfg; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_GET_SINKS_BITMAPS_ID, UUID: 3e8dadc99d9d30ffd9ca0359b481aefd */ struct CMD_AUDIO_OUTPUT_GET_SINKS_BITMAPS { struct CMD_HDR parent; uint16_t bitmap[AUDIO_OUTPUT_SINKS]; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_USB_CONFIG_ID, UUID: 1d92a552f020db5742f11a3ffd7e544c */ struct CMD_AUDIO_OUTPUT_USB_CONFIG { struct CMD_HDR parent; uint16_t dev_id; uint16_t tx_ep_num; uint32_t tx_sr; uint8_t tx_ch; uint8_t tx_width; uint8_t tx_enable; uint16_t rx_ep_num; uint32_t rx_sr; uint8_t rx_ch; uint8_t rx_width; uint8_t rx_enable; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_SET_SIDETONE_ID, UUID: 2cab0e9482cec6aef3715810b1741d7e */ struct CMD_AUDIO_OUTPUT_SET_SIDETONE { struct CMD_HDR parent; int8_t volume; int8_t eq_num_stages; int8_t mic_select; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_GET_SIDETONE_ID, UUID: 3aecffd3a2b31727fdc51f80c619a2e8 */ struct CMD_AUDIO_OUTPUT_GET_SIDETONE { struct CMD_HDR parent; int8_t volume; int8_t eq_num_stages; int8_t mic_select; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_SET_SIDETONE_EQ_ID, UUID: 170dc9a272cfdce7ddc3be51336cfd31 */ struct CMD_AUDIO_OUTPUT_SET_SIDETONE_EQ { struct CMD_HDR parent; float coeffs[6]; uint8_t stage_num; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_GET_SIDETONE_EQ_ID, UUID: 8353407caa4726c9e13e007a4693e8d6 */ struct CMD_AUDIO_OUTPUT_GET_SIDETONE_EQ { struct CMD_HDR parent; float coeffs[6]; uint8_t stage_num; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_WRITE_MODEL_ID, UUID: 0d0ed5ab5392d3d50af34fbf2b152515 */ struct CMD_AUDIO_INPUT_HOTWORD_WRITE_MODEL { struct CMD_HDR parent; uint32_t offset; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_AMBIENT_MUSIC_WRITE_MODEL_ID, UUID: c4cf89e0be39c52970e3a51fc7fde8bf */ struct CMD_AUDIO_INPUT_AMBIENT_MUSIC_WRITE_MODEL { struct CMD_HDR parent; uint32_t offset; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_DETECTED_ID, UUID: 79e7a33c1db0ae28cd055974446e43ec */ struct CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_DETECTED { struct CMD_HDR parent; uint8_t payload[32]; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_WRITE_MODEL_ID, UUID: f5e3d3b21178744d127ed7621be137d4 */ struct CMD_AUDIO_INPUT_AMBIENT_MUSIC_BREAK_WRITE_MODEL { struct CMD_HDR parent; uint32_t offset; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_UWB_GET_RESET_GPIO_ID, UUID: f0590c6bcc5b702e287fda529dee80f0 */ struct CMD_UWB_GET_RESET_GPIO { struct CMD_HDR parent; uint32_t gpio_value; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_UWB_SET_RESET_GPIO_ID, UUID: f25dfde2fb0bf967c267be45c8232bb6 */ struct CMD_UWB_SET_RESET_GPIO { struct CMD_HDR parent; uint32_t gpio_value; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_UWB_GET_RESET_GPIO_DIRECTION_ID, UUID: e273f999da994560b2a6f6933bdaff8a */ struct CMD_UWB_GET_RESET_GPIO_DIRECTION { struct CMD_HDR parent; uint32_t gpio_direction; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_UWB_SET_RESET_GPIO_DIRECTION_ID, UUID: 9a120e2a96942ef11b23f77583a0324c */ struct CMD_UWB_SET_RESET_GPIO_DIRECTION { struct CMD_HDR parent; uint32_t gpio_direction; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_GET_AP_MIC_INDEX_ID, UUID: a929df5b5bddfa49ff1ea831cfc4a720 * CMD_AUDIO_INPUT_SET_AP_MIC_INDEX_ID, UUID: b045a51ff156eace07a40be17d62bd57 */ struct CMD_AUDIO_INPUT_GET_AP_MIC_INDEX { struct CMD_HDR parent; uint8_t mic_process_index; /* For valid values, refer to "enum APMicProcessIndex" */ } __attribute__((packed)); enum APInputProcessorInputIndex { AP_INPUT_PROCESSOR_MODEM_INPUT_INDEX = 0, AP_INPUT_PROCESSOR_MIC_INPUT_INDEX, AP_INPUT_PROCESSOR_BT_INPUT_INDEX, AP_INPUT_PROCESSOR_USB_INPUT_INDEX, AP_INPUT_PROCESSOR_ERASER_INPUT_INDEX, AP_INPUT_PROCESSOR_NUM_INPUTS, }; /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_AP_INPUT_START_ID, UUID: 7db51beda9ec3f72045bcf088eff0458 * CMD_AUDIO_INPUT_MIC_MMAP_ENABLE_ID, UUID: c71f9a144fdcb825b7f3d41a8f750a6e * CMD_AUDIO_INPUT_MIC_RAW_ENABLE_ID, UUID: 73f00d3c555976a5ee1c49de9344fb0f */ struct CMD_AUDIO_INPUT_AP_INPUT_START { struct CMD_HDR parent; uint8_t mic_input_source; /* For valid values, refer to "enum APInputProcessorInputIndex" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_FORCE_TRIGGER_TIMESTAMP_ID, UUID: 9246d3839c8088408789a15c4856296b */ struct CMD_AUDIO_INPUT_HOTWORD_FORCE_TRIGGER_TIMESTAMP { struct CMD_HDR parent; uint64_t request_aoc_ticks; } __attribute__((packed)); enum CMD_AUDIO_OUTPUT_TELE_CAPTURE_STREAMS { CMD_AUDIO_OUTPUT_TELE_CAPTURE_UL = 0, CMD_AUDIO_OUTPUT_TELE_CAPTURE_DL, CMD_AUDIO_OUTPUT_TELE_CAPTURE_UL_DL, }; /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_SET_TELE_CAPTURE_ID, UUID: b8142505b012cbe9475672086308f5fd * CMD_AUDIO_OUTPUT_GET_TELE_CAPTURE_ID, UUID: 0475fa5e0509e04286170bbd43166fe0 */ struct CMD_AUDIO_OUTPUT_TELE_CAPTURE { struct CMD_HDR parent; uint8_t stream; /* For valid values, refer to "enum CMD_AUDIO_OUTPUT_TELE_CAPTURE_STREAMS" */ uint8_t enable; } __attribute__((packed)); #define AUDIO_OUTPUT_DECODER_CFG_OPTIONS_LEN (14) /* UUID: 9ff1a9404bee1600cfdb3e1179714312 */ enum AUDIO_OUTPUT_DECODER_FMT { AUDIO_OUTPUT_DECODER_UNKNOWN = 0, AUDIO_OUTPUT_DECODER_MP3, AUDIO_OUTPUT_DECODER_AAC_LC, AUDIO_OUTPUT_DECODER_AAC_HE, AUDIO_OUTPUT_DECODER_AAC_HE2, AUDIO_OUTPUT_DECODER_AAC_DAB, AUDIO_OUTPUT_DECODER_AAC_DABPLUS, AUDIO_OUTPUT_DECODER_OPUS, }; struct AUDIO_OUTPUT_DECODER_CFG { uint32_t samplerate; uint8_t format; /* For valid values, refer to "enum AUDIO_OUTPUT_DECODER_FMT" */ uint8_t channels; uint8_t options[AUDIO_OUTPUT_DECODER_CFG_OPTIONS_LEN]; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_DECODER_CFG_ID, UUID: ba2da19bc3bea467290ccbf43c7a7d15 * CMD_AUDIO_OUTPUT_DECODER_CFG_GAPLESS_ID, UUID: 98ad7841b31ff246e212d686a87668b9 */ struct CMD_AUDIO_OUTPUT_DECODER_CFG { struct CMD_HDR parent; struct EntrypointDescriptorUnpacked raw_ep_descr; uint32_t address; int32_t size; struct AUDIO_OUTPUT_DECODER_CFG cfg; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_SRC_GET_SAMPLE_RATE_ID, UUID: cb3c1bfe9fe0d6be597309e557932c23 */ struct CMD_AUDIO_INPUT_HOTWORD_SRC_GET_SAMPLE_RATE { struct CMD_HDR parent; uint8_t input_sample_rate; /* For valid values, refer to "enum SampleRate" */ uint8_t output_sample_rate; /* For valid values, refer to "enum SampleRate" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_SRC_GET_BIT_DEPTH_ID, UUID: b389fd2bc632d44070ad4fdec03f9c6b */ struct CMD_AUDIO_INPUT_HOTWORD_SRC_GET_BIT_DEPTH { struct CMD_HDR parent; uint8_t bit_depth; /* For valid values, refer to "enum BitsPerSample" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_SRC_GET_CHANNEL_ID, UUID: 571cbaebd082ec6d9b509c68be16dfea */ struct CMD_AUDIO_INPUT_HOTWORD_SRC_GET_CHANNEL { struct CMD_HDR parent; uint8_t channels; /* For valid values, refer to "enum Channels" */ uint8_t pdm_mask; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_SRC_GET_INPUT_PATH_ID, UUID: 2225e4b179a5dfbc0ad456c811045909 */ struct CMD_AUDIO_INPUT_HOTWORD_SRC_GET_INPUT_PATH { struct CMD_HDR parent; uint8_t path_id; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_GET_ERASER_PRE_GAIN_ID, UUID: 64e92f18218e84369cbcd89059ebdd37 */ struct CMD_AUDIO_INPUT_HOTWORD_GET_ERASER_PRE_GAIN { struct CMD_HDR parent; int32_t eraser_pre_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_SET_ERASER_PRE_GAIN_ID, UUID: fc399c556fc69f7c721c38e2d5052662 */ struct CMD_AUDIO_INPUT_HOTWORD_SET_ERASER_PRE_GAIN { struct CMD_HDR parent; int32_t eraser_pre_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_GET_ERASER_POST_GAIN_ID, UUID: 6ca3160b1c5ad27b01fa343902fbea84 */ struct CMD_AUDIO_INPUT_HOTWORD_GET_ERASER_POST_GAIN { struct CMD_HDR parent; int32_t eraser_post_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_SET_ERASER_POST_GAIN_ID, UUID: 7b13944bbccd2f1d0a9faf9dac482163 */ struct CMD_AUDIO_INPUT_HOTWORD_SET_ERASER_POST_GAIN { struct CMD_HDR parent; int32_t eraser_post_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_GET_NON_ERASER_GAIN_ID, UUID: 93fdd0792f83c3f0889fbd5a5b725a7a */ struct CMD_AUDIO_INPUT_HOTWORD_GET_NON_ERASER_GAIN { struct CMD_HDR parent; int32_t non_eraser_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_SET_NON_ERASER_GAIN_ID, UUID: 5194874595245e958523a171ea2f6bad */ struct CMD_AUDIO_INPUT_HOTWORD_SET_NON_ERASER_GAIN { struct CMD_HDR parent; int32_t non_eraser_gain_cb; } __attribute__((packed)); enum TeleCaptureMode { ANDROID_TELE_CAPTURE_MODE_OFF = 0, ANDROID_TELE_CAPTURE_MODE_UL, ANDROID_TELE_CAPTURE_MODE_DL, ANDROID_TELE_CAPTURE_MODE_ULDL, ANDROID_TELE_CAPTURE_MODE_3_MIC, ANDROID_TELE_CAPTURE_MODE_TOT, }; /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_SET_TELE_CAPT_ID, UUID: 942e867ea3ba1c439083a68bf4bf9f94 * CMD_AUDIO_OUTPUT_GET_TELE_CAPT_ID, UUID: 10aa17f6012e86309e2fd059ee03253a */ struct CMD_AUDIO_OUTPUT_TELE_CAPT { struct CMD_HDR parent; uint8_t ring; uint8_t mode; /* For valid values, refer to "enum TeleCaptureMode" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_SET_INCALL_MUSIC_ID, UUID: d97070f9802ed4b33d5f03c7a796f591 * CMD_AUDIO_INPUT_GET_INCALL_MUSIC_ID, UUID: 30cae4a279c54727dbbd0272edb37335 */ struct CMD_AUDIO_INPUT_INCALL_MUSIC { struct CMD_HDR parent; uint8_t ring; uint8_t enable; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_GET_DSP_IDENTIFIER_ID, UUID: eeca1a8393a2d6e8a95edd61cbfae641 */ struct CMD_AUDIO_INPUT_DSP_IDENTIFIER { struct CMD_HDR parent; uint32_t version; uint8_t payload[64]; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_GET_CLEANER_POST_GAIN_ID, UUID: cbd7af8666b927f82aeddcb86fc5bde5 */ struct CMD_AUDIO_INPUT_HOTWORD_GET_CLEANER_POST_GAIN { struct CMD_HDR parent; int32_t cleaner_post_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_SET_CLEANER_POST_GAIN_ID, UUID: 6c5048c15135ce52744e1af037cef70e */ struct CMD_AUDIO_INPUT_HOTWORD_SET_CLEANER_POST_GAIN { struct CMD_HDR parent; int32_t cleaner_post_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_GET_CHRE_GAIN_ID, UUID: a861c0ef25f62e08f6f2a6d6ba9b7f3f */ struct CMD_AUDIO_INPUT_GET_CHRE_GAIN { struct CMD_HDR parent; int32_t chre_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_SET_CHRE_GAIN_ID, UUID: 8db5cdb6c1ebae6952adb452693a9bca */ struct CMD_AUDIO_INPUT_SET_CHRE_GAIN { struct CMD_HDR parent; int32_t chre_gain_cb; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_SET_INCALL_MUSIC_CHAN_ID, UUID: 92b41b1c667d42b82749d16a767fb384 * CMD_AUDIO_INPUT_GET_INCALL_MUSIC_CHAN_ID, UUID: 7e647c28e7f23a1473fc9267821f1051 */ struct CMD_AUDIO_INPUT_INCALL_MUSIC_CHAN { struct CMD_HDR parent; uint8_t ring; uint8_t channel; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_DEC_CH_GAIN_SET_ID, UUID: 372207e1fa69087ada47e23a3f964954 * CMD_AUDIO_OUTPUT_DEC_CH_GAIN_GET_ID, UUID: 132703c51bb018bbf2c9a870e8b974d8 */ struct CMD_AUDIO_OUTPUT_DEC_CH_GAIN { struct CMD_HDR parent; uint32_t ch_bit_mask; int32_t ch_gains[2]; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_SET_INCALL_MUSIC_ID, UUID: ae8516b1e4237d7e7ab63c7193ef60b7 * CMD_AUDIO_OUTPUT_GET_INCALL_MUSIC_ID, UUID: 9924e5b1371480463653336a2b911175 */ struct CMD_AUDIO_OUTPUT_INCALL_MUSIC { struct CMD_HDR parent; uint8_t ring; uint8_t enable; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_SET_INCALL_MUSIC_CHAN_ID, UUID: 06ec150b46781df7093004014363bcf1 * CMD_AUDIO_OUTPUT_GET_INCALL_MUSIC_CHAN_ID, UUID: b712dc35a95e562dfc1f90e7df03eb33 */ struct CMD_AUDIO_OUTPUT_INCALL_MUSIC_CHAN { struct CMD_HDR parent; uint8_t ring; uint8_t channel; } __attribute__((packed)); enum SINK_ID { SINK_SPEAKER = 0, SINK_UNUSED, SINK_BT, SINK_USB, SINK_MODEM, SINK_TOT, }; /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_SINK2_ID, UUID: afcb174afe4b8670d9750e812d1c7d8a */ struct CMD_AUDIO_OUTPUT_SINK2 { struct CMD_HDR parent; uint8_t sink; /* For valid values, refer to "enum SINK_ID" */ uint8_t mode; uint8_t timestamping; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_MMAP_ENABLE_2_ID, UUID: b7ab82241eca695a59c93379d6ef8fc4 */ struct CMD_AUDIO_INPUT_MMAP_ENABLE_2 { struct CMD_HDR parent; uint8_t chan; /* For valid values, refer to "enum Channels" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_RAW_ENABLE_2_ID, UUID: 756ed891fa5df48204ddef41bed9e0d8 */ struct CMD_AUDIO_INPUT_RAW_ENABLE_2 { struct CMD_HDR parent; uint8_t chan; /* For valid values, refer to "enum Channels" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_USB_CONFIG_V2_ID, UUID: b6537926b5b2d37c4c174b18427a21ea */ struct CMD_AUDIO_OUTPUT_USB_CONFIG_V2 { struct CMD_HDR parent; uint16_t bus_id; uint16_t dev_num; uint16_t tx_ep_num; uint32_t tx_format; uint32_t tx_sr; uint8_t tx_ch; uint8_t tx_width; uint8_t tx_enable; uint16_t rx_ep_num; uint32_t rx_format; uint32_t rx_sr; uint8_t rx_ch; uint8_t rx_width; uint8_t rx_enable; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_USB_CONTROL_NOTIFY_CONN_STAT_V2_ID, UUID: 815b96706de911ee94096151094dcd08 */ struct CMD_USB_CONTROL_NOTIFY_CONN_STAT_V2 { struct CMD_HDR parent; uint16_t bus_id; uint16_t dev_num; uint16_t slot_id; uint32_t conn_state; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_USB_CONTROL_SET_DCBAA_PTR_ID, UUID: 062ec07be950de1a51f6672f6be16e31 */ struct CMD_USB_CONTROL_SET_DCBAA_PTR { struct CMD_HDR parent; uint64_t aoc_dcbaa_ptr; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_USB_CONTROL_SET_ISOC_TR_INFO_ID, UUID: 332af5a31fdbaeced70194c13e177a1f */ struct CMD_USB_CONTROL_SET_ISOC_TR_INFO { struct CMD_HDR parent; uint16_t ep_id; uint16_t dir; uint32_t type; uint32_t num_segs; uint32_t seg_ptr; uint32_t max_packet; uint32_t deq_ptr; uint32_t enq_ptr; uint32_t cycle_state; uint32_t num_trbs_free; } __attribute__((packed)); enum AudioDSPMode { AUDIO_DSP_MODE_AMBIENT = 0, AUDIO_DSP_MODE_RECORD, AUDIO_DSP_MODE_TELEPHONY, AUDIO_DSP_MODE_RESERVED_0, AUDIO_DSP_MODE_RESERVED_1, AUDIO_DSP_MODE_RESERVED_2, AUDIO_DSP_MODE_TELEPHONY_APMG3, }; /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_DSP_MODE_SET_ID, UUID: 9df7cfb0c11779420f8e25164c143673 * CMD_AUDIO_OUTPUT_DSP_MODE_GET_ID, UUID: 33ae968607b1c6af3d5708e95dd8709e */ struct CMD_AUDIO_OUTPUT_DSP_MODE { struct CMD_HDR parent; uint8_t mode; /* For valid values, refer to "enum AudioDSPMode" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_GET_MEMORY_EXCEPTION_DATA_COUNT_ID, UUID: a205712df6b7c487c9c62b486dc1b056 */ struct CMD_GET_MEMORY_EXCEPTION_DATA_COUNT { struct CMD_HDR parent; uint32_t num_memory_exception; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_GET_MEMORY_EXCEPTION_DATA_ID, UUID: 68cb4b7529be7de160dda916502bdd6f */ struct CMD_GET_MEMORY_EXCEPTION_DATA { struct CMD_HDR parent; uint32_t id; uint32_t return_address; uint32_t fault_address; char task_name[16]; uint8_t log_index; uint8_t valid; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_GET_MEMORY_VOTES_DATA_COUNT_ID, UUID: 3c71e64c267c6e4a4e2e67535de0b5bd */ struct CMD_GET_MEMORY_VOTES_DATA_COUNT { struct CMD_HDR parent; uint32_t num_of_clients; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_GET_MEMORY_VOTES_DATA_ID, UUID: 09a0d51b06bf64fd7333c09abf73ed6a */ struct CMD_GET_MEMORY_VOTES_DATA { struct CMD_HDR parent; uint64_t last_on_time_ns; uint64_t total_time_us; uint32_t votes; uint32_t total_votes; uint32_t on_votes; uint8_t core_id; uint8_t app_id; uint8_t valid; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_MODEM_INPUT_START_2_ID, UUID: 0c7111383813f4cc270e1b7a20d07b5e */ struct CMD_AUDIO_INPUT_MODEM_INPUT_START_2 { struct CMD_HDR parent; uint8_t mic_input_source; /* For valid values, refer to "enum ModemInputIndex" */ uint8_t ref_input_source; /* For valid values, refer to "enum ModemInputIndex" */ } __attribute__((packed)); enum FeedbackSrcInputIndex { FEEDBACK_SRC_AEC_SPKR_INPUT_INDEX = 0, FEEDBACK_SRC_AEC_BT_INPUT_INDEX, FEEDBACK_SRC_AEC_USB_INPUT_INDEX, FEEDBACK_SRC_NUM_INPUTS, }; /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_SELECT_AEC_REF_ID, UUID: a5fec1494a593b4bc313fd4fca0645dd */ struct CMD_AUDIO_INPUT_FEEDBACK_SRC_SELECT_REF { struct CMD_HDR parent; int32_t aec_ref_index; /* For valid values, refer to "enum FeedbackSrcInputIndex" */ } __attribute__((packed)); enum UDFPS_INPUT_SOURCE { SOURCE_NONE = 0, SOURCE_OSC, SOURCE_DISP, SOURCE_TOT, }; /** * Structure associated with the following commands: * * CMD_UDFPS_SET_CLOCK_SOURCE_ID, UUID: a4c07b287b2f1b34f9d8f53b3d129cc6 */ struct CMD_UDFPS_SET_CLOCK_SOURCE { struct CMD_HDR parent; uint8_t clock_source; /* For valid values, refer to "enum UDFPS_INPUT_SOURCE" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_UDFPS_GET_CLOCK_FREQUENCY_ID, UUID: bcaae012229513cb5c78aa608d2366af */ struct CMD_UDFPS_GET_CLOCK_FREQUENCY { struct CMD_HDR parent; uint32_t clock_freq_in_u32; uint8_t clock_source; /* For valid values, refer to "enum UDFPS_INPUT_SOURCE" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_USB_CONTROL_SET_OFFLOAD_STATE_ID, UUID: 7c3fb83ef3e4cb867213a8cecc55759e */ struct CMD_USB_CONTROL_SET_OFFLOAD_STATE { struct CMD_HDR parent; uint8_t offloading; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_USB_CONTROL_SEND_FEEDBACK_EP_INFO_ID, UUID: ad56add5dc20f99eea004f40c28ed0ae */ struct CMD_USB_CONTROL_SEND_FEEDBACK_EP_INFO { struct CMD_HDR parent; uint8_t enabled; uint16_t bus_id; uint16_t dev_num; uint16_t slot_id; uint16_t ep_num; uint32_t max_packet; uint16_t binterval; uint16_t brefresh; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_MEDIA_COMMANDS_WRITE_MODEL_ID, UUID: 28a42016e23074c21d1462197b9c9d59 */ struct CMD_AUDIO_INPUT_MEDIA_COMMANDS_WRITE_MODEL { struct CMD_HDR parent; uint32_t offset; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_MEM_MAP_REGION_ID, UUID: 0e5f7c97aa5dfa4e27aea3606fee68e4 */ struct CMD_MEM_MAP_REGION { struct CMD_CORE_GENERIC parent; uint32_t handle; uint32_t base; uint32_t size; uint8_t mapped; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_DECODER_GAPLESS_METADATA_ID, UUID: 71656480fba7c2512eb2c8493e71e7e6 */ struct CMD_AUDIO_OUTPUT_DECODER_GAPLESS_METADATA { struct CMD_HDR parent; uint32_t curr_track_delay_frames; uint32_t curr_track_padding_frames; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_SET_AP_OFFLOAD_ID, UUID: 56f7e66fe4bff9842ca5fc4c2c5718a7 */ struct CMD_AUDIO_INPUT_HOTWORD_SET_AP_OFFLOAD { struct CMD_HDR parent; uint8_t enable_offload; uint8_t num_mics; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_DBG_MCPS_ID, UUID: 1c45eb22738c03451a98b22ff078c44e */ struct CMD_DBG_MCPS { struct CMD_CORE_GENERIC parent; int32_t is_enabled; int32_t is_cumulative; int32_t print_now; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_DBG_SCRIB_ID, UUID: b25be6c015fb19aef6b15f76f3aff335 */ struct CMD_DBG_SCRIB { struct CMD_CORE_GENERIC parent; int32_t override_enable; int32_t prescrib; int32_t postscrib; int32_t free_after_free; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_DBG_PRIVATE_ID, UUID: e338efdfe6222a0d2dd95100233654c1 */ struct CMD_DBG_PRIVATE { struct CMD_CORE_GENERIC parent; uint8_t sub_cmd; uint8_t payload_size; } __attribute__((packed)); enum ApStateTransition { ENTER_SLEEP = 0, EXIT_SLEEP, ENTER_SICD, EXIT_SICD, AP_STATE_TRANSITION_TOT = 20, }; /** * Structure associated with the following commands: * * CMD_AP_STATE_TRANSITION_ID, UUID: a52bd38054f3e3f92eabb5c94f5d65fe */ struct CMD_AP_STATE_TRANSITION { struct CMD_HDR parent; uint8_t transition; /* For valid values, refer to "enum ApStateTransition" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_SET_CHRE_SRC_AEC_TIMEOUT_ID, UUID: cf9af404b8238148390eb250b535c2a9 */ struct CMD_AUDIO_INPUT_SET_CHRE_SRC_AEC_TIMEOUT { struct CMD_HDR parent; uint32_t timeout_ms; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_SET_CHRE_SRC_PDM_GAIN_ID, UUID: 70ad1f841ce46465e2389e08938835c9 */ struct CMD_AUDIO_INPUT_SET_CHRE_SRC_PDM_GAIN { struct CMD_HDR parent; int32_t gain_centibel; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_SET_CHRE_SRC_AEC_GAIN_ID, UUID: fde782e5f1431573bd867d163fbf43a1 */ struct CMD_AUDIO_INPUT_SET_CHRE_SRC_AEC_GAIN { struct CMD_HDR parent; int32_t gain_centibel; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_HOTWORD_GET_BUFFER_TIMESTAMP_ID, UUID: 09e26d242004640c7e9adfeaafcc17ec */ struct CMD_AUDIO_INPUT_HOTWORD_GET_BUFFER_TIMESTAMP { struct CMD_HDR parent; uint64_t timestamp_ticks; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_MEL_STATE_ID, UUID: 89f53f6d95f7a78c3afebb6775c9bc27 */ struct CMD_AUDIO_OUTPUT_MEL_STATE { struct CMD_HDR parent; uint8_t enable; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_MEL_SET_RS2_ID, UUID: 3ea25e761948837bf715b83912a8c6ba * CMD_AUDIO_OUTPUT_MEL_GET_RS2_ID, UUID: 120e10d404ffa402dee05fd81086b671 */ struct CMD_AUDIO_OUTPUT_MEL_RS2 { struct CMD_HDR parent; float rs2_value; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_MEL_TRIGGER_ID, UUID: f32ed38b051caa0836f480a6fb1d2366 */ struct CMD_AUDIO_OUTPUT_MEL_TRIGGER { struct CMD_HDR parent; uint64_t timestamp; float mel_value; uint8_t block; uint8_t component; } __attribute__((packed)); #define MAX_MEL_VALUE_SIZE (120) /* UUID: fe50b0e773e56fcc9fa7a8d1caa11e82 */ /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_MEL_GET_VALUE_ID, UUID: 22e2b9f970d44ad413564d599919d13b */ struct CMD_AUDIO_OUTPUT_MEL_GET_VALUE { struct CMD_HDR parent; uint64_t timestamp; float mel_value[MAX_MEL_VALUE_SIZE]; uint32_t count; uint8_t block; uint8_t component; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_DBG_HEAP_V2_ID, UUID: 51a1e869c913cca4ebfa24576e967786 */ struct CMD_DBG_HEAP_V2 { struct CMD_CORE_GENERIC parent; uint32_t crc; uint8_t mode; /* For valid values, refer to "enum DbgHeapMode" */ int32_t heap_num; uint8_t reset_cumulative; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AOCX_PROCESSOR_ENABLE_ID, UUID: 4cbb4739c0abefdee7944529c1e3bad1 */ struct CMD_AOCX_PROCESSOR_ENABLE { struct CMD_HDR parent; uint32_t featureId; uint8_t enable; } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_OUTPUT_EP_SETUP2_ID, UUID: 6fb91bb5c3cabce40df8be6ce186bcaa */ struct CMD_AUDIO_OUTPUT_EP_SETUP2 { struct CMD_HDR parent; uint8_t channel; uint32_t buffer_size; uint32_t period_size; uint8_t mode; /* For valid values, refer to "enum EntrypointMode" */ } __attribute__((packed)); /** * Structure associated with the following commands: * * CMD_AUDIO_INPUT_MIC_RECORD_AP_SET_PARAMS2_ID, UUID: ed6fa32eebf27ab2f9f86303a7507896 * CMD_AUDIO_INPUT_ULTRASONIC_AP_SET_PARAMS2_ID, UUID: 0ba02b5209f50546e5cc682dff34ca8b */ struct CMD_AUDIO_INPUT_MIC_RECORD_AP_SET_PARAMS2 { struct CMD_HDR parent; uint8_t channel; uint32_t buffer_size; uint32_t period_size; } __attribute__((packed)); struct NOTIF_HDR { struct CONTAINER_HDR parent; uint32_t id; uint32_t tag; } __attribute__((packed)); #define notif_payload (36) /* UUID: 21377ce718fd3e9bec883f8fb476c056 */ /** * Structure associated with the following notifications: * * NOTIF_AUDIO_INPUT_AP_MIC_RECORD_DATA_AVAILABLE_ID, UUID: 855757d797533015c32d352f66e04679 */ struct NOTIF { struct NOTIF_HDR parent; uint8_t payload[notif_payload]; } __attribute__((packed)); /** * Helper function to initialize commands * * \param[out] cmd Pointer to command structure to initialize * \param[in] id Command ID. Refer to \ref AOC_COMMAND * \param[in] length Command length (size of the command structure) */ static inline void AocCmdHdrSet(struct CMD_HDR * cmd, uint16_t id, uint16_t length) { #ifdef __KERNEL__ static atomic_t cmd_cntr_ = ATOMIC_INIT(-1); cmd->parent.cntr = atomic_inc_return(&cmd_cntr_); #else static int cmd_cntr_ = 0; cmd->parent.cntr = cmd_cntr_++; #endif cmd->parent.type = DATA_TYPE_CMD; cmd->parent.len = length; cmd->id = id; } /** * Helper function to initialize commands that don't need to be acked * * \param[out] cmd Pointer to command structure to initialize * \param[in] id Command ID. Refer to \ref AOC_COMMAND * \param[in] length Command length (size of the command structure) */ static inline void AocCmdNoAckHdrSet(struct CMD_HDR * cmd, uint16_t id, uint16_t length) { #ifdef __KERNEL__ static atomic_t cmd_cntr_ = ATOMIC_INIT(-1); cmd->parent.cntr = atomic_inc_return(&cmd_cntr_); #else static int cmd_cntr_ = 0; cmd->parent.cntr = cmd_cntr_++; #endif cmd->parent.type = DATA_TYPE_CMD_NO_ACK; cmd->parent.len = length; cmd->id = id; } /** * Total number of UUID strings to check against the FW image. */ #define AOC_UUID_ENTRIES (285) /** * UUID entry size. */ #define AOC_UUID_SIZE (16) /** * Function to check interface compatibility * * \param[in] addr UUID table's address * \param[in] size UUID table's size * * \return 0 if compatibility is Ok, -1 otherwise */ static inline int AocInterfaceCheck(const void * addr, int size) { static const uint8_t uuid_array[AOC_UUID_ENTRIES][AOC_UUID_SIZE] = { { 0x01, 0x7e, 0x87, 0x91, 0x50, 0x8f, 0x32, 0x97, 0x11, 0x80, 0x6b, 0x7b, 0x17, 0x84, 0x65, 0x4a}, { 0x02, 0xaa, 0x59, 0x76, 0x93, 0x91, 0xdb, 0xf4, 0xe0, 0xba, 0xe8, 0x2f, 0xbc, 0xae, 0xbb, 0x3c}, { 0x03, 0xbb, 0xd8, 0x7e, 0x56, 0xc4, 0x52, 0xd6, 0x27, 0xb9, 0x1e, 0x6f, 0xb1, 0x35, 0xaa, 0x6d}, { 0x04, 0x75, 0xfa, 0x5e, 0x05, 0x09, 0xe0, 0x42, 0x86, 0x17, 0x0b, 0xbd, 0x43, 0x16, 0x6f, 0xe0}, { 0x04, 0xbb, 0x6c, 0xf8, 0xcd, 0x42, 0x90, 0xca, 0xb2, 0xf4, 0xa1, 0xd5, 0x98, 0x4a, 0xd1, 0x37}, { 0x05, 0xc8, 0xdb, 0x46, 0xe2, 0x74, 0xa9, 0x08, 0x31, 0x97, 0xbd, 0xdb, 0xf5, 0x34, 0xe6, 0x37}, { 0x06, 0x2e, 0xc0, 0x7b, 0xe9, 0x50, 0xde, 0x1a, 0x51, 0xf6, 0x67, 0x2f, 0x6b, 0xe1, 0x6e, 0x31}, { 0x06, 0xc9, 0x6d, 0x4c, 0xc0, 0x17, 0x3e, 0x6f, 0xe6, 0xbf, 0xe9, 0x5c, 0x97, 0xbf, 0xe9, 0x33}, { 0x06, 0xec, 0x15, 0x0b, 0x46, 0x78, 0x1d, 0xf7, 0x09, 0x30, 0x04, 0x01, 0x43, 0x63, 0xbc, 0xf1}, { 0x08, 0x03, 0x6d, 0x24, 0xf5, 0x2f, 0xe0, 0x21, 0xa2, 0xef, 0x84, 0x19, 0xf2, 0x8d, 0xbf, 0x0d}, { 0x08, 0x5b, 0x3c, 0x10, 0x69, 0x3d, 0xe3, 0xcd, 0x14, 0xa5, 0xab, 0xc2, 0x25, 0x82, 0x80, 0xce}, { 0x09, 0xa0, 0xd5, 0x1b, 0x06, 0xbf, 0x64, 0xfd, 0x73, 0x33, 0xc0, 0x9a, 0xbf, 0x73, 0xed, 0x6a}, { 0x09, 0xe2, 0x6d, 0x24, 0x20, 0x04, 0x64, 0x0c, 0x7e, 0x9a, 0xdf, 0xea, 0xaf, 0xcc, 0x17, 0xec}, { 0x0a, 0x59, 0xd4, 0xc7, 0x2b, 0x38, 0x77, 0x11, 0x45, 0x4f, 0xbd, 0x37, 0x5d, 0x30, 0x44, 0x17}, { 0x0a, 0x81, 0x94, 0x45, 0x4e, 0x79, 0x09, 0xaa, 0xc5, 0x00, 0x3b, 0xe1, 0x76, 0xe8, 0x20, 0x91}, { 0x0a, 0x84, 0x69, 0xb5, 0xb9, 0x6b, 0x5c, 0xcb, 0xf7, 0x3a, 0x68, 0xd0, 0x34, 0xfc, 0x69, 0xb6}, { 0x0b, 0xa0, 0x2b, 0x52, 0x09, 0xf5, 0x05, 0x46, 0xe5, 0xcc, 0x68, 0x2d, 0xff, 0x34, 0xca, 0x8b}, { 0x0c, 0x71, 0x11, 0x38, 0x38, 0x13, 0xf4, 0xcc, 0x27, 0x0e, 0x1b, 0x7a, 0x20, 0xd0, 0x7b, 0x5e}, { 0x0d, 0x0e, 0xd5, 0xab, 0x53, 0x92, 0xd3, 0xd5, 0x0a, 0xf3, 0x4f, 0xbf, 0x2b, 0x15, 0x25, 0x15}, { 0x0e, 0x5f, 0x7c, 0x97, 0xaa, 0x5d, 0xfa, 0x4e, 0x27, 0xae, 0xa3, 0x60, 0x6f, 0xee, 0x68, 0xe4}, { 0x10, 0xaa, 0x17, 0xf6, 0x01, 0x2e, 0x86, 0x30, 0x9e, 0x2f, 0xd0, 0x59, 0xee, 0x03, 0x25, 0x3a}, { 0x11, 0x76, 0x82, 0xaf, 0x13, 0x45, 0x5a, 0x3d, 0xe0, 0xf0, 0xf0, 0x1a, 0x02, 0xa3, 0xd4, 0x66}, { 0x12, 0x0e, 0x10, 0xd4, 0x04, 0xff, 0xa4, 0x02, 0xde, 0xe0, 0x5f, 0xd8, 0x10, 0x86, 0xb6, 0x71}, { 0x12, 0x89, 0x2d, 0xad, 0xd9, 0xba, 0x4d, 0x23, 0xea, 0xe4, 0x85, 0xd3, 0xd5, 0x9f, 0xcc, 0xf0}, { 0x13, 0x27, 0x03, 0xc5, 0x1b, 0xb0, 0x18, 0xbb, 0xf2, 0xc9, 0xa8, 0x70, 0xe8, 0xb9, 0x74, 0xd8}, { 0x14, 0x40, 0x6b, 0x26, 0x35, 0x21, 0x56, 0xfc, 0x3f, 0xd4, 0x5d, 0xbd, 0x2a, 0xfe, 0x8f, 0x21}, { 0x14, 0xa6, 0x59, 0x85, 0x37, 0xe1, 0x9f, 0x97, 0x87, 0x9e, 0xaf, 0x9c, 0xfa, 0x6f, 0xb9, 0xba}, { 0x14, 0xf1, 0x44, 0xaf, 0x01, 0x3e, 0x1a, 0x5f, 0xf4, 0xcd, 0x17, 0xfc, 0x43, 0xbd, 0x90, 0x80}, { 0x15, 0xc1, 0x57, 0x0c, 0x12, 0x58, 0xba, 0x2a, 0xcd, 0xd2, 0xd4, 0xdd, 0x2e, 0x17, 0x2f, 0xbe}, { 0x17, 0x0d, 0xc9, 0xa2, 0x72, 0xcf, 0xdc, 0xe7, 0xdd, 0xc3, 0xbe, 0x51, 0x33, 0x6c, 0xfd, 0x31}, { 0x17, 0xda, 0x3a, 0xdb, 0xbb, 0xfb, 0xdb, 0xe6, 0x21, 0x5b, 0x81, 0x3d, 0xca, 0x17, 0xe1, 0x41}, { 0x18, 0x53, 0x72, 0x57, 0x16, 0xf2, 0x67, 0x8f, 0x9b, 0xd1, 0x2f, 0x96, 0x1c, 0x2a, 0xe5, 0x91}, { 0x1a, 0x8f, 0x67, 0xd7, 0x66, 0xcc, 0x9a, 0x1e, 0x21, 0xd6, 0x54, 0x8a, 0xfd, 0xc2, 0xba, 0x57}, { 0x1a, 0xc2, 0xb5, 0xc1, 0x94, 0xcb, 0x12, 0x67, 0xb0, 0xa9, 0xd9, 0xda, 0x7a, 0xe1, 0xd6, 0xc9}, { 0x1c, 0x45, 0xeb, 0x22, 0x73, 0x8c, 0x03, 0x45, 0x1a, 0x98, 0xb2, 0x2f, 0xf0, 0x78, 0xc4, 0x4e}, { 0x1c, 0x8e, 0x98, 0xae, 0x6f, 0xd8, 0x58, 0x47, 0xb2, 0x84, 0x00, 0xbe, 0xc1, 0x35, 0x59, 0x10}, { 0x1d, 0x92, 0xa5, 0x52, 0xf0, 0x20, 0xdb, 0x57, 0x42, 0xf1, 0x1a, 0x3f, 0xfd, 0x7e, 0x54, 0x4c}, { 0x1d, 0xb1, 0x1b, 0x44, 0x6b, 0xa2, 0x2d, 0xb9, 0x92, 0x42, 0x1b, 0xdb, 0x59, 0x01, 0x17, 0x51}, { 0x1d, 0xfc, 0xc8, 0xcf, 0x13, 0x0b, 0x1b, 0x42, 0xe6, 0x72, 0x8c, 0xac, 0xd4, 0xe0, 0xa7, 0xd3}, { 0x20, 0xa7, 0x8f, 0x1f, 0x76, 0x36, 0xfd, 0x03, 0xaf, 0x70, 0x07, 0x82, 0x36, 0xb4, 0xd2, 0x71}, { 0x21, 0x37, 0x7c, 0xe7, 0x18, 0xfd, 0x3e, 0x9b, 0xec, 0x88, 0x3f, 0x8f, 0xb4, 0x76, 0xc0, 0x56}, { 0x21, 0x40, 0x87, 0xaf, 0x52, 0xdc, 0xfa, 0x3f, 0x39, 0x30, 0xc8, 0xa9, 0xa9, 0x86, 0xc7, 0x83}, { 0x21, 0xd2, 0x3b, 0x51, 0x10, 0x75, 0x47, 0xec, 0x3a, 0x08, 0x33, 0x80, 0xca, 0xce, 0x82, 0x5e}, { 0x22, 0x25, 0xe4, 0xb1, 0x79, 0xa5, 0xdf, 0xbc, 0x0a, 0xd4, 0x56, 0xc8, 0x11, 0x04, 0x59, 0x09}, { 0x22, 0x8b, 0x2b, 0x4c, 0x01, 0xe7, 0xc1, 0x26, 0x65, 0x80, 0x56, 0xa5, 0x96, 0xac, 0x4e, 0x5c}, { 0x22, 0xe2, 0xb9, 0xf9, 0x70, 0xd4, 0x4a, 0xd4, 0x13, 0x56, 0x4d, 0x59, 0x99, 0x19, 0xd1, 0x3b}, { 0x24, 0x9a, 0xda, 0x53, 0xf8, 0xb6, 0xce, 0x22, 0x6b, 0xa9, 0xaa, 0x73, 0xda, 0xbb, 0xf5, 0xe6}, { 0x25, 0xd1, 0x6d, 0x03, 0x7a, 0x41, 0xa1, 0xf8, 0x54, 0x06, 0xa0, 0x02, 0x90, 0x17, 0xa0, 0x2a}, { 0x26, 0xbd, 0xe6, 0x3c, 0xaf, 0xfd, 0x54, 0x4e, 0x58, 0x1a, 0x72, 0x93, 0xf1, 0xcf, 0x79, 0x3c}, { 0x27, 0x18, 0x72, 0xe1, 0xbf, 0x7b, 0x57, 0xd8, 0xc2, 0xbb, 0x10, 0x84, 0x72, 0x06, 0xe8, 0x88}, { 0x27, 0x9a, 0xa8, 0x8a, 0xfc, 0x7b, 0xdf, 0xff, 0x45, 0x52, 0x99, 0x76, 0x17, 0x6b, 0x32, 0x60}, { 0x28, 0xa4, 0x20, 0x16, 0xe2, 0x30, 0x74, 0xc2, 0x1d, 0x14, 0x62, 0x19, 0x7b, 0x9c, 0x9d, 0x59}, { 0x2a, 0x38, 0x91, 0xf4, 0xd9, 0x66, 0x73, 0x05, 0xcc, 0x1d, 0x5d, 0xcf, 0x03, 0xbe, 0x8d, 0x85}, { 0x2a, 0x39, 0x2f, 0x6c, 0x9f, 0x9a, 0xc7, 0x88, 0xfb, 0x2a, 0x12, 0xa6, 0xe4, 0xa5, 0xdd, 0xe5}, { 0x2a, 0xb9, 0x8e, 0xc5, 0x8f, 0x7c, 0x97, 0x04, 0xb4, 0xe8, 0x3b, 0x93, 0xbb, 0xce, 0xfa, 0xa2}, { 0x2a, 0xd9, 0x11, 0x9c, 0x66, 0xc8, 0xc4, 0x8a, 0x45, 0x7d, 0x6d, 0x17, 0x5c, 0x53, 0x27, 0x60}, { 0x2c, 0x04, 0x89, 0xaf, 0xcb, 0x07, 0xc2, 0x71, 0x45, 0x4e, 0x4d, 0xa7, 0x16, 0x62, 0x23, 0xff}, { 0x2c, 0x3d, 0x11, 0xcf, 0x78, 0x8e, 0x47, 0xc0, 0x93, 0x75, 0xb6, 0x0e, 0xf4, 0x47, 0x77, 0xfc}, { 0x2c, 0xab, 0x0e, 0x94, 0x82, 0xce, 0xc6, 0xae, 0xf3, 0x71, 0x58, 0x10, 0xb1, 0x74, 0x1d, 0x7e}, { 0x2f, 0xce, 0xdf, 0xa6, 0x97, 0xab, 0x03, 0x43, 0x86, 0x3d, 0x06, 0xf3, 0xd6, 0x08, 0xc1, 0x0e}, { 0x30, 0x76, 0xf3, 0x87, 0xa6, 0x78, 0xce, 0x54, 0xfa, 0xda, 0x1a, 0xf5, 0xa8, 0x3b, 0x63, 0xd6}, { 0x30, 0xca, 0xe4, 0xa2, 0x79, 0xc5, 0x47, 0x27, 0xdb, 0xbd, 0x02, 0x72, 0xed, 0xb3, 0x73, 0x35}, { 0x32, 0x20, 0x9e, 0x63, 0x2e, 0xe6, 0x7e, 0x9b, 0x50, 0x7a, 0x06, 0x6e, 0x1c, 0xe3, 0x1e, 0x64}, { 0x33, 0x2a, 0xf5, 0xa3, 0x1f, 0xdb, 0xae, 0xce, 0xd7, 0x01, 0x94, 0xc1, 0x3e, 0x17, 0x7a, 0x1f}, { 0x33, 0x94, 0xe9, 0x85, 0xe5, 0xa4, 0xc7, 0x67, 0xef, 0xd2, 0xf3, 0x76, 0xa6, 0xd3, 0xf1, 0x0f}, { 0x33, 0xae, 0x96, 0x86, 0x07, 0xb1, 0xc6, 0xaf, 0x3d, 0x57, 0x08, 0xe9, 0x5d, 0xd8, 0x70, 0x9e}, { 0x36, 0x13, 0x17, 0x7f, 0x5b, 0x58, 0x7d, 0xfd, 0xaa, 0xd1, 0x55, 0x24, 0xd2, 0x97, 0x67, 0x26}, { 0x36, 0x67, 0xc2, 0xaf, 0xfe, 0xe4, 0x2f, 0xed, 0x78, 0x89, 0x2d, 0x05, 0x62, 0x6d, 0x0a, 0x88}, { 0x36, 0x7c, 0xc9, 0xdc, 0xdb, 0x4c, 0xcb, 0x52, 0x95, 0xd1, 0x1a, 0xb0, 0x54, 0xc3, 0x71, 0x06}, { 0x37, 0x22, 0x07, 0xe1, 0xfa, 0x69, 0x08, 0x7a, 0xda, 0x47, 0xe2, 0x3a, 0x3f, 0x96, 0x49, 0x54}, { 0x37, 0xb9, 0xc6, 0x86, 0x48, 0x9b, 0x1c, 0x89, 0x6a, 0xb3, 0xe6, 0x6e, 0xa0, 0x84, 0xf6, 0x46}, { 0x37, 0xf8, 0x5b, 0xad, 0x8d, 0xca, 0x4b, 0xe8, 0x3d, 0x27, 0xb4, 0xec, 0xc9, 0x3c, 0x5b, 0xdd}, { 0x3a, 0xec, 0xff, 0xd3, 0xa2, 0xb3, 0x17, 0x27, 0xfd, 0xc5, 0x1f, 0x80, 0xc6, 0x19, 0xa2, 0xe8}, { 0x3b, 0xfa, 0x87, 0x99, 0x9f, 0xaf, 0x40, 0xdf, 0x0f, 0xee, 0xf2, 0x3d, 0xd9, 0x4c, 0xc5, 0x94}, { 0x3c, 0x71, 0xe6, 0x4c, 0x26, 0x7c, 0x6e, 0x4a, 0x4e, 0x2e, 0x67, 0x53, 0x5d, 0xe0, 0xb5, 0xbd}, { 0x3e, 0x8d, 0xad, 0xc9, 0x9d, 0x9d, 0x30, 0xff, 0xd9, 0xca, 0x03, 0x59, 0xb4, 0x81, 0xae, 0xfd}, { 0x3e, 0xa2, 0x5e, 0x76, 0x19, 0x48, 0x83, 0x7b, 0xf7, 0x15, 0xb8, 0x39, 0x12, 0xa8, 0xc6, 0xba}, { 0x3f, 0x7e, 0x21, 0x28, 0x19, 0x4a, 0xbb, 0x2c, 0x20, 0x72, 0xf2, 0xb8, 0x95, 0xfa, 0xd9, 0xf3}, { 0x40, 0xbd, 0xd5, 0x3e, 0x16, 0x32, 0x96, 0x23, 0x34, 0x59, 0x4c, 0xb1, 0xf0, 0xf9, 0x2d, 0xa5}, { 0x43, 0xfd, 0x27, 0xea, 0x86, 0xc0, 0xab, 0x09, 0x71, 0xba, 0x99, 0x27, 0x5d, 0xbe, 0xc1, 0x61}, { 0x4a, 0x1e, 0xe5, 0x81, 0xb6, 0x4d, 0x2d, 0x1e, 0x3c, 0xf7, 0x01, 0x41, 0x34, 0x75, 0xa8, 0x50}, { 0x4a, 0x4e, 0xc7, 0x4c, 0x3e, 0xda, 0x93, 0x5d, 0x8a, 0x28, 0xe2, 0xa9, 0x42, 0xe4, 0xa7, 0x5b}, { 0x4b, 0x09, 0x29, 0xd9, 0x02, 0xbd, 0x8d, 0xfb, 0x96, 0x0f, 0x5b, 0x41, 0x70, 0x42, 0x98, 0x2c}, { 0x4b, 0x17, 0xcf, 0x24, 0x42, 0xac, 0x4a, 0xf4, 0x94, 0xe2, 0xf7, 0x27, 0x38, 0x8d, 0x8e, 0xd8}, { 0x4c, 0x6d, 0xa4, 0x04, 0xf6, 0xf1, 0xe1, 0xe0, 0x2e, 0xd9, 0xa1, 0xbf, 0xa1, 0xbe, 0xf4, 0x36}, { 0x4c, 0xbb, 0x47, 0x39, 0xc0, 0xab, 0xef, 0xde, 0xe7, 0x94, 0x45, 0x29, 0xc1, 0xe3, 0xba, 0xd1}, { 0x4c, 0xe9, 0xe2, 0x32, 0xb0, 0xad, 0x1d, 0xc1, 0x9b, 0xd9, 0x8d, 0x76, 0x65, 0xbf, 0x93, 0x53}, { 0x50, 0x4d, 0x49, 0x0d, 0x70, 0x4a, 0xc2, 0xbe, 0xf2, 0xaf, 0x10, 0x88, 0x7b, 0x9b, 0x1a, 0xd3}, { 0x51, 0x44, 0x50, 0xe5, 0x58, 0x54, 0xee, 0xd2, 0xa1, 0x56, 0x51, 0x06, 0x7d, 0x6a, 0x3e, 0x55}, { 0x51, 0x94, 0x87, 0x45, 0x95, 0x24, 0x5e, 0x95, 0x85, 0x23, 0xa1, 0x71, 0xea, 0x2f, 0x6b, 0xad}, { 0x51, 0xa1, 0xe8, 0x69, 0xc9, 0x13, 0xcc, 0xa4, 0xeb, 0xfa, 0x24, 0x57, 0x6e, 0x96, 0x77, 0x86}, { 0x52, 0x3a, 0x9f, 0x7b, 0x74, 0x3e, 0xa2, 0x9e, 0xa2, 0x3a, 0x18, 0xc0, 0x87, 0x9b, 0x0d, 0xcc}, { 0x53, 0x8e, 0x9a, 0xc8, 0x80, 0x22, 0xdc, 0x3b, 0xce, 0xc3, 0x11, 0xed, 0xa8, 0xb8, 0x78, 0x0f}, { 0x56, 0xf7, 0xe6, 0x6f, 0xe4, 0xbf, 0xf9, 0x84, 0x2c, 0xa5, 0xfc, 0x4c, 0x2c, 0x57, 0x18, 0xa7}, { 0x57, 0x1c, 0xba, 0xeb, 0xd0, 0x82, 0xec, 0x6d, 0x9b, 0x50, 0x9c, 0x68, 0xbe, 0x16, 0xdf, 0xea}, { 0x57, 0xc6, 0x7d, 0xee, 0xa6, 0xd1, 0x11, 0xd6, 0x07, 0xd6, 0x91, 0x4e, 0x29, 0xc7, 0xa3, 0x2c}, { 0x59, 0xbd, 0x69, 0xe4, 0xf8, 0xda, 0x57, 0xee, 0x84, 0x40, 0x43, 0xc4, 0x26, 0x23, 0x9b, 0xa0}, { 0x59, 0xf2, 0x2b, 0x5d, 0x76, 0xf7, 0x07, 0x4c, 0xc5, 0x98, 0x42, 0x55, 0x70, 0x04, 0xbb, 0x5a}, { 0x5b, 0xe7, 0xb9, 0x9d, 0x97, 0xf4, 0xbf, 0x06, 0xaf, 0x23, 0x1b, 0xe0, 0x4a, 0xb7, 0x83, 0xab}, { 0x5c, 0x42, 0xe0, 0x72, 0x5b, 0x9b, 0x1b, 0xbd, 0x68, 0x79, 0xfc, 0xb2, 0xd6, 0x69, 0x2c, 0x90}, { 0x61, 0xc8, 0x4e, 0x3e, 0x09, 0x98, 0x3d, 0xe7, 0xc5, 0x18, 0x4f, 0x81, 0x29, 0x8c, 0x20, 0x24}, { 0x63, 0xd3, 0x3a, 0xa8, 0x67, 0x7b, 0xa0, 0x43, 0xb7, 0x6f, 0xc5, 0xe2, 0x87, 0x3b, 0x76, 0x95}, { 0x64, 0xe9, 0x2f, 0x18, 0x21, 0x8e, 0x84, 0x36, 0x9c, 0xbc, 0xd8, 0x90, 0x59, 0xeb, 0xdd, 0x37}, { 0x67, 0x22, 0x6e, 0x15, 0xae, 0xf1, 0x1c, 0x25, 0x55, 0x7c, 0xa1, 0x13, 0x02, 0x34, 0xa7, 0x56}, { 0x67, 0xb5, 0xba, 0x40, 0x6a, 0x71, 0x0f, 0x65, 0xfe, 0x63, 0xa9, 0xd1, 0x66, 0x94, 0x8f, 0x54}, { 0x68, 0xcb, 0x4b, 0x75, 0x29, 0xbe, 0x7d, 0xe1, 0x60, 0xdd, 0xa9, 0x16, 0x50, 0x2b, 0xdd, 0x6f}, { 0x6a, 0x06, 0xc2, 0xc1, 0x68, 0xc0, 0x75, 0x00, 0x17, 0xbb, 0x5a, 0x0d, 0xe4, 0xda, 0x44, 0x45}, { 0x6a, 0x5b, 0x79, 0x98, 0xd8, 0x85, 0xb2, 0xf3, 0x34, 0x09, 0x41, 0x3a, 0xa9, 0xbd, 0xf3, 0x9c}, { 0x6a, 0xcc, 0xf8, 0xe1, 0x01, 0xdb, 0xb7, 0x43, 0x39, 0x80, 0x2e, 0x49, 0x3e, 0x1a, 0xfd, 0xb2}, { 0x6b, 0xb6, 0x5a, 0xad, 0x89, 0xf5, 0x7f, 0x76, 0x29, 0x74, 0x88, 0x2f, 0x02, 0x32, 0x46, 0x2f}, { 0x6c, 0x50, 0x48, 0xc1, 0x51, 0x35, 0xce, 0x52, 0x74, 0x4e, 0x1a, 0xf0, 0x37, 0xce, 0xf7, 0x0e}, { 0x6c, 0xa3, 0x16, 0x0b, 0x1c, 0x5a, 0xd2, 0x7b, 0x01, 0xfa, 0x34, 0x39, 0x02, 0xfb, 0xea, 0x84}, { 0x6c, 0xe1, 0x4e, 0x74, 0x47, 0x36, 0x5e, 0xe0, 0xce, 0x8b, 0xfb, 0x7c, 0xcc, 0xbb, 0x3c, 0x7a}, { 0x6e, 0x88, 0x72, 0xb5, 0x78, 0x9b, 0x3c, 0x3c, 0x82, 0x39, 0x25, 0x04, 0xf3, 0xfe, 0xba, 0xda}, { 0x6f, 0x0c, 0x39, 0x86, 0x16, 0xac, 0xa7, 0xcd, 0x4d, 0x45, 0x72, 0x79, 0x40, 0x8a, 0x7e, 0x19}, { 0x6f, 0x21, 0x5c, 0x20, 0xb8, 0x13, 0x95, 0xc0, 0xe9, 0x48, 0x48, 0x1d, 0x89, 0x56, 0xd5, 0x68}, { 0x6f, 0xb9, 0x1b, 0xb5, 0xc3, 0xca, 0xbc, 0xe4, 0x0d, 0xf8, 0xbe, 0x6c, 0xe1, 0x86, 0xbc, 0xaa}, { 0x70, 0xad, 0x1f, 0x84, 0x1c, 0xe4, 0x64, 0x65, 0xe2, 0x38, 0x9e, 0x08, 0x93, 0x88, 0x35, 0xc9}, { 0x71, 0x65, 0x64, 0x80, 0xfb, 0xa7, 0xc2, 0x51, 0x2e, 0xb2, 0xc8, 0x49, 0x3e, 0x71, 0xe7, 0xe6}, { 0x71, 0x9d, 0xaf, 0x40, 0x4c, 0x68, 0x69, 0xc3, 0xe3, 0x84, 0x15, 0x3d, 0x48, 0x1d, 0x24, 0xa8}, { 0x73, 0x3b, 0x57, 0xb1, 0xd8, 0xa9, 0x34, 0x25, 0x23, 0xa4, 0x9b, 0x8c, 0x37, 0xad, 0x2d, 0x0a}, { 0x73, 0x3c, 0x6a, 0x37, 0xd1, 0x08, 0x41, 0xee, 0x07, 0x5f, 0x0a, 0x2a, 0x10, 0xa9, 0xdf, 0x86}, { 0x73, 0xf0, 0x0d, 0x3c, 0x55, 0x59, 0x76, 0xa5, 0xee, 0x1c, 0x49, 0xde, 0x93, 0x44, 0xfb, 0x0f}, { 0x74, 0x88, 0xed, 0xda, 0xbe, 0x06, 0x54, 0xe3, 0xf0, 0xac, 0x58, 0xcd, 0xa1, 0x7a, 0x15, 0x30}, { 0x75, 0x0c, 0xa7, 0xb8, 0xed, 0x99, 0x7b, 0x3f, 0x74, 0x1c, 0x6f, 0x39, 0xd2, 0x15, 0xf3, 0x6d}, { 0x75, 0x6e, 0xd8, 0x91, 0xfa, 0x5d, 0xf4, 0x82, 0x04, 0xdd, 0xef, 0x41, 0xbe, 0xd9, 0xe0, 0xd8}, { 0x76, 0xf7, 0xa9, 0x2e, 0x72, 0x6a, 0xa3, 0xe9, 0x97, 0xc7, 0x4b, 0x39, 0x93, 0x81, 0xc0, 0x69}, { 0x78, 0x30, 0xc5, 0x77, 0xed, 0x8e, 0x2b, 0x47, 0x41, 0x98, 0xd3, 0x65, 0x29, 0x41, 0x76, 0x49}, { 0x79, 0x09, 0x97, 0xfc, 0xbc, 0x5b, 0x31, 0x21, 0x6a, 0x6e, 0xd4, 0xaa, 0xcd, 0xfe, 0xaa, 0xf0}, { 0x79, 0xe7, 0xa3, 0x3c, 0x1d, 0xb0, 0xae, 0x28, 0xcd, 0x05, 0x59, 0x74, 0x44, 0x6e, 0x43, 0xec}, { 0x7a, 0xbd, 0x92, 0x8d, 0x4b, 0x17, 0x90, 0x4f, 0x72, 0x67, 0xd3, 0xed, 0x77, 0xf6, 0x17, 0x4e}, { 0x7b, 0x13, 0x94, 0x4b, 0xbc, 0xcd, 0x2f, 0x1d, 0x0a, 0x9f, 0xaf, 0x9d, 0xac, 0x48, 0x21, 0x63}, { 0x7c, 0x24, 0x7f, 0xce, 0xf1, 0xcc, 0xb6, 0x64, 0x3e, 0x83, 0x72, 0x88, 0x5d, 0xbb, 0xf6, 0x29}, { 0x7c, 0x3f, 0xb8, 0x3e, 0xf3, 0xe4, 0xcb, 0x86, 0x72, 0x13, 0xa8, 0xce, 0xcc, 0x55, 0x75, 0x9e}, { 0x7c, 0x56, 0x16, 0x5b, 0xc5, 0x31, 0x02, 0xa4, 0x44, 0x28, 0x11, 0xf0, 0xef, 0x2b, 0x2b, 0x63}, { 0x7d, 0xb5, 0x1b, 0xed, 0xa9, 0xec, 0x3f, 0x72, 0x04, 0x5b, 0xcf, 0x08, 0x8e, 0xff, 0x04, 0x58}, { 0x7e, 0x64, 0x7c, 0x28, 0xe7, 0xf2, 0x3a, 0x14, 0x73, 0xfc, 0x92, 0x67, 0x82, 0x1f, 0x10, 0x51}, { 0x7f, 0xde, 0xea, 0x6d, 0x60, 0x4f, 0xac, 0xd2, 0x5f, 0x1a, 0xeb, 0xb5, 0xdb, 0x6a, 0xb3, 0x1c}, { 0x81, 0x5b, 0x96, 0x70, 0x6d, 0xe9, 0x11, 0xee, 0x94, 0x09, 0x61, 0x51, 0x09, 0x4d, 0xcd, 0x08}, { 0x83, 0x53, 0x40, 0x7c, 0xaa, 0x47, 0x26, 0xc9, 0xe1, 0x3e, 0x00, 0x7a, 0x46, 0x93, 0xe8, 0xd6}, { 0x85, 0x42, 0xed, 0xc9, 0x55, 0xdf, 0x6b, 0xd6, 0x49, 0xc5, 0xc1, 0x2c, 0x92, 0xa9, 0x21, 0x34}, { 0x85, 0x57, 0x57, 0xd7, 0x97, 0x53, 0x30, 0x15, 0xc3, 0x2d, 0x35, 0x2f, 0x66, 0xe0, 0x46, 0x79}, { 0x85, 0x8d, 0xde, 0x9a, 0xb4, 0xa9, 0x0a, 0x99, 0xfb, 0xb9, 0x8e, 0x0a, 0x99, 0x1a, 0xfa, 0x1f}, { 0x88, 0xa3, 0x45, 0x93, 0x5c, 0xad, 0x7a, 0x95, 0xcb, 0x30, 0xce, 0xb0, 0x92, 0xd9, 0x48, 0xd3}, { 0x89, 0xf5, 0x3f, 0x6d, 0x95, 0xf7, 0xa7, 0x8c, 0x3a, 0xfe, 0xbb, 0x67, 0x75, 0xc9, 0xbc, 0x27}, { 0x8c, 0x6f, 0x6a, 0xb3, 0x9a, 0xed, 0x0b, 0x4f, 0xc8, 0x98, 0xf4, 0x2a, 0xef, 0x3d, 0x4b, 0xa4}, { 0x8d, 0x0a, 0x76, 0xb0, 0x19, 0x7e, 0xbe, 0x63, 0x88, 0x03, 0xcc, 0x59, 0x74, 0xc4, 0x9e, 0xce}, { 0x8d, 0x12, 0x14, 0x21, 0x54, 0x8f, 0x26, 0x5e, 0x4f, 0x29, 0x6a, 0xcb, 0xf3, 0x00, 0xfe, 0x33}, { 0x8d, 0x14, 0xb4, 0x09, 0x7c, 0xff, 0xcc, 0xa6, 0x22, 0x7b, 0xbc, 0x58, 0x7f, 0x82, 0x79, 0xd8}, { 0x8d, 0xb5, 0xcd, 0xb6, 0xc1, 0xeb, 0xae, 0x69, 0x52, 0xad, 0xb4, 0x52, 0x69, 0x3a, 0x9b, 0xca}, { 0x8d, 0xc3, 0x75, 0x7c, 0xd2, 0xb1, 0x7c, 0x6e, 0xa5, 0x3f, 0x81, 0xa4, 0xdf, 0x1f, 0x25, 0x26}, { 0x8d, 0xcc, 0x7c, 0x59, 0xa4, 0x56, 0x58, 0x05, 0x3c, 0xff, 0xde, 0xf0, 0xac, 0x6d, 0x07, 0x9e}, { 0x8d, 0xeb, 0x05, 0x22, 0x45, 0x03, 0x7b, 0xdc, 0x89, 0x28, 0x86, 0xf5, 0x2f, 0x4a, 0x3f, 0xd1}, { 0x8e, 0xf2, 0x04, 0xa3, 0xef, 0xe8, 0xef, 0xb0, 0xdd, 0xc5, 0x0b, 0xc4, 0x9b, 0xf1, 0xfe, 0x06}, { 0x8f, 0x57, 0x2f, 0x56, 0x21, 0xed, 0x71, 0x74, 0x89, 0x92, 0x53, 0x1b, 0x40, 0xe4, 0x51, 0x48}, { 0x91, 0xfa, 0x1f, 0xcf, 0x24, 0x02, 0xf2, 0xfd, 0x55, 0xf1, 0xfc, 0xa8, 0x1b, 0xdc, 0xfe, 0x32}, { 0x92, 0x2f, 0x15, 0x25, 0xa4, 0x4e, 0xfd, 0xba, 0xb3, 0xed, 0xf4, 0x85, 0x86, 0xcf, 0x3a, 0xd5}, { 0x92, 0x46, 0xd3, 0x83, 0x9c, 0x80, 0x88, 0x40, 0x87, 0x89, 0xa1, 0x5c, 0x48, 0x56, 0x29, 0x6b}, { 0x92, 0x71, 0x26, 0xc1, 0xe5, 0xbd, 0xea, 0x5c, 0x6c, 0x56, 0x74, 0xd6, 0x85, 0x5d, 0x6e, 0x16}, { 0x92, 0xb4, 0x1b, 0x1c, 0x66, 0x7d, 0x42, 0xb8, 0x27, 0x49, 0xd1, 0x6a, 0x76, 0x7f, 0xb3, 0x84}, { 0x93, 0xfd, 0xd0, 0x79, 0x2f, 0x83, 0xc3, 0xf0, 0x88, 0x9f, 0xbd, 0x5a, 0x5b, 0x72, 0x5a, 0x7a}, { 0x94, 0x2e, 0x86, 0x7e, 0xa3, 0xba, 0x1c, 0x43, 0x90, 0x83, 0xa6, 0x8b, 0xf4, 0xbf, 0x9f, 0x94}, { 0x94, 0xb7, 0x27, 0x1e, 0xa1, 0x2a, 0x31, 0xa0, 0xe2, 0x40, 0x0e, 0x17, 0xe9, 0xbe, 0x03, 0x35}, { 0x95, 0xbc, 0xfc, 0x52, 0xb2, 0x2b, 0x1c, 0x80, 0x69, 0xa6, 0x0c, 0xce, 0x0d, 0x79, 0xe4, 0x62}, { 0x98, 0xad, 0x78, 0x41, 0xb3, 0x1f, 0xf2, 0x46, 0xe2, 0x12, 0xd6, 0x86, 0xa8, 0x76, 0x68, 0xb9}, { 0x99, 0x24, 0xe5, 0xb1, 0x37, 0x14, 0x80, 0x46, 0x36, 0x53, 0x33, 0x6a, 0x2b, 0x91, 0x11, 0x75}, { 0x9a, 0x12, 0x0e, 0x2a, 0x96, 0x94, 0x2e, 0xf1, 0x1b, 0x23, 0xf7, 0x75, 0x83, 0xa0, 0x32, 0x4c}, { 0x9b, 0xde, 0xd6, 0x56, 0xcc, 0x61, 0x56, 0x14, 0xe7, 0x69, 0x11, 0x2b, 0xfc, 0x76, 0xc0, 0xf8}, { 0x9c, 0x5b, 0xee, 0x45, 0x88, 0xff, 0xfe, 0x71, 0xe7, 0x80, 0x24, 0xb6, 0x00, 0x51, 0x02, 0xad}, { 0x9d, 0x12, 0xf5, 0x3f, 0x49, 0x8b, 0x42, 0x79, 0x30, 0x25, 0x7a, 0x6d, 0x80, 0x10, 0x47, 0x8c}, { 0x9d, 0x48, 0x59, 0x29, 0xdc, 0x61, 0xd3, 0xba, 0xbd, 0x81, 0xdd, 0xff, 0x05, 0xcf, 0x93, 0x92}, { 0x9d, 0xb4, 0x7f, 0x9d, 0x9a, 0xa8, 0xb6, 0x75, 0x42, 0x38, 0x20, 0xef, 0x42, 0xf3, 0xc6, 0x56}, { 0x9d, 0xf7, 0xcf, 0xb0, 0xc1, 0x17, 0x79, 0x42, 0x0f, 0x8e, 0x25, 0x16, 0x4c, 0x14, 0x36, 0x73}, { 0x9f, 0xf1, 0xa9, 0x40, 0x4b, 0xee, 0x16, 0x00, 0xcf, 0xdb, 0x3e, 0x11, 0x79, 0x71, 0x43, 0x12}, { 0xa0, 0x2a, 0xd5, 0x5b, 0xf6, 0x32, 0x8b, 0x3d, 0xe7, 0x30, 0xfb, 0x1e, 0x04, 0xee, 0x07, 0xe5}, { 0xa2, 0x05, 0x71, 0x2d, 0xf6, 0xb7, 0xc4, 0x87, 0xc9, 0xc6, 0x2b, 0x48, 0x6d, 0xc1, 0xb0, 0x56}, { 0xa2, 0x05, 0x84, 0xbf, 0x8e, 0xc7, 0x58, 0x26, 0x43, 0x8f, 0xad, 0x01, 0x75, 0xa9, 0x08, 0xf4}, { 0xa2, 0x13, 0x27, 0x71, 0xc2, 0xf3, 0x2e, 0x73, 0x0d, 0xe3, 0xfd, 0x3b, 0xd7, 0xf7, 0x9d, 0xbe}, { 0xa2, 0xd9, 0x83, 0x13, 0x7e, 0xe5, 0xc5, 0x04, 0x05, 0xf7, 0x19, 0xa3, 0x10, 0xc2, 0x09, 0x71}, { 0xa2, 0xdc, 0xee, 0x61, 0xc1, 0x28, 0x3d, 0x5a, 0xff, 0x02, 0x1c, 0x0c, 0x5f, 0x80, 0x3d, 0xc0}, { 0xa4, 0xb8, 0x2f, 0x60, 0xbc, 0xef, 0xb7, 0x99, 0xd1, 0x1a, 0x46, 0x34, 0x2c, 0x8f, 0xc4, 0x59}, { 0xa4, 0xc0, 0x7b, 0x28, 0x7b, 0x2f, 0x1b, 0x34, 0xf9, 0xd8, 0xf5, 0x3b, 0x3d, 0x12, 0x9c, 0xc6}, { 0xa5, 0x2b, 0xd3, 0x80, 0x54, 0xf3, 0xe3, 0xf9, 0x2e, 0xab, 0xb5, 0xc9, 0x4f, 0x5d, 0x65, 0xfe}, { 0xa5, 0xfe, 0xc1, 0x49, 0x4a, 0x59, 0x3b, 0x4b, 0xc3, 0x13, 0xfd, 0x4f, 0xca, 0x06, 0x45, 0xdd}, { 0xa5, 0xfe, 0xea, 0x3c, 0x46, 0x73, 0x50, 0xd9, 0xe9, 0xf9, 0x4d, 0x90, 0x0b, 0x60, 0xfb, 0xed}, { 0xa7, 0x7e, 0xcb, 0x0d, 0xeb, 0x43, 0xd8, 0xb2, 0xcf, 0xf6, 0x97, 0xec, 0x83, 0xbd, 0x85, 0x71}, { 0xa7, 0x7f, 0x8e, 0x45, 0xe2, 0xb6, 0xf9, 0x19, 0x0e, 0x18, 0xa5, 0xe9, 0x80, 0xe0, 0x1b, 0xdd}, { 0xa8, 0x61, 0xc0, 0xef, 0x25, 0xf6, 0x2e, 0x08, 0xf6, 0xf2, 0xa6, 0xd6, 0xba, 0x9b, 0x7f, 0x3f}, { 0xa9, 0x29, 0xdf, 0x5b, 0x5b, 0xdd, 0xfa, 0x49, 0xff, 0x1e, 0xa8, 0x31, 0xcf, 0xc4, 0xa7, 0x20}, { 0xab, 0x98, 0xa9, 0x1e, 0xa2, 0x7d, 0x62, 0xbb, 0xc4, 0xa0, 0xbb, 0x77, 0xb0, 0x82, 0xa1, 0x39}, { 0xad, 0x56, 0xad, 0xd5, 0xdc, 0x20, 0xf9, 0x9e, 0xea, 0x00, 0x4f, 0x40, 0xc2, 0x8e, 0xd0, 0xae}, { 0xae, 0x85, 0x16, 0xb1, 0xe4, 0x23, 0x7d, 0x7e, 0x7a, 0xb6, 0x3c, 0x71, 0x93, 0xef, 0x60, 0xb7}, { 0xaf, 0x13, 0x4d, 0x50, 0x5c, 0x05, 0x10, 0x1b, 0x19, 0x3c, 0xcb, 0x35, 0x44, 0xe0, 0x8d, 0xcf}, { 0xaf, 0x47, 0x9d, 0x1f, 0xe9, 0x92, 0xdb, 0x23, 0x29, 0x03, 0xa4, 0x0f, 0x0e, 0x65, 0x9e, 0x1f}, { 0xaf, 0xcb, 0x17, 0x4a, 0xfe, 0x4b, 0x86, 0x70, 0xd9, 0x75, 0x0e, 0x81, 0x2d, 0x1c, 0x7d, 0x8a}, { 0xb0, 0x45, 0xa5, 0x1f, 0xf1, 0x56, 0xea, 0xce, 0x07, 0xa4, 0x0b, 0xe1, 0x7d, 0x62, 0xbd, 0x57}, { 0xb2, 0x5b, 0xe6, 0xc0, 0x15, 0xfb, 0x19, 0xae, 0xf6, 0xb1, 0x5f, 0x76, 0xf3, 0xaf, 0xf3, 0x35}, { 0xb3, 0x89, 0xfd, 0x2b, 0xc6, 0x32, 0xd4, 0x40, 0x70, 0xad, 0x4f, 0xde, 0xc0, 0x3f, 0x9c, 0x6b}, { 0xb4, 0x72, 0x6c, 0x97, 0x13, 0xc1, 0xe7, 0x03, 0x0c, 0x55, 0x90, 0x0a, 0x46, 0x36, 0xf6, 0x72}, { 0xb6, 0x53, 0x79, 0x26, 0xb5, 0xb2, 0xd3, 0x7c, 0x4c, 0x17, 0x4b, 0x18, 0x42, 0x7a, 0x21, 0xea}, { 0xb6, 0x8a, 0xc1, 0x80, 0x04, 0x2a, 0x44, 0x2f, 0x6c, 0x50, 0x90, 0x69, 0xca, 0x07, 0x67, 0x84}, { 0xb7, 0x12, 0xdc, 0x35, 0xa9, 0x5e, 0x56, 0x2d, 0xfc, 0x1f, 0x90, 0xe7, 0xdf, 0x03, 0xeb, 0x33}, { 0xb7, 0x75, 0x9f, 0xa3, 0x24, 0x67, 0x8e, 0x6a, 0x7e, 0x7f, 0xbe, 0x1b, 0x24, 0xbe, 0x45, 0x0f}, { 0xb7, 0x8b, 0x94, 0x61, 0x36, 0x5d, 0xe8, 0xf9, 0xc6, 0x76, 0x45, 0x10, 0x8e, 0x6f, 0x08, 0x73}, { 0xb7, 0xab, 0x82, 0x24, 0x1e, 0xca, 0x69, 0x5a, 0x59, 0xc9, 0x33, 0x79, 0xd6, 0xef, 0x8f, 0xc4}, { 0xb8, 0x14, 0x25, 0x05, 0xb0, 0x12, 0xcb, 0xe9, 0x47, 0x56, 0x72, 0x08, 0x63, 0x08, 0xf5, 0xfd}, { 0xb8, 0xbd, 0x61, 0x3c, 0xc4, 0x6f, 0x44, 0xcd, 0x5d, 0xcc, 0xd4, 0x28, 0xa0, 0x43, 0x81, 0xb8}, { 0xb9, 0xef, 0x3a, 0x7d, 0x4e, 0x42, 0x7a, 0x79, 0xcf, 0x72, 0x72, 0xa8, 0x7e, 0xa9, 0x6b, 0x4a}, { 0xba, 0x2d, 0xa1, 0x9b, 0xc3, 0xbe, 0xa4, 0x67, 0x29, 0x0c, 0xcb, 0xf4, 0x3c, 0x7a, 0x7d, 0x15}, { 0xbb, 0x17, 0x9f, 0xb7, 0xdc, 0x7a, 0xf7, 0x4f, 0x2e, 0xa9, 0x9c, 0x9d, 0xc8, 0x53, 0x29, 0x98}, { 0xbc, 0xaa, 0xe0, 0x12, 0x22, 0x95, 0x13, 0xcb, 0x5c, 0x78, 0xaa, 0x60, 0x8d, 0x23, 0x66, 0xaf}, { 0xbe, 0x67, 0xc0, 0x3d, 0x50, 0xfd, 0x91, 0x0d, 0xd9, 0xe8, 0xca, 0x66, 0x7e, 0xa7, 0xdf, 0x3e}, { 0xbe, 0x7a, 0xad, 0x05, 0x5f, 0xbb, 0x54, 0x39, 0xce, 0xab, 0x4c, 0x6c, 0x59, 0xef, 0xb3, 0xb6}, { 0xbe, 0xda, 0xaf, 0xf8, 0x90, 0xbd, 0xa7, 0xff, 0xd0, 0x77, 0x90, 0x2b, 0xf9, 0x13, 0xf4, 0xb9}, { 0xc3, 0x88, 0x9a, 0x9d, 0xe9, 0xdc, 0x36, 0x04, 0x25, 0xcd, 0xe2, 0xb0, 0xaf, 0xdd, 0x2b, 0x2a}, { 0xc4, 0xcf, 0x89, 0xe0, 0xbe, 0x39, 0xc5, 0x29, 0x70, 0xe3, 0xa5, 0x1f, 0xc7, 0xfd, 0xe8, 0xbf}, { 0xc5, 0x7e, 0x48, 0x43, 0xd5, 0xa4, 0x25, 0xef, 0x3b, 0x34, 0x04, 0xa4, 0x78, 0x24, 0xab, 0x57}, { 0xc6, 0x02, 0xdd, 0xac, 0x88, 0x42, 0x89, 0x52, 0xc9, 0xe8, 0xd4, 0x44, 0xe2, 0xa3, 0xa9, 0x27}, { 0xc7, 0x1f, 0x9a, 0x14, 0x4f, 0xdc, 0xb8, 0x25, 0xb7, 0xf3, 0xd4, 0x1a, 0x8f, 0x75, 0x0a, 0x6e}, { 0xc8, 0x4d, 0x22, 0x2d, 0xc0, 0xe7, 0xae, 0x06, 0xbe, 0x25, 0x35, 0xe4, 0x26, 0x91, 0x9b, 0x34}, { 0xc8, 0x9c, 0xae, 0xbb, 0x6b, 0x70, 0x61, 0xd1, 0x23, 0x2b, 0x0d, 0xd4, 0x5f, 0xf3, 0xfe, 0x13}, { 0xc8, 0xa1, 0x9d, 0x5b, 0x44, 0x7c, 0xe1, 0xfa, 0xe9, 0xa8, 0x66, 0x68, 0x83, 0xc7, 0x23, 0xd7}, { 0xc8, 0xc2, 0xe6, 0xac, 0xd2, 0x0a, 0xfb, 0x5b, 0xd9, 0x5b, 0x02, 0xc3, 0x0a, 0xa2, 0xaa, 0xa0}, { 0xcb, 0x3c, 0x1b, 0xfe, 0x9f, 0xe0, 0xd6, 0xbe, 0x59, 0x73, 0x09, 0xe5, 0x57, 0x93, 0x2c, 0x23}, { 0xcb, 0xd7, 0xaf, 0x86, 0x66, 0xb9, 0x27, 0xf8, 0x2a, 0xed, 0xdc, 0xb8, 0x6f, 0xc5, 0xbd, 0xe5}, { 0xcc, 0x49, 0x9d, 0xc1, 0x69, 0x2b, 0x5f, 0xe5, 0x5d, 0xf8, 0xfc, 0x02, 0xf9, 0x80, 0x9c, 0x7f}, { 0xcd, 0xed, 0x22, 0xdf, 0xdd, 0x10, 0xab, 0x96, 0x6c, 0x5b, 0x6f, 0x4c, 0x0d, 0x15, 0xb4, 0x17}, { 0xcd, 0xfe, 0x4c, 0x6b, 0x0c, 0xbb, 0xeb, 0xb5, 0x3c, 0xd4, 0xf1, 0xde, 0x4c, 0xf7, 0xd1, 0x0a}, { 0xcf, 0x9a, 0xf4, 0x04, 0xb8, 0x23, 0x81, 0x48, 0x39, 0x0e, 0xb2, 0x50, 0xb5, 0x35, 0xc2, 0xa9}, { 0xcf, 0xb3, 0xbd, 0x60, 0x83, 0xc7, 0x45, 0xbb, 0xb3, 0xdf, 0xfa, 0xa8, 0x5b, 0x91, 0x23, 0xa1}, { 0xd1, 0x12, 0x1b, 0x14, 0xe6, 0x55, 0xdf, 0x65, 0x38, 0x5b, 0x0f, 0x47, 0x4f, 0xce, 0xfd, 0x7d}, { 0xd1, 0x48, 0xbb, 0xdd, 0x17, 0x26, 0x7d, 0x54, 0xf6, 0x34, 0x1e, 0x9c, 0x43, 0x84, 0x8a, 0xad}, { 0xd1, 0x8c, 0x44, 0x88, 0xe7, 0x16, 0x16, 0x2d, 0xfc, 0x77, 0x2e, 0x30, 0x37, 0x6f, 0x83, 0xac}, { 0xd3, 0xb7, 0xcb, 0xec, 0xbc, 0x7f, 0x3c, 0x60, 0x7b, 0xf0, 0x90, 0x24, 0x5f, 0x69, 0x10, 0x02}, { 0xd5, 0x7a, 0x0d, 0xdc, 0xef, 0x56, 0x0f, 0xee, 0xc8, 0xe6, 0x41, 0x3a, 0x7c, 0xf3, 0x3c, 0x87}, { 0xd7, 0x63, 0xea, 0x0f, 0xf8, 0xf3, 0x38, 0x51, 0x85, 0xcc, 0xf4, 0xfa, 0x40, 0x53, 0x1e, 0x82}, { 0xd7, 0x7d, 0xc2, 0xf6, 0x47, 0x6f, 0xec, 0x8e, 0xa6, 0xe8, 0xf0, 0x62, 0x12, 0x5e, 0xeb, 0x6e}, { 0xd8, 0x01, 0x40, 0xc8, 0x21, 0xd4, 0x8f, 0x62, 0xbe, 0x47, 0xd8, 0x6e, 0x60, 0xa7, 0x43, 0x5d}, { 0xd9, 0x70, 0x70, 0xf9, 0x80, 0x2e, 0xd4, 0xb3, 0x3d, 0x5f, 0x03, 0xc7, 0xa7, 0x96, 0xf5, 0x91}, { 0xd9, 0xef, 0x98, 0xfe, 0x07, 0x0e, 0xf5, 0x38, 0xbe, 0xe6, 0x23, 0x64, 0x35, 0x37, 0xee, 0xed}, { 0xda, 0x30, 0x3a, 0x56, 0x48, 0x1b, 0x51, 0x92, 0x39, 0x38, 0x42, 0xb4, 0x00, 0x25, 0x9d, 0x21}, { 0xda, 0x9c, 0x0b, 0x00, 0x75, 0x6b, 0x06, 0x0b, 0xd1, 0xc4, 0xe0, 0xbb, 0x2d, 0x93, 0xd2, 0x9f}, { 0xdb, 0xbf, 0x67, 0x76, 0x80, 0xa2, 0x71, 0xa4, 0x01, 0x93, 0xcc, 0xff, 0x83, 0x61, 0xbb, 0x3c}, { 0xdb, 0xe0, 0x59, 0x75, 0xa0, 0x09, 0x06, 0x04, 0x72, 0x93, 0x11, 0xb2, 0x99, 0x3c, 0x13, 0xa0}, { 0xde, 0x64, 0xe5, 0x6e, 0x6a, 0xba, 0x9e, 0xb0, 0x02, 0x12, 0x79, 0xdb, 0x42, 0xed, 0x6b, 0x46}, { 0xe0, 0x27, 0x3d, 0x60, 0x1b, 0x08, 0x37, 0x47, 0x9d, 0x5e, 0xf2, 0x4b, 0xb7, 0x2a, 0x97, 0x19}, { 0xe2, 0x73, 0xf9, 0x99, 0xda, 0x99, 0x45, 0x60, 0xb2, 0xa6, 0xf6, 0x93, 0x3b, 0xda, 0xff, 0x8a}, { 0xe3, 0x23, 0x5d, 0xdc, 0xdf, 0x9e, 0xcf, 0x22, 0x9f, 0xd3, 0x18, 0xb7, 0xc4, 0x09, 0xb7, 0x6e}, { 0xe3, 0x38, 0xef, 0xdf, 0xe6, 0x22, 0x2a, 0x0d, 0x2d, 0xd9, 0x51, 0x00, 0x23, 0x36, 0x54, 0xc1}, { 0xe3, 0x88, 0x7d, 0xaa, 0x74, 0xa6, 0x6e, 0xcd, 0xfa, 0x8f, 0x12, 0x2a, 0xba, 0xd2, 0x27, 0xe1}, { 0xe3, 0xbd, 0x9e, 0x12, 0xd2, 0x90, 0x27, 0xcc, 0xbf, 0x10, 0x53, 0x8e, 0x3f, 0x79, 0x06, 0x3b}, { 0xe5, 0x18, 0xd0, 0x9c, 0xcf, 0x3b, 0x27, 0x68, 0x67, 0x6f, 0x64, 0xbd, 0x74, 0x4d, 0x03, 0xd6}, { 0xe8, 0x5e, 0xbf, 0x92, 0xa2, 0x9e, 0x07, 0x4f, 0xe9, 0x69, 0xbe, 0x63, 0x14, 0x30, 0x38, 0x74}, { 0xeb, 0x4c, 0xa3, 0xec, 0xc1, 0xe6, 0x1d, 0x8a, 0xbb, 0xdc, 0x79, 0x67, 0x1d, 0xc0, 0xed, 0xbb}, { 0xed, 0x6f, 0xa3, 0x2e, 0xeb, 0xf2, 0x7a, 0xb2, 0xf9, 0xf8, 0x63, 0x03, 0xa7, 0x50, 0x78, 0x96}, { 0xed, 0xd0, 0xa6, 0x6e, 0xe1, 0x07, 0xea, 0x64, 0xb8, 0xf6, 0xa0, 0xa3, 0x24, 0xa7, 0x85, 0x6b}, { 0xee, 0x50, 0xe9, 0xbe, 0x27, 0xf5, 0x15, 0xf9, 0xf6, 0x66, 0xd1, 0xc6, 0x98, 0xa0, 0xd8, 0xdc}, { 0xee, 0xca, 0x1a, 0x83, 0x93, 0xa2, 0xd6, 0xe8, 0xa9, 0x5e, 0xdd, 0x61, 0xcb, 0xfa, 0xe6, 0x41}, { 0xef, 0x3f, 0xb8, 0x80, 0x05, 0xc8, 0x10, 0x22, 0xb3, 0x99, 0xc4, 0xc4, 0xd9, 0x32, 0x97, 0x3a}, { 0xf0, 0x3d, 0x16, 0x09, 0x77, 0x10, 0xea, 0x3b, 0xee, 0x61, 0xe8, 0x47, 0xc9, 0x78, 0x70, 0x5e}, { 0xf0, 0x59, 0x0c, 0x6b, 0xcc, 0x5b, 0x70, 0x2e, 0x28, 0x7f, 0xda, 0x52, 0x9d, 0xee, 0x80, 0xf0}, { 0xf0, 0xb6, 0x4e, 0xd4, 0x02, 0x4e, 0x01, 0x98, 0x84, 0xbc, 0x79, 0x7a, 0x3a, 0x4f, 0x18, 0x3d}, { 0xf0, 0xd0, 0xab, 0x26, 0xcd, 0x62, 0x0a, 0x32, 0xc7, 0xf2, 0x7f, 0x88, 0x62, 0x43, 0x4e, 0x7c}, { 0xf2, 0x5d, 0xfd, 0xe2, 0xfb, 0x0b, 0xf9, 0x67, 0xc2, 0x67, 0xbe, 0x45, 0xc8, 0x23, 0x2b, 0xb6}, { 0xf3, 0x2e, 0xd3, 0x8b, 0x05, 0x1c, 0xaa, 0x08, 0x36, 0xf4, 0x80, 0xa6, 0xfb, 0x1d, 0x23, 0x66}, { 0xf3, 0x66, 0x28, 0x25, 0xcd, 0x66, 0xdd, 0x6f, 0xf3, 0x64, 0x25, 0xec, 0xcf, 0x6c, 0xe2, 0x3b}, { 0xf5, 0x49, 0x60, 0x54, 0x47, 0x2a, 0x5b, 0xe7, 0x03, 0xa3, 0x2e, 0x46, 0x20, 0x6c, 0x74, 0xab}, { 0xf5, 0xe3, 0xd3, 0xb2, 0x11, 0x78, 0x74, 0x4d, 0x12, 0x7e, 0xd7, 0x62, 0x1b, 0xe1, 0x37, 0xd4}, { 0xf6, 0x84, 0x80, 0x0c, 0xbb, 0x15, 0x24, 0xee, 0x18, 0x14, 0xf7, 0x00, 0x99, 0x79, 0x9c, 0xbe}, { 0xf6, 0xc4, 0x37, 0x8b, 0xb2, 0xc9, 0x4c, 0x02, 0x1f, 0x9d, 0x9f, 0x4b, 0x76, 0xc2, 0xac, 0x80}, { 0xf7, 0x98, 0x2f, 0x7f, 0xf0, 0x4b, 0xe3, 0xca, 0xe5, 0x2a, 0xb7, 0xdb, 0x8f, 0x24, 0x64, 0x9d}, { 0xf8, 0xea, 0x75, 0xdd, 0x36, 0x1f, 0xe5, 0x67, 0x36, 0x0a, 0xb3, 0x3e, 0xb1, 0xed, 0x59, 0x04}, { 0xfa, 0x07, 0x36, 0xf4, 0x25, 0xf7, 0xee, 0x72, 0x9a, 0xb1, 0xed, 0x21, 0xbb, 0xe4, 0x0f, 0x0b}, { 0xfc, 0x39, 0x9c, 0x55, 0x6f, 0xc6, 0x9f, 0x7c, 0x72, 0x1c, 0x38, 0xe2, 0xd5, 0x05, 0x26, 0x62}, { 0xfc, 0x8e, 0xf6, 0x69, 0x0b, 0x11, 0x47, 0xb8, 0x87, 0xac, 0xdf, 0x44, 0xc0, 0xb7, 0x8a, 0xb7}, { 0xfc, 0xe6, 0x5c, 0x0f, 0x10, 0xfb, 0x73, 0xec, 0xad, 0x03, 0x5e, 0x7d, 0x0a, 0xed, 0xba, 0x90}, { 0xfc, 0xfc, 0xb4, 0x33, 0x2a, 0x3f, 0x13, 0xde, 0xec, 0xbc, 0x03, 0x20, 0xd2, 0x18, 0x21, 0x3c}, { 0xfd, 0x41, 0x02, 0xfa, 0xa3, 0x14, 0x19, 0x22, 0x7e, 0xbb, 0x81, 0x34, 0x6f, 0x25, 0x0c, 0x33}, { 0xfd, 0x9f, 0xdc, 0x99, 0xdb, 0x9a, 0x5e, 0x7f, 0x26, 0x7b, 0xc0, 0x2d, 0x9f, 0x9e, 0xe5, 0xdf}, { 0xfd, 0xc8, 0xfc, 0xf5, 0x1d, 0xec, 0x42, 0x7d, 0x9f, 0x0e, 0xcb, 0xd2, 0x40, 0xd2, 0xce, 0xa5}, { 0xfd, 0xc9, 0x9d, 0x0d, 0x19, 0xfd, 0xae, 0x73, 0xc0, 0xdd, 0x4f, 0x2a, 0x21, 0xc9, 0x4b, 0xe6}, { 0xfd, 0xe7, 0x82, 0xe5, 0xf1, 0x43, 0x15, 0x73, 0xbd, 0x86, 0x7d, 0x16, 0x3f, 0xbf, 0x43, 0xa1}, { 0xfe, 0x23, 0xe6, 0xae, 0xa7, 0xfe, 0x94, 0x1c, 0x7d, 0x37, 0x66, 0x55, 0x32, 0x88, 0xb3, 0x27}, { 0xfe, 0x50, 0xb0, 0xe7, 0x73, 0xe5, 0x6f, 0xcc, 0x9f, 0xa7, 0xa8, 0xd1, 0xca, 0xa1, 0x1e, 0x82}, { 0xff, 0xa1, 0x93, 0x53, 0x44, 0x54, 0x31, 0x28, 0x29, 0x8b, 0x05, 0xf3, 0x1c, 0x2d, 0xb4, 0xfa}, }; int start = 0; int last = size / AOC_UUID_SIZE; int entry; int rc = 0; /* * The UUIDs entries are sorted therefore moving the start of the * inner loop is enough to minimize the search checks */ for (entry = 0; entry < AOC_UUID_ENTRIES; entry++) { const uint8_t * uuid = &(uuid_array[entry][0]); int index; rc = -1; for (index = start; index < last; index += 1) { const uint8_t * ptr; int j; ptr = &(((const uint8_t *)addr)[index * AOC_UUID_SIZE]); for (j = 0; j < AOC_UUID_SIZE; j++) { if (uuid[j] != ptr[j]) { break; } } if (j == AOC_UUID_SIZE) { if (index == start) { start += 1; } rc = 0; break; } } if (index == last) { rc = -1; break; } } return rc; } #endif /* AOC_INTERFACE_H_ */