28 int (*close)(snd_timer_t *timer);
29 int (*nonblock)(snd_timer_t *timer,
int nonblock);
30 int (*async)(snd_timer_t *timer,
int sig, pid_t pid);
31 int (*info)(snd_timer_t *timer, snd_timer_info_t *info);
32 int (*params)(snd_timer_t *timer, snd_timer_params_t *params);
33 int (*status)(snd_timer_t *timer, snd_timer_status_t *status);
34 int (*rt_start)(snd_timer_t *timer);
35 int (*rt_stop)(snd_timer_t *timer);
36 int (*rt_continue)(snd_timer_t *timer);
37 ssize_t (*read)(snd_timer_t *timer,
void *buffer,
size_t size);
44 snd_timer_type_t type;
47 const snd_timer_ops_t *ops;
49 struct list_head async_handlers;
53 int (*close)(snd_timer_query_t *timer);
54 int (*next_device)(snd_timer_query_t *timer, snd_timer_id_t *tid);
55 int (*info)(snd_timer_query_t *timer, snd_timer_ginfo_t *info);
56 int (*params)(snd_timer_query_t *timer, snd_timer_gparams_t *info);
57 int (*status)(snd_timer_query_t *timer, snd_timer_gstatus_t *info);
58} snd_timer_query_ops_t;
60struct _snd_timer_query {
63 snd_timer_type_t type;
66 const snd_timer_query_ops_t *ops;
71int snd_timer_hw_open(snd_timer_t **handle,
const char *name,
int dev_class,
int dev_sclass,
int card,
int device,
int subdevice,
int mode);
73int snd_timer_query_hw_open(snd_timer_query_t **handle,
const char *name,
int mode);
75int snd_timer_async(snd_timer_t *timer,
int sig, pid_t pid);
78int INTERNAL(snd_timer_params_set_exclusive)(snd_timer_params_t * params,
int exclusive);
79int INTERNAL(snd_timer_params_get_exclusive)(snd_timer_params_t * params);
80void INTERNAL(snd_timer_params_set_filter)(snd_timer_params_t * params,
unsigned int filter);
81unsigned int INTERNAL(snd_timer_params_get_filter)(snd_timer_params_t * params);
82int INTERNAL(snd_timer_query_info)(snd_timer_query_t *timer, snd_timer_ginfo_t *info);
83int INTERNAL(snd_timer_query_params)(snd_timer_query_t *timer, snd_timer_gparams_t *params);
84int INTERNAL(snd_timer_query_status)(snd_timer_query_t *timer, snd_timer_gstatus_t *status);