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>