Date: Sat, 26 Jul 1997 12:57:42 -0700 From: Amancio Hasty <hasty@rah.star-gate.com> To: "Louis A. Mamakos" <louie@TransSys.COM> Cc: multimedia@FreeBSD.ORG Subject: Re: ftp://rah.star-gate.com/pub/guspnp12.tar.gz Message-ID: <199707261957.MAA10752@rah.star-gate.com> In-Reply-To: Your message of "Sat, 26 Jul 1997 15:54:01 EDT." <199707261954.PAA00871@whizzo.TransSys.COM>
next in thread | previous in thread | raw e-mail | index | archive | help
Most cool!!
Tnks a lot for the fix!
Amancio
>From The Desk Of "Louis A. Mamakos" :
> 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 byt
es */
> -#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?199707261957.MAA10752>
