1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * OSS compatible sequencer driver
4  *
5  * synth device information
6  *
7  * Copyright (C) 1998,99 Takashi Iwai <tiwai@suse.de>
8  */
9 
10 #ifndef __SEQ_OSS_SYNTH_H
11 #define __SEQ_OSS_SYNTH_H
12 
13 #include "seq_oss_device.h"
14 #include <sound/seq_oss_legacy.h>
15 #include <sound/seq_device.h>
16 
17 void snd_seq_oss_synth_init(void);
18 int snd_seq_oss_synth_probe(struct device *dev);
19 int snd_seq_oss_synth_remove(struct device *dev);
20 void snd_seq_oss_synth_setup(struct seq_oss_devinfo *dp);
21 void snd_seq_oss_synth_setup_midi(struct seq_oss_devinfo *dp);
22 void snd_seq_oss_synth_cleanup(struct seq_oss_devinfo *dp);
23 
24 void snd_seq_oss_synth_reset(struct seq_oss_devinfo *dp, int dev);
25 int snd_seq_oss_synth_load_patch(struct seq_oss_devinfo *dp, int dev, int fmt,
26 				 const char __user *buf, int p, int c);
27 struct seq_oss_synthinfo *snd_seq_oss_synth_info(struct seq_oss_devinfo *dp,
28 						 int dev);
29 int snd_seq_oss_synth_sysex(struct seq_oss_devinfo *dp, int dev, unsigned char *buf,
30 			    struct snd_seq_event *ev);
31 int snd_seq_oss_synth_addr(struct seq_oss_devinfo *dp, int dev, struct snd_seq_event *ev);
32 int snd_seq_oss_synth_ioctl(struct seq_oss_devinfo *dp, int dev, unsigned int cmd,
33 			    unsigned long addr);
34 int snd_seq_oss_synth_raw_event(struct seq_oss_devinfo *dp, int dev,
35 				unsigned char *data, struct snd_seq_event *ev);
36 
37 int snd_seq_oss_synth_make_info(struct seq_oss_devinfo *dp, int dev, struct synth_info *inf);
38 
39 #endif
40