28 #ifndef __ALSA_TIMER_H
29 #define __ALSA_TIMER_H
42 #define SND_TIMER_DLSYM_VERSION _dlsym_timer_001
44 #define SND_TIMER_QUERY_DLSYM_VERSION _dlsym_timer_query_001
61 typedef enum _snd_timer_class {
71 typedef enum _snd_timer_slave_class {
80 typedef enum _snd_timer_event {
81 SND_TIMER_EVENT_RESOLUTION = 0,
83 SND_TIMER_EVENT_START,
85 SND_TIMER_EVENT_CONTINUE,
86 SND_TIMER_EVENT_PAUSE,
87 SND_TIMER_EVENT_EARLY,
88 SND_TIMER_EVENT_SUSPEND,
89 SND_TIMER_EVENT_RESUME,
91 SND_TIMER_EVENT_MSTART = SND_TIMER_EVENT_START + 10,
92 SND_TIMER_EVENT_MSTOP = SND_TIMER_EVENT_STOP + 10,
93 SND_TIMER_EVENT_MCONTINUE = SND_TIMER_EVENT_CONTINUE + 10,
94 SND_TIMER_EVENT_MPAUSE = SND_TIMER_EVENT_PAUSE + 10,
95 SND_TIMER_EVENT_MSUSPEND = SND_TIMER_EVENT_SUSPEND + 10,
96 SND_TIMER_EVENT_MRESUME = SND_TIMER_EVENT_RESUME + 10
100 typedef struct _snd_timer_read {
106 typedef struct _snd_timer_tread {
113 #define SND_TIMER_GLOBAL_SYSTEM 0
115 #define SND_TIMER_GLOBAL_RTC 1
117 #define SND_TIMER_GLOBAL_HPET 2
119 #define SND_TIMER_GLOBAL_HRTIMER 3
122 #define SND_TIMER_OPEN_NONBLOCK (1<<0)
124 #define SND_TIMER_OPEN_TREAD (1<<1)
127 typedef enum _snd_timer_type {
169 #define snd_timer_id_alloca(ptr) __snd_alloca(ptr, snd_timer_id)
187 #define snd_timer_ginfo_alloca(ptr) __snd_alloca(ptr, snd_timer_ginfo)
205 #define snd_timer_info_alloca(ptr) __snd_alloca(ptr, snd_timer_info)
218 #define snd_timer_params_alloca(ptr) __snd_alloca(ptr, snd_timer_params)
238 #define snd_timer_status_alloca(ptr) __snd_alloca(ptr, snd_timer_status)