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 }; 9 10 static inline snd_mask_t *hw_param_mask(snd_pcm_hw_params_t *params, 11 snd_pcm_hw_param_t var) 12 { 13 return ¶ms->masks[var - SND_PCM_HW_PARAM_FIRST_MASK]; 14 } 15 16 static inline snd_interval_t *hw_param_interval(snd_pcm_hw_params_t *params, 17 snd_pcm_hw_param_t var) 18 { 19 return ¶ms->intervals[var - SND_PCM_HW_PARAM_FIRST_INTERVAL]; 20 } 21 22 /* make local functions really local */ 23 #define snd_ext_parm_set_minmax \ 24 snd1_ext_parm_set_minmax 25 #define snd_ext_parm_set_list \ 26 snd1_ext_parm_set_list 27 #define snd_ext_parm_clear \ 28 snd1_ext_parm_clear 29 #define snd_interval_list \ 30 snd1_interval_list 31 #define snd_ext_parm_interval_refine \ 32 snd1_ext_parm_interval_refine 33 #define snd_ext_parm_mask_refine \ 34 snd1_ext_parm_mask_refine 35 36 int snd_ext_parm_set_minmax(struct snd_ext_parm *parm, unsigned int min, unsigned int max); 37 int snd_ext_parm_set_list(struct snd_ext_parm *parm, unsigned int num_list, const unsigned int *list); 38 void snd_ext_parm_clear(struct snd_ext_parm *parm); 39 int snd_interval_list(snd_interval_t *ival, int num_list, unsigned int *list); 40 int snd_ext_parm_interval_refine(snd_interval_t *ival, struct snd_ext_parm *parm, int type); 41 int snd_ext_parm_mask_refine(snd_mask_t *mask, struct snd_ext_parm *parm, int type); 42