treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156
[linux-block.git] / sound / core / seq / oss / seq_oss_timer.h
CommitLineData
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
17struct 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
27struct seq_oss_timer *snd_seq_oss_timer_new(struct seq_oss_devinfo *dp);
28void snd_seq_oss_timer_delete(struct seq_oss_timer *dp);
1da177e4 29
080dece3
TI
30int snd_seq_oss_timer_start(struct seq_oss_timer *timer);
31int snd_seq_oss_timer_stop(struct seq_oss_timer *timer);
32int snd_seq_oss_timer_continue(struct seq_oss_timer *timer);
33int 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 36int 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 */
41static inline abstime_t
080dece3 42snd_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 */
51static inline int
080dece3 52snd_seq_oss_timer_is_realtime(struct seq_oss_timer *timer)
1da177e4
LT
53{
54 return timer->realtime;
55}
56
57#endif