14d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/****************************************************************************
24d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ****************************************************************************
34d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***
44d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   This header was automatically generated from a Linux kernel header
54d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   of the same name, to make information necessary for userspace to
64d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   call into the kernel available to libc.  It contains only constants,
74d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   structures, and macros generated from the original header, and thus,
84d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   contains no copyrightable information.
94d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***
104d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   To edit the content of this header, modify the corresponding
114d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   source file (e.g. under external/kernel-headers/original/) then
124d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   run bionic/libc/kernel/tools/update_all.py
134d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***
144d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   Any manual change here will be lost the next time this script will
154d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   be run. You've been warned!
164d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***
174d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ****************************************************************************
184d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ****************************************************************************/
194d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#ifndef _UAPI_LSM_PARAMS_H__
204d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define _UAPI_LSM_PARAMS_H__
214d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#include <linux/types.h>
224d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#include <sound/asound.h>
234d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define SNDRV_LSM_VERSION SNDRV_PROTOCOL_VERSION(0, 1, 0)
254d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinenum lsm_app_id {
264d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin LSM_VOICE_WAKEUP_APP_ID = 1,
274d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin LSM_VOICE_WAKEUP_APP_ID_V2 = 2,
284d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
304d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinenum lsm_detection_mode {
314d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin LSM_MODE_KEYWORD_ONLY_DETECTION = 1,
324d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin LSM_MODE_USER_KEYWORD_DETECTION
334d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
354d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinenum lsm_vw_status {
364d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin LSM_VOICE_WAKEUP_STATUS_RUNNING = 1,
374d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin LSM_VOICE_WAKEUP_STATUS_DETECTED,
384d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin LSM_VOICE_WAKEUP_STATUS_END_SPEECH,
404d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin LSM_VOICE_WAKEUP_STATUS_REJECTED
414d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
424d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinstruct snd_lsm_sound_model {
434d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u8 __user *data;
454d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u32 data_size;
464d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin enum lsm_detection_mode detection_mode;
474d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u16 min_keyw_confidence;
484d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u16 min_user_confidence;
504d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin bool detect_failure;
514d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
524d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinstruct snd_lsm_sound_model_v2 {
534d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u8 __user *data;
554d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u8 *confidence_level;
564d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u32 data_size;
574d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin enum lsm_detection_mode detection_mode;
584d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u8 num_confidence_levels;
604d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin bool detect_failure;
614d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
624d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinstruct snd_lsm_session_data {
634d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin enum lsm_app_id app_id;
654d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
664d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinstruct snd_lsm_event_status {
674d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u16 status;
684d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
694d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u16 payload_size;
704d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u8 payload[0];
714d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
724d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinstruct snd_lsm_detection_params {
734d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
744d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u8 *conf_level;
754d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin enum lsm_detection_mode detect_mode;
764d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u8 num_confidence_levels;
774d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin bool detect_failure;
784d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
804d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define SNDRV_LSM_REG_SND_MODEL _IOW('U', 0x00, struct snd_lsm_sound_model)
814d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define SNDRV_LSM_DEREG_SND_MODEL _IOW('U', 0x01, int)
824d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define SNDRV_LSM_EVENT_STATUS _IOW('U', 0x02, struct snd_lsm_event_status)
834d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
844d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define SNDRV_LSM_ABORT_EVENT _IOW('U', 0x03, int)
854d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define SNDRV_LSM_START _IOW('U', 0x04, int)
864d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define SNDRV_LSM_STOP _IOW('U', 0x05, int)
874d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define SNDRV_LSM_SET_SESSION_DATA _IOW('U', 0x06, struct snd_lsm_session_data)
884d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
894d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define SNDRV_LSM_REG_SND_MODEL_V2 _IOW('U', 0x07,  struct snd_lsm_sound_model_v2)
904d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define SNDRV_LSM_LAB_CONTROL _IOW('U', 0x08, uint32_t)
914d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define SNDRV_LSM_STOP_LAB _IO('U', 0x09)
924d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define SNDRV_LSM_SET_PARAMS _IOW('U', 0x0A,   struct snd_lsm_detection_params)
934d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
944d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#endif
954d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin
96