Date: Sat, 26 Jul 1997 15:54:01 -0400 From: "Louis A. Mamakos" <louie@TransSys.COM> To: Amancio Hasty <hasty@rah.star-gate.com> Cc: multimedia@FreeBSD.ORG Subject: Re: ftp://rah.star-gate.com/pub/guspnp12.tar.gz Message-ID: <199707261954.PAA00871@whizzo.TransSys.COM> In-Reply-To: Your message of "Wed, 23 Jul 1997 19:40:57 PDT." <199707240240.TAA08628@rah.star-gate.com> References: <199707240240.TAA08628@rah.star-gate.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multipart MIME message.
--==_Exmh_20290887880
Content-Type: text/plain; charset=us-ascii
Ok, I made my change to soundcard.h, and now /usr/sbin/mixer can be
rebuilt with guspnp11 and it works! Attached is the diff.
I can see how this broke now; the mistaken value for IOC_OUT is
currently interpreted by the kernel as IOC_VOID, which would result
in nothing being copied out.
louie
--==_Exmh_20290887880
Content-Type: text/plain ; name="diff1"; charset=us-ascii
Content-Description: diff1
Content-Disposition: attachment; filename="diff1"
--- soundcard.h.orig Mon Jul 21 21:39:40 1997
+++ soundcard.h Sat Jul 26 15:46:26 1997
@@ -83,26 +83,7 @@
*/
#ifndef _IOWR
-/* @(#)ioctlp.h */
-
-/* Ioctl's have the command encoded in the lower word,
- * and the size of any in or out parameters in the upper
- * word. The high 2 bits of the upper word are used
- * to encode the in/out status of the parameter; for now
- * we restrict parameters to at most 128 bytes.
- */
-/* #define IOCTYPE (0xff<<8) */
-#define IOCPARM_MASK 0x7f /* parameters must be < 128 bytes */
-#define IOC_VOID 0x00000000 /* no parameters */
-#define IOC_OUT 0x20000000 /* copy out parameters */
-#define IOC_IN 0x40000000 /* copy in parameters */
-#define IOC_INOUT (IOC_IN|IOC_OUT)
-/* the 0x20000000 is so we can distinguish new ioctl's from old */
-#define _IO(x,y) ((int)(IOC_VOID|(x<<8)|y))
-#define _IOR(x,y,t) ((int)(IOC_OUT|((sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y))
-#define _IOW(x,y,t) ((int)(IOC_IN|((sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y))
-/* this should be _IORW, but stdio got there first */
-#define _IOWR(x,y,t) ((int)(IOC_INOUT|((sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y))
+#include <sys/ioccom.h>
#endif /* !_IOWR */
#define SNDCTL_SEQ_RESET _IO ('Q', 0)
--==_Exmh_20290887880--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707261954.PAA00871>
