Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / sound / core / seq / oss / seq_oss_synth.h
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