From avatar@brahms.mmlab.cse.yzu.edu.tw  Wed Nov 11 16:27:40 1998
Received: from brahms.mmlab.cse.yzu.edu.tw (brahms.mmlab.cse.yzu.edu.tw [140.138.145.183])
          by hub.freebsd.org (8.8.8/8.8.8) with SMTP id QAA26483
          for <FreeBSD-gnats-submit@freebsd.org>; Wed, 11 Nov 1998 16:24:40 -0800 (PST)
          (envelope-from avatar@brahms.mmlab.cse.yzu.edu.tw)
Received: (qmail 19263 invoked by uid 1000); 12 Nov 1998 00:23:34 -0000
Message-Id: <19981112002334.19262.qmail@brahms.mmlab.cse.yzu.edu.tw>
Date: 12 Nov 1998 00:23:34 -0000
From: avatar@www.mmlab.cse.yzu.edu.tw
Reply-To: avatar@www.mmlab.cse.yzu.edu.tw
To: FreeBSD-gnats-submit@freebsd.org
Subject: missing sound ioctl calls in -current linux emulator
X-Send-Pr-Version: 3.2

>Number:         8656
>Category:       kern
>Synopsis:       missing sound ioctl calls in -current linux emulator
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    gnats-admin
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Nov 11 16:30:01 PST 1998
>Closed-Date:    Wed Nov 11 16:42:11 PST 1998
>Last-Modified:  Wed Oct 26 05:39:11 GMT 2005
>Originator:     Avatar Liang
>Release:        FreeBSD 3.0-RELEASE i386
>Organization:
Multimedia Laboratory at Yuan Zhi University
>Environment:
FreeBSD haydn.mmlab.cse.yzu.edu.tw 3.0-RELEASE FreeBSD 3.0-RELEASE #7: Thu Nov
12 07:52:09 CST 1998 root@haydn.mmlab.cse.yzu.edu.tw:/usr/src/sys/compile/haydn
i386
	

>Description:
Some sound related ioctl calls submitted in PR/7792 was not committed to
-current(already folded into -stable).
	

>How-To-Repeat:
Just take a look at /sys/i386/linux/linux_ioctl.c 1.11.2.7 & 1.29, about the
LINUX_SNDCTL_SEQ_XXX, LINUX_SNDCTL_SYNTH_XXX....
	

>Fix:
Attached is the patch against -current(linux_ioctl.c 1.29 & linux.h 1.23).
Please check and apply it, thanks.
	

diff -ruN /sys/i386/linux.old/linux.h /sys/i386/linux/linux.h
--- /sys/i386/linux.old/linux.h	Tue Oct  6 00:37:36 1998
+++ /sys/i386/linux/linux.h	Thu Nov 12 08:03:13 1998
@@ -512,6 +512,21 @@
 #define LINUX_IP_DROP_MEMBERSHIP	36
 
 /* Sound system defines */
+#define LINUX_SNDCTL_SEQ_RESET		0x5100
+#define LINUX_SNDCTL_SEQ_SYNC		0x5101
+#define LINUX_SNDCTL_SYNTH_INFO		0x5102
+#define LINUX_SNDCTL_SEQ_CTRLRATE	0x5103
+#define LINUX_SNDCTL_SEQ_GETOUTCOUNT	0x5104
+#define LINUX_SNDCTL_SEQ_GETINCOUNT	0x5105
+#define LINUX_SNDCTL_SEQ_PERCMODE	0x5106
+#define LINUX_SNDCTL_FM_LOAD_INSTR	0x5107
+#define LINUX_SNDCTL_SEQ_TESTMIDI	0x5108
+#define LINUX_SNDCTL_SEQ_RESETSAMPLES	0x5109
+#define LINUX_SNDCTL_SEQ_NRSYNTHS	0x510A
+#define LINUX_SNDCTL_SEQ_NRMIDIS	0x510B
+#define LINUX_SNDCTL_MIDI_INFO		0x510C
+#define LINUX_SNDCTL_SEQ_TRESHOLD	0x510D
+#define LINUX_SNDCTL_SYNTH_MEMAVL	0x510E
 #define LINUX_SNDCTL_DSP_RESET		0x5000
 #define LINUX_SNDCTL_DSP_SYNC		0x5001
 #define LINUX_SNDCTL_DSP_SPEED		0x5002
diff -ruN /sys/i386/linux.old/linux_ioctl.c /sys/i386/linux/linux_ioctl.c
--- /sys/i386/linux.old/linux_ioctl.c	Wed Sep 30 09:42:53 1998
+++ /sys/i386/linux/linux_ioctl.c	Thu Nov 12 08:03:13 1998
@@ -683,6 +683,66 @@
 	return copyout(&linux_line, (caddr_t)args->arg, 
 		       sizeof(int));
 
+    case LINUX_SNDCTL_SEQ_RESET:
+	args->cmd = SNDCTL_SEQ_RESET;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_SEQ_SYNC:
+	args->cmd = SNDCTL_SEQ_SYNC;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_SYNTH_INFO:
+	args->cmd = SNDCTL_SYNTH_INFO;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_SEQ_CTRLRATE:
+	args->cmd = SNDCTL_SEQ_CTRLRATE;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_SEQ_GETOUTCOUNT:
+	args->cmd = SNDCTL_SEQ_GETOUTCOUNT;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_SEQ_GETINCOUNT:
+	args->cmd = SNDCTL_SEQ_GETINCOUNT;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_SEQ_PERCMODE:
+	args->cmd = SNDCTL_SEQ_PERCMODE;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_FM_LOAD_INSTR:
+	args->cmd = SNDCTL_FM_LOAD_INSTR;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_SEQ_TESTMIDI:
+	args->cmd = SNDCTL_SEQ_TESTMIDI;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_SEQ_RESETSAMPLES:
+	args->cmd = SNDCTL_SEQ_RESETSAMPLES;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_SEQ_NRSYNTHS:
+	args->cmd = SNDCTL_SEQ_NRSYNTHS;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_SEQ_NRMIDIS:
+	args->cmd = SNDCTL_SEQ_NRMIDIS;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_MIDI_INFO:
+	args->cmd = SNDCTL_MIDI_INFO;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_SEQ_TRESHOLD:
+	args->cmd = SNDCTL_SEQ_TRESHOLD;
+	return ioctl(p, (struct ioctl_args *)args);
+
+    case LINUX_SNDCTL_SYNTH_MEMAVL:
+	args->cmd = SNDCTL_SYNTH_MEMAVL;
+	return ioctl(p, (struct ioctl_args *)args);
+
     case LINUX_SNDCTL_DSP_GETOPTR :
 	args->cmd = SNDCTL_DSP_GETOPTR;
 	return ioctl(p, (struct ioctl_args *)args);
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: jkh 
State-Changed-When: Wed Nov 11 16:42:11 PST 1998 
State-Changed-Why:  
Merged, thanks! 
>Unformatted:
