ucm: add exec sequence command

This change renames the original exec command to shell which
is more appropriate. Implement a light version of the exec
command which calls directly the specified executable without
the shell interaction (man 3 system).

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Jaroslav Kysela 2021-05-11 14:48:16 +02:00
parent a468505c96
commit 590df3a5b1
6 changed files with 312 additions and 7 deletions

View file

@ -49,12 +49,13 @@
#define SEQUENCE_ELEMENT_TYPE_CSET 2
#define SEQUENCE_ELEMENT_TYPE_SLEEP 3
#define SEQUENCE_ELEMENT_TYPE_EXEC 4
#define SEQUENCE_ELEMENT_TYPE_CSET_BIN_FILE 5
#define SEQUENCE_ELEMENT_TYPE_CSET_TLV 6
#define SEQUENCE_ELEMENT_TYPE_CSET_NEW 7
#define SEQUENCE_ELEMENT_TYPE_CTL_REMOVE 8
#define SEQUENCE_ELEMENT_TYPE_CMPT_SEQ 9
#define SEQUENCE_ELEMENT_TYPE_SYSSET 10
#define SEQUENCE_ELEMENT_TYPE_SHELL 5
#define SEQUENCE_ELEMENT_TYPE_CSET_BIN_FILE 6
#define SEQUENCE_ELEMENT_TYPE_CSET_TLV 7
#define SEQUENCE_ELEMENT_TYPE_CSET_NEW 8
#define SEQUENCE_ELEMENT_TYPE_CTL_REMOVE 9
#define SEQUENCE_ELEMENT_TYPE_CMPT_SEQ 10
#define SEQUENCE_ELEMENT_TYPE_SYSSET 11
struct ucm_value {
struct list_head list;
@ -356,6 +357,8 @@ int uc_mgr_define_regex(snd_use_case_mgr_t *uc_mgr,
const char *name,
snd_config_t *eval);
int uc_mgr_exec(const char *prog);
/** The name of the environment variable containing the UCM directory */
#define ALSA_CONFIG_UCM_VAR "ALSA_CONFIG_UCM"