Skip site navigation (1)Skip section navigation (2)
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>