linux/sound/core/seq/oss/seq_oss_timer.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/*
   3 * OSS compatible sequencer driver
   4 * timer handling routines
   5 *
   6 * Copyright (C) 1998,99 Takashi Iwai <tiwai@suse.de>
   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 */
  17struct seq_oss_timer {
  18        struct seq_oss_devinfo *dp;
  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
  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);
  29
  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);
  34#define snd_seq_oss_timer_reset  snd_seq_oss_timer_start
  35
  36int snd_seq_oss_timer_ioctl(struct seq_oss_timer *timer, unsigned int cmd, int __user *arg);
  37
  38/*
  39 * get current processed time
  40 */
  41static inline abstime_t
  42snd_seq_oss_timer_cur_tick(struct seq_oss_timer *timer)
  43{
  44        return timer->cur_tick;
  45}
  46
  47#endif
  48