Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 May 2011 03:32:07 +0200 (CEST)
From:      Gerald Pfeifer <gerald@pfeifer.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   misc/156874: OSS lacks SNDCTL_DSP_HALT
Message-ID:  <201105080132.p481W7v2092037@sputnik1.dbai.tuwien.ac.at>
Resent-Message-ID: <201105080200.p4820IP2003988@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         156874
>Category:       misc
>Synopsis:       OSS lacks SNDCTL_DSP_HALT
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun May 08 02:00:18 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Gerald Pfeifer
>Release:        FreeBSD 8.2-RELEASE i386
>Organization:
>Environment:
System: FreeBSD sputnik1.dbai.tuwien.ac.at 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>Description:
	When compiling current versions of Wine, I ran into the problem
	that FreeBSD does not feature SNDCTL_DSP_HALT in its OSS stack.

	The standard documentation at
	  http://manuals.opensound.com/developer/SNDCTL_DSP_HALT.html
	notes that
	  In the earlier OSS versions this ioctl call was called as
	  SNDCTL_DSP_RESET. This name is still valid but for clarity
	  reasons it is not recommended in new programs (designed for
	  OSS 4.0 or later). 

	Indeed FreeBSD features SNDCTL_DSP_RESET, so this should just
	be a matter of something like the patch below?

	(I'm a ports committer, not src, and cannot test/commit.)
>How-To-Repeat:
>Fix:

Submitted by: 	gerald

--- /usr/include/sys/soundcard.h	2011-04-17 18:48:28.000000000 +0200
+++ ./soundcard.h	2011-05-08 03:27:52.000000000 +0200
@@ -311,7 +311,8 @@
  * IOCTL Commands for /dev/sequencer
  */
 
-#define SNDCTL_SEQ_RESET	_IO  ('Q', 0)
+#define SNDCTL_SEQ_HALT		_IO  ('Q', 0)
+#define SNDCTL_SEQ_RESET	SNDCTL_SEQ_HALT    /* Historic interface */
 #define SNDCTL_SEQ_SYNC		_IO  ('Q', 1)
 #define SNDCTL_SYNTH_INFO	_IOWR('Q', 2, struct synth_info)
 #define SNDCTL_SEQ_CTRLRATE	_IOWR('Q', 3, int) /* Set/get timer res.(hz) */
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105080132.p481W7v2092037>