summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorahasty <ahasty@FreeBSD.org>1997-11-17 04:00:32 +0000
committerahasty <ahasty@FreeBSD.org>1997-11-17 04:00:32 +0000
commit1938134234369ba5ecb3f8f159ed9615a77afd3b (patch)
tree8f878bbe79c4cc70f2cefe3c78b3594886d06619 /sys
parentb65c2a6c140a57a7a3bb995992df0625f0fa9ce3 (diff)
downloadFreeBSD-src-1938134234369ba5ecb3f8f159ed9615a77afd3b.zip
FreeBSD-src-1938134234369ba5ecb3f8f159ed9615a77afd3b.tar.gz
Added support for linux sound ioctls:
LINUX_SNDCTL_DSP_GETOPTR LINUX_SNDCTL_DSP_GETIPTR LINUX_SNDCTL_DSP_SETTRIGGER LINUX_SNDCTL_DSP_GETCAPS With this rev level the linux realaudio player 5 and xquake should work.
Diffstat (limited to 'sys')
-rw-r--r--sys/alpha/linux/linux.h7
-rw-r--r--sys/compat/linux/linux_ioctl.c20
-rw-r--r--sys/i386/linux/linux.h7
-rw-r--r--sys/i386/linux/linux_ioctl.c20
4 files changed, 48 insertions, 6 deletions
diff --git a/sys/alpha/linux/linux.h b/sys/alpha/linux/linux.h
index 2148aa5..ab05ee2 100644
--- a/sys/alpha/linux/linux.h
+++ b/sys/alpha/linux/linux.h
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: linux.h,v 1.16 1997/06/02 06:45:17 msmith Exp $
+ * $Id: linux.h,v 1.17 1997/10/28 10:49:57 kato Exp $
*/
#ifndef _I386_LINUX_LINUX_H_
@@ -500,6 +500,11 @@ struct trapframe;
#define LINUX_SNDCTL_DSP_GETOSPACE 0x500C
#define LINUX_SNDCTL_DSP_GETISPACE 0x500D
#define LINUX_SNDCTL_DSP_NONBLOCK 0x500E
+#define LINUX_SNDCTL_DSP_GETCAPS 0x500F
+#define LINUX_SNDCTL_DSP_GETTRIGGER 0x5010
+#define LINUX_SNDCTL_DSP_SETTRIGGER 0x5010
+#define LINUX_SNDCTL_DSP_GETIPTR 0x5011
+#define LINUX_SNDCTL_DSP_GETOPTR 0x5012
#define LINUX_SOUND_MIXER_WRITE_VOLUME 0x4d00
#define LINUX_SOUND_MIXER_WRITE_BASS 0x4d01
#define LINUX_SOUND_MIXER_WRITE_TREBLE 0x4d02
diff --git a/sys/compat/linux/linux_ioctl.c b/sys/compat/linux/linux_ioctl.c
index 6993144..aa9e844 100644
--- a/sys/compat/linux/linux_ioctl.c
+++ b/sys/compat/linux/linux_ioctl.c
@@ -1,4 +1,4 @@
-/*-
+/*
* Copyright (c) 1994-1995 Søren Schmidt
* All rights reserved.
*
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: linux_ioctl.c,v 1.20 1997/07/20 16:05:59 bde Exp $
+ * $Id: linux_ioctl.c,v 1.21 1997/11/06 19:28:55 phk Exp $
*/
#include <sys/param.h>
@@ -662,6 +662,22 @@ linux_ioctl(struct proc *p, struct linux_ioctl_args *args)
return copyout(&linux_line, (caddr_t)args->arg,
sizeof(int));
+ case LINUX_SNDCTL_DSP_GETOPTR :
+ args->cmd = SNDCTL_DSP_GETOPTR;
+ return ioctl(p, (struct ioctl_args *)args);
+
+ case LINUX_SNDCTL_DSP_GETIPTR :
+ args->cmd = SNDCTL_DSP_GETIPTR;
+ return ioctl(p, (struct ioctl_args *)args);
+
+ case LINUX_SNDCTL_DSP_SETTRIGGER:
+ args->cmd = SNDCTL_DSP_SETTRIGGER;
+ return ioctl(p, (struct ioctl_args *)args);
+
+ case LINUX_SNDCTL_DSP_GETCAPS:
+ args->cmd = SNDCTL_DSP_GETCAPS;
+ return ioctl(p, (struct ioctl_args *)args);
+
case LINUX_SNDCTL_DSP_RESET:
args->cmd = SNDCTL_DSP_RESET;
return ioctl(p, (struct ioctl_args *)args);
diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h
index 2148aa5..ab05ee2 100644
--- a/sys/i386/linux/linux.h
+++ b/sys/i386/linux/linux.h
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: linux.h,v 1.16 1997/06/02 06:45:17 msmith Exp $
+ * $Id: linux.h,v 1.17 1997/10/28 10:49:57 kato Exp $
*/
#ifndef _I386_LINUX_LINUX_H_
@@ -500,6 +500,11 @@ struct trapframe;
#define LINUX_SNDCTL_DSP_GETOSPACE 0x500C
#define LINUX_SNDCTL_DSP_GETISPACE 0x500D
#define LINUX_SNDCTL_DSP_NONBLOCK 0x500E
+#define LINUX_SNDCTL_DSP_GETCAPS 0x500F
+#define LINUX_SNDCTL_DSP_GETTRIGGER 0x5010
+#define LINUX_SNDCTL_DSP_SETTRIGGER 0x5010
+#define LINUX_SNDCTL_DSP_GETIPTR 0x5011
+#define LINUX_SNDCTL_DSP_GETOPTR 0x5012
#define LINUX_SOUND_MIXER_WRITE_VOLUME 0x4d00
#define LINUX_SOUND_MIXER_WRITE_BASS 0x4d01
#define LINUX_SOUND_MIXER_WRITE_TREBLE 0x4d02
diff --git a/sys/i386/linux/linux_ioctl.c b/sys/i386/linux/linux_ioctl.c
index 6993144..aa9e844 100644
--- a/sys/i386/linux/linux_ioctl.c
+++ b/sys/i386/linux/linux_ioctl.c
@@ -1,4 +1,4 @@
-/*-
+/*
* Copyright (c) 1994-1995 Søren Schmidt
* All rights reserved.
*
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: linux_ioctl.c,v 1.20 1997/07/20 16:05:59 bde Exp $
+ * $Id: linux_ioctl.c,v 1.21 1997/11/06 19:28:55 phk Exp $
*/
#include <sys/param.h>
@@ -662,6 +662,22 @@ linux_ioctl(struct proc *p, struct linux_ioctl_args *args)
return copyout(&linux_line, (caddr_t)args->arg,
sizeof(int));
+ case LINUX_SNDCTL_DSP_GETOPTR :
+ args->cmd = SNDCTL_DSP_GETOPTR;
+ return ioctl(p, (struct ioctl_args *)args);
+
+ case LINUX_SNDCTL_DSP_GETIPTR :
+ args->cmd = SNDCTL_DSP_GETIPTR;
+ return ioctl(p, (struct ioctl_args *)args);
+
+ case LINUX_SNDCTL_DSP_SETTRIGGER:
+ args->cmd = SNDCTL_DSP_SETTRIGGER;
+ return ioctl(p, (struct ioctl_args *)args);
+
+ case LINUX_SNDCTL_DSP_GETCAPS:
+ args->cmd = SNDCTL_DSP_GETCAPS;
+ return ioctl(p, (struct ioctl_args *)args);
+
case LINUX_SNDCTL_DSP_RESET:
args->cmd = SNDCTL_DSP_RESET;
return ioctl(p, (struct ioctl_args *)args);
OpenPOWER on IntegriCloud