Commit | Line | Data |
---|---|---|
1a59d1b8 | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
1da177e4 LT |
2 | /* |
3 | * OSS compatible sequencer driver | |
4 | * timer handling routines | |
5 | * | |
6 | * Copyright (C) 1998,99 Takashi Iwai <tiwai@suse.de> | |
1da177e4 LT |
7 | */ |
8 | ||
9 | #ifndef __SEQ_OSS_TIMER_H | |
10 | #define __SEQ_OSS_TIMER_H | |
11 | ||
12 | #include "seq_oss_device.h" | |
13 | ||
14 | /* | |
15 | * timer information definition | |
16 | */ | |
080dece3 TI |
17 | struct seq_oss_timer { |
18 | struct seq_oss_devinfo *dp; | |
1da177e4 LT |
19 | reltime_t cur_tick; |
20 | int realtime; | |
21 | int running; | |
22 | int tempo, ppq; /* ALSA queue */ | |
23 | int oss_tempo, oss_timebase; | |
24 | }; | |
25 | ||
26 | ||
080dece3 TI |
27 | struct seq_oss_timer *snd_seq_oss_timer_new(struct seq_oss_devinfo *dp); |
28 | void snd_seq_oss_timer_delete(struct seq_oss_timer *dp); | |
1da177e4 | 29 | |
080dece3 TI |
30 | int snd_seq_oss_timer_start(struct seq_oss_timer *timer); |
31 | int snd_seq_oss_timer_stop(struct seq_oss_timer *timer); | |
32 | int snd_seq_oss_timer_continue(struct seq_oss_timer *timer); | |
33 | int snd_seq_oss_timer_tempo(struct seq_oss_timer *timer, int value); | |
1da177e4 LT |
34 | #define snd_seq_oss_timer_reset snd_seq_oss_timer_start |
35 | ||
080dece3 | 36 | int snd_seq_oss_timer_ioctl(struct seq_oss_timer *timer, unsigned int cmd, int __user *arg); |
1da177e4 LT |
37 | |
38 | /* | |
39 | * get current processed time | |
40 | */ | |
41 | static inline abstime_t | |
080dece3 | 42 | snd_seq_oss_timer_cur_tick(struct seq_oss_timer *timer) |
1da177e4 LT |
43 | { |
44 | return timer->cur_tick; | |
45 | } | |
46 | ||
47 | ||
48 | /* | |
49 | * is realtime event? | |
50 | */ | |
51 | static inline int | |
080dece3 | 52 | snd_seq_oss_timer_is_realtime(struct seq_oss_timer *timer) |
1da177e4 LT |
53 | { |
54 | return timer->realtime; | |
55 | } | |
56 | ||
57 | #endif |