Merge tag 'v3.3.7' into 3.3/master
[zen-stable.git] / sound / core / seq / oss / seq_oss_writeq.h
blobc469d29675665478d8d2fbe850054bfa7b1e152b
1 /*
2 * OSS compatible sequencer driver
3 * write priority queue
5 * Copyright (C) 1998,99 Takashi Iwai <tiwai@suse.de>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 #ifndef __SEQ_OSS_WRITEQ_H
23 #define __SEQ_OSS_WRITEQ_H
25 #include "seq_oss_device.h"
28 struct seq_oss_writeq {
29 struct seq_oss_devinfo *dp;
30 int maxlen;
31 abstime_t sync_time;
32 int sync_event_put;
33 wait_queue_head_t sync_sleep;
34 spinlock_t sync_lock;
39 * seq_oss_writeq.c
41 struct seq_oss_writeq *snd_seq_oss_writeq_new(struct seq_oss_devinfo *dp, int maxlen);
42 void snd_seq_oss_writeq_delete(struct seq_oss_writeq *q);
43 void snd_seq_oss_writeq_clear(struct seq_oss_writeq *q);
44 int snd_seq_oss_writeq_sync(struct seq_oss_writeq *q);
45 void snd_seq_oss_writeq_wakeup(struct seq_oss_writeq *q, abstime_t time);
46 int snd_seq_oss_writeq_get_free_size(struct seq_oss_writeq *q);
47 void snd_seq_oss_writeq_set_output(struct seq_oss_writeq *q, int size);
50 #endif