Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * OSS compatible sequencer driver
0004  * write priority queue
0005  *
0006  * Copyright (C) 1998,99 Takashi Iwai <tiwai@suse.de>
0007  */
0008 
0009 #ifndef __SEQ_OSS_WRITEQ_H
0010 #define __SEQ_OSS_WRITEQ_H
0011 
0012 #include "seq_oss_device.h"
0013 
0014 
0015 struct seq_oss_writeq {
0016     struct seq_oss_devinfo *dp;
0017     int maxlen;
0018     abstime_t sync_time;
0019     int sync_event_put;
0020     wait_queue_head_t sync_sleep;
0021     spinlock_t sync_lock;
0022 };
0023 
0024 
0025 /*
0026  * seq_oss_writeq.c
0027  */
0028 struct seq_oss_writeq *snd_seq_oss_writeq_new(struct seq_oss_devinfo *dp, int maxlen);
0029 void snd_seq_oss_writeq_delete(struct seq_oss_writeq *q);
0030 void snd_seq_oss_writeq_clear(struct seq_oss_writeq *q);
0031 int snd_seq_oss_writeq_sync(struct seq_oss_writeq *q);
0032 void snd_seq_oss_writeq_wakeup(struct seq_oss_writeq *q, abstime_t time);
0033 int snd_seq_oss_writeq_get_free_size(struct seq_oss_writeq *q);
0034 void snd_seq_oss_writeq_set_output(struct seq_oss_writeq *q, int size);
0035 
0036 
0037 #endif