misc/156874: OSS lacks SNDCTL_DSP_HALT

Gerald Pfeifer gerald at pfeifer.com
Sun May 8 02:00:21 UTC 2011


>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 at 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:


More information about the freebsd-bugs mailing list