1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * OSS compatible sequencer driver
4 * write priority queue
5 *
6 * Copyright (C) 1998,99 Takashi Iwai <tiwai@suse.de>
7 */
8
9#ifndef __SEQ_OSS_WRITEQ_H
10#define __SEQ_OSS_WRITEQ_H
11
12#include "seq_oss_device.h"
13
14
15struct seq_oss_writeq {
16	struct seq_oss_devinfo *dp;
17	int maxlen;
18	abstime_t sync_time;
19	int sync_event_put;
20	wait_queue_head_t sync_sleep;
21	spinlock_t sync_lock;
22};
23
24
25/*
26 * seq_oss_writeq.c
27 */
28struct seq_oss_writeq *snd_seq_oss_writeq_new(struct seq_oss_devinfo *dp, int maxlen);
29void snd_seq_oss_writeq_delete(struct seq_oss_writeq *q);
30void snd_seq_oss_writeq_clear(struct seq_oss_writeq *q);
31int snd_seq_oss_writeq_sync(struct seq_oss_writeq *q);
32void snd_seq_oss_writeq_wakeup(struct seq_oss_writeq *q, abstime_t time);
33int snd_seq_oss_writeq_get_free_size(struct seq_oss_writeq *q);
34void snd_seq_oss_writeq_set_output(struct seq_oss_writeq *q, int size);
35
36
37#endif
38