• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* hw_params */
2 struct snd_ext_parm {
3 	unsigned int min, max;
4 	unsigned int num_list;
5 	unsigned int *list;
6 	unsigned int active: 1;
7 	unsigned int integer: 1;
8 	unsigned int keep_link: 1;
9 };
10 
hw_param_mask(snd_pcm_hw_params_t * params,snd_pcm_hw_param_t var)11 static inline snd_mask_t *hw_param_mask(snd_pcm_hw_params_t *params,
12 					snd_pcm_hw_param_t var)
13 {
14 	return &params->masks[var - SND_PCM_HW_PARAM_FIRST_MASK];
15 }
16 
hw_param_interval(snd_pcm_hw_params_t * params,snd_pcm_hw_param_t var)17 static inline snd_interval_t *hw_param_interval(snd_pcm_hw_params_t *params,
18 						snd_pcm_hw_param_t var)
19 {
20 	return &params->intervals[var - SND_PCM_HW_PARAM_FIRST_INTERVAL];
21 }
22 
23 /* make local functions really local */
24 #define snd_ext_parm_set_minmax \
25 	snd1_ext_parm_set_minmax
26 #define snd_ext_parm_set_list \
27 	snd1_ext_parm_set_list
28 #define snd_ext_parm_clear \
29 	snd1_ext_parm_clear
30 #define snd_interval_list \
31 	snd1_interval_list
32 #define snd_ext_parm_interval_refine \
33 	snd1_ext_parm_interval_refine
34 #define snd_ext_parm_mask_refine \
35 	snd1_ext_parm_mask_refine
36 
37 int snd_ext_parm_set_minmax(struct snd_ext_parm *parm, unsigned int min, unsigned int max);
38 int snd_ext_parm_set_list(struct snd_ext_parm *parm, unsigned int num_list, const unsigned int *list);
39 void snd_ext_parm_clear(struct snd_ext_parm *parm);
40 int snd_interval_list(snd_interval_t *ival, int num_list, unsigned int *list);
41 int snd_ext_parm_interval_refine(snd_interval_t *ival, struct snd_ext_parm *parm, int type);
42 int snd_ext_parm_mask_refine(snd_mask_t *mask, struct snd_ext_parm *parm, int type);
43