Linux-libre 5.4-rc7-gnu
[librecmc/linux-libre.git] / sound / core / seq / oss / seq_oss_writeq.h
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
15 struct 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  */
28 struct seq_oss_writeq *snd_seq_oss_writeq_new(struct seq_oss_devinfo *dp, int maxlen);
29 void snd_seq_oss_writeq_delete(struct seq_oss_writeq *q);
30 void snd_seq_oss_writeq_clear(struct seq_oss_writeq *q);
31 int snd_seq_oss_writeq_sync(struct seq_oss_writeq *q);
32 void snd_seq_oss_writeq_wakeup(struct seq_oss_writeq *q, abstime_t time);
33 int snd_seq_oss_writeq_get_free_size(struct seq_oss_writeq *q);
34 void snd_seq_oss_writeq_set_output(struct seq_oss_writeq *q, int size);
35
36
37 #endif