ref: 7fc5dcfd4d824a48ccf851f84c26091f2ae1b837
parent: 95527af64b36c84e1d819571148ae04b8dd364ed
author: robs <robs>
date: Sun Sep 13 06:14:43 EDT 2009
bit-rot reorg
--- /dev/null
+++ b/src/bit-rot/mmsystem.h
@@ -1,0 +1,75 @@
+/*
+ * SoX bit-rot detection file; cobbled together
+ */
+#define HWAVEIN HANDLE
+#define HWAVEOUT HANDLE
+#define MMRESULT UINT
+#define MMVERSION UINT
+
+enum {
+ MMSYSERR_NOERROR,
+ MAXPNAMELEN,
+ WAVE_FORMAT_PCM,
+ WAVE_MAPPER,
+ WAVERR_STILLPLAYING,
+ WHDR_DONE,
+ WHDR_INQUEUE
+};
+
+typedef struct wavehdr_tag {
+ LPSTR lpData;
+ DWORD dwBufferLength;
+ DWORD dwBytesRecorded;
+ DWORD dwUser;
+ DWORD dwFlags;
+ DWORD dwLoops;
+ struct wavehdr_tag *lpNext;
+ DWORD reserved;
+} WAVEHDR,*PWAVEHDR,*LPWAVEHDR;
+
+typedef struct _WAVEFORMATEX {
+ WORD wFormatTag;
+ WORD nChannels;
+ DWORD nSamplesPerSec;
+ DWORD nAvgBytesPerSec;
+ WORD nBlockAlign;
+ WORD wBitsPerSample;
+ WORD cbSize;
+} WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX;
+
+typedef struct tagWAVEINCAPSA {
+ WORD wMid;
+ WORD wPid;
+ MMVERSION vDriverVersion;
+ CHAR szPname[MAXPNAMELEN];
+ DWORD dwFormats;
+ WORD wChannels;
+ WORD wReserved1;
+} WAVEINCAPSA,*PWAVEINCAPSA,*LPWAVEINCAPSA;
+
+typedef struct tagWAVEOUTCAPSA {
+ WORD wMid;
+ WORD wPid;
+ MMVERSION vDriverVersion;
+ CHAR szPname[MAXPNAMELEN];
+ DWORD dwFormats;
+ WORD wChannels;
+ WORD wReserved1;
+ DWORD dwSupport;
+} WAVEOUTCAPSA,*PWAVEOUTCAPSA,*LPWAVEOUTCAPSA;
+
+MMRESULT WINAPI waveInAddBuffer(HWAVEIN,LPWAVEHDR,UINT);
+MMRESULT WINAPI waveInClose(HWAVEIN);
+MMRESULT WINAPI waveInGetDevCapsA(UINT,LPWAVEINCAPSA,UINT);
+MMRESULT WINAPI waveInGetNumDevs(void);
+MMRESULT WINAPI waveInOpen(HWAVEIN*,UINT,WAVEFORMATEX*,DWORD*,DWORD*,DWORD);
+MMRESULT WINAPI waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT);
+MMRESULT WINAPI waveInReset(HWAVEIN);
+MMRESULT WINAPI waveInStart(HWAVEIN);
+MMRESULT WINAPI waveOutClose(HWAVEOUT);
+MMRESULT WINAPI waveOutGetDevCapsA(UINT,LPWAVEOUTCAPSA,UINT);
+MMRESULT WINAPI waveOutGetNumDevs(void);
+MMRESULT WINAPI waveOutOpen(HWAVEOUT*,UINT,WAVEFORMATEX*,DWORD*,DWORD*,DWORD);
+MMRESULT WINAPI waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
+MMRESULT WINAPI waveOutReset(HWAVEOUT);
+MMRESULT WINAPI waveOutWrite(HWAVEOUT,LPWAVEHDR,UINT);
--- /dev/null
+++ b/src/bit-rot/sys/audioio.h
@@ -1,0 +1,289 @@
+#ifndef HAVE_SUN_AUDIO
+/*
+ * SoX bit-rot detection file, obtained from: Solaris 9 /usr/include/sys
+ */
+#if defined __GNUC__
+ #pragma GCC system_header
+#endif
+
+/*
+ * Copyright (c) 1995-2001 by Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _SYS_AUDIOIO_H
+#define _SYS_AUDIOIO_H
+
+#pragma ident "@(#)audioio.h 1.30 01/01/10 SMI"
+
+#include <sys/types.h>
+#if 0
+#include <sys/types32.h>
+#include <sys/time.h>
+#include <sys/ioccom.h>
+#else
+#define ushort_t unsigned short
+#define uint_t unsigned int
+#define uchar_t unsigned char
+struct timeval32
+{
+ unsigned tv_sec;
+ unsigned tv_usec;
+};
+#endif
+
+/*
+ * These are the ioctl calls for all Solaris audio devices, including
+ * the x86 and SPARCstation audio devices.
+ *
+ * You are encouraged to design your code in a modular fashion so that
+ * future changes to the interface can be incorporated with little
+ * trouble.
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * This structure contains state information for audio device IO streams.
+ */
+struct audio_prinfo {
+ /*
+ * The following values describe the audio data encoding.
+ */
+ uint_t sample_rate; /* samples per second */
+ uint_t channels; /* number of interleaved channels */
+ uint_t precision; /* bit-width of each sample */
+ uint_t encoding; /* data encoding method */
+
+ /*
+ * The following values control audio device configuration
+ */
+ uint_t gain; /* gain level: 0 - 255 */
+ uint_t port; /* selected I/O port (see below) */
+ uint_t avail_ports; /* available I/O ports (see below) */
+ uint_t mod_ports; /* I/O ports that are modifiable (see below) */
+ uint_t _xxx; /* Reserved for future use */
+
+ uint_t buffer_size; /* I/O buffer size */
+
+ /*
+ * The following values describe driver state
+ */
+ uint_t samples; /* number of samples converted */
+ uint_t eof; /* End Of File counter (play only) */
+
+ uchar_t pause; /* non-zero for pause, zero to resume */
+ uchar_t error; /* non-zero if overflow/underflow */
+ uchar_t waiting; /* non-zero if a process wants access */
+ uchar_t balance; /* stereo channel balance */
+
+ ushort_t minordev;
+
+ /*
+ * The following values are read-only state flags
+ */
+ uchar_t open; /* non-zero if open access permitted */
+ uchar_t active; /* non-zero if I/O is active */
+};
+typedef struct audio_prinfo audio_prinfo_t;
+
+
+/*
+ * This structure describes the current state of the audio device.
+ */
+struct audio_info {
+ /*
+ * Per-stream information
+ */
+ audio_prinfo_t play; /* output status information */
+ audio_prinfo_t record; /* input status information */
+
+ /*
+ * Per-unit/channel information
+ */
+ uint_t monitor_gain; /* input to output mix: 0 - 255 */
+ uchar_t output_muted; /* non-zero if output is muted */
+ uchar_t ref_cnt; /* driver reference count, read only */
+ uchar_t _xxx[2]; /* Reserved for future use */
+ uint_t hw_features; /* hardware features this driver supports */
+ uint_t sw_features; /* supported SW features */
+ uint_t sw_features_enabled; /* supported SW feat. enabled */
+};
+typedef struct audio_info audio_info_t;
+
+
+/*
+ * Audio encoding types
+ */
+#define AUDIO_ENCODING_NONE (0) /* no encoding assigned */
+#define AUDIO_ENCODING_ULAW (1) /* u-law encoding */
+#define AUDIO_ENCODING_ALAW (2) /* A-law encoding */
+#define AUDIO_ENCODING_LINEAR (3) /* Signed Linear PCM encoding */
+#define AUDIO_ENCODING_DVI (104) /* DVI ADPCM */
+#define AUDIO_ENCODING_LINEAR8 (105) /* 8 bit UNSIGNED */
+
+/*
+ * These ranges apply to record, play, and monitor gain values
+ */
+#define AUDIO_MIN_GAIN (0) /* minimum gain value */
+#define AUDIO_MAX_GAIN (255) /* maximum gain value */
+#define AUDIO_MID_GAIN (AUDIO_MAX_GAIN / 2)
+
+/*
+ * These values apply to the balance field to adjust channel gain values
+ */
+#define AUDIO_LEFT_BALANCE (0) /* left channel only */
+#define AUDIO_MID_BALANCE (32) /* equal left/right channel */
+#define AUDIO_RIGHT_BALANCE (64) /* right channel only */
+#define AUDIO_BALANCE_SHIFT (3)
+
+/*
+ * Generic minimum/maximum limits for number of channels, both modes
+ */
+#define AUDIO_CHANNELS_MONO (1)
+#define AUDIO_CHANNELS_STEREO (2)
+#define AUDIO_MIN_PLAY_CHANNELS (AUDIO_CHANNELS_MONO)
+#define AUDIO_MAX_PLAY_CHANNELS (AUDIO_CHANNELS_STEREO)
+#define AUDIO_MIN_REC_CHANNELS (AUDIO_CHANNELS_MONO)
+#define AUDIO_MAX_REC_CHANNELS (AUDIO_CHANNELS_STEREO)
+
+/*
+ * Generic minimum/maximum limits for sample precision
+ */
+#define AUDIO_PRECISION_8 (8)
+#define AUDIO_PRECISION_16 (16)
+
+#define AUDIO_MIN_PLAY_PRECISION (8)
+#define AUDIO_MAX_PLAY_PRECISION (32)
+#define AUDIO_MIN_REC_PRECISION (8)
+#define AUDIO_MAX_REC_PRECISION (32)
+
+/*
+ * Define some convenient names for typical audio ports
+ */
+#define AUDIO_NONE 0x00 /* all ports off */
+/*
+ * output ports (several may be enabled simultaneously)
+ */
+#define AUDIO_SPEAKER 0x01 /* output to built-in speaker */
+#define AUDIO_HEADPHONE 0x02 /* output to headphone jack */
+#define AUDIO_LINE_OUT 0x04 /* output to line out */
+#define AUDIO_SPDIF_OUT 0x08 /* output to SPDIF port */
+#define AUDIO_AUX1_OUT 0x10 /* output to aux1 out */
+#define AUDIO_AUX2_OUT 0x20 /* output to aux2 out */
+
+/*
+ * input ports (usually only one at a time)
+ */
+#define AUDIO_MICROPHONE 0x01 /* input from microphone */
+#define AUDIO_LINE_IN 0x02 /* input from line in */
+#define AUDIO_CD 0x04 /* input from on-board CD inputs */
+#define AUDIO_INTERNAL_CD_IN AUDIO_CD /* input from internal CDROM */
+#define AUDIO_SPDIF_IN 0x08 /* input from SPDIF port */
+#define AUDIO_AUX1_IN 0x10 /* input from aux1 in */
+#define AUDIO_AUX2_IN 0x20 /* input from aux2 in */
+#define AUDIO_CODEC_LOOPB_IN 0x40 /* input from Codec internal loopback */
+#define AUDIO_SUNVTS 0x80 /* SunVTS input setting-internal LB */
+
+/*
+ * Define the hw_features
+ */
+#define AUDIO_HWFEATURE_DUPLEX 0x00000001u /* simult. play & rec support */
+#define AUDIO_HWFEATURE_MSCODEC 0x00000002u /* multi-stream Codec */
+#define AUDIO_HWFEATURE_IN2OUT 0x00000004u /* input to output loopback */
+#define AUDIO_HWFEATURE_PLAY 0x00000008u /* device supports play */
+#define AUDIO_HWFEATURE_RECORD 0x00000010u /* device supports record */
+
+/*
+ * Define the sw_features
+ */
+#define AUDIO_SWFEATURE_MIXER 0x00000001u /* audio mixer audio pers mod */
+
+/*
+ * This macro initializes an audio_info structure to 'harmless' values.
+ * Note that (~0) might not be a harmless value for a flag that was
+ * a signed int.
+ */
+#define AUDIO_INITINFO(i) { \
+ uint_t *__x__; \
+ for (__x__ = (uint_t *)(i); \
+ (char *)__x__ < (((char *)(i)) + sizeof (audio_info_t)); \
+ *__x__++ = ~0); \
+}
+
+
+/*
+ * Parameter for the AUDIO_GETDEV ioctl to determine current
+ * audio devices.
+ */
+#define MAX_AUDIO_DEV_LEN (16)
+struct audio_device {
+ char name[MAX_AUDIO_DEV_LEN];
+ char version[MAX_AUDIO_DEV_LEN];
+ char config[MAX_AUDIO_DEV_LEN];
+};
+typedef struct audio_device audio_device_t;
+
+
+/*
+ * Ioctl calls for the audio device.
+ */
+
+/*
+ * AUDIO_GETINFO retrieves the current state of the audio device.
+ *
+ * AUDIO_SETINFO copies all fields of the audio_info structure whose
+ * values are not set to the initialized value (-1) to the device state.
+ * It performs an implicit AUDIO_GETINFO to return the new state of the
+ * device. Note that the record.samples and play.samples fields are set
+ * to the last value before the AUDIO_SETINFO took effect. This allows
+ * an application to reset the counters while atomically retrieving the
+ * last value.
+ *
+ * AUDIO_DRAIN suspends the calling process until the write buffers are
+ * empty.
+ *
+ * AUDIO_GETDEV returns a structure of type audio_device_t which contains
+ * three strings. The string "name" is a short identifying string (for
+ * example, the SBus Fcode name string), the string "version" identifies
+ * the current version of the device, and the "config" string identifies
+ * the specific configuration of the audio stream. All fields are
+ * device-dependent -- see the device specific manual pages for details.
+ */
+#define AUDIO_GETINFO _IOR('A', 1, audio_info_t)
+#define AUDIO_SETINFO _IOWR('A', 2, audio_info_t)
+#define AUDIO_DRAIN _IO('A', 3)
+#define AUDIO_GETDEV _IOR('A', 4, audio_device_t)
+
+/*
+ * The following ioctl sets the audio device into an internal loopback mode,
+ * if the hardware supports this. The argument is TRUE to set loopback,
+ * FALSE to reset to normal operation. If the hardware does not support
+ * internal loopback, the ioctl should fail with EINVAL.
+ */
+#define AUDIO_DIAG_LOOPBACK _IOW('A', 101, int)
+
+
+/*
+ * Structure sent up as a M_PROTO message on trace streams
+ */
+struct audtrace_hdr {
+ uint_t seq; /* Sequence number (per-aud_stream) */
+ int type; /* device-dependent */
+#if defined(_LP64) || defined(_I32LPx)
+ struct timeval32 timestamp;
+#else
+ struct timeval timestamp;
+#endif
+ char _f[8]; /* filler */
+};
+typedef struct audtrace_hdr audtrace_hdr_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SYS_AUDIOIO_H */
+#endif
--- a/src/sys/audioio.h
+++ /dev/null
@@ -1,289 +1,0 @@
-#ifndef HAVE_SUN_AUDIO
-/*
- * SoX bit-rot detection file, obtained from: Solaris 9 /usr/include/sys
- */
-#if defined __GNUC__
- #pragma GCC system_header
-#endif
-
-/*
- * Copyright (c) 1995-2001 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-#ifndef _SYS_AUDIOIO_H
-#define _SYS_AUDIOIO_H
-
-#pragma ident "@(#)audioio.h 1.30 01/01/10 SMI"
-
-#include <sys/types.h>
-#if 0
-#include <sys/types32.h>
-#include <sys/time.h>
-#include <sys/ioccom.h>
-#else
-#define ushort_t unsigned short
-#define uint_t unsigned int
-#define uchar_t unsigned char
-struct timeval32
-{
- unsigned tv_sec;
- unsigned tv_usec;
-};
-#endif
-
-/*
- * These are the ioctl calls for all Solaris audio devices, including
- * the x86 and SPARCstation audio devices.
- *
- * You are encouraged to design your code in a modular fashion so that
- * future changes to the interface can be incorporated with little
- * trouble.
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * This structure contains state information for audio device IO streams.
- */
-struct audio_prinfo {
- /*
- * The following values describe the audio data encoding.
- */
- uint_t sample_rate; /* samples per second */
- uint_t channels; /* number of interleaved channels */
- uint_t precision; /* bit-width of each sample */
- uint_t encoding; /* data encoding method */
-
- /*
- * The following values control audio device configuration
- */
- uint_t gain; /* gain level: 0 - 255 */
- uint_t port; /* selected I/O port (see below) */
- uint_t avail_ports; /* available I/O ports (see below) */
- uint_t mod_ports; /* I/O ports that are modifiable (see below) */
- uint_t _xxx; /* Reserved for future use */
-
- uint_t buffer_size; /* I/O buffer size */
-
- /*
- * The following values describe driver state
- */
- uint_t samples; /* number of samples converted */
- uint_t eof; /* End Of File counter (play only) */
-
- uchar_t pause; /* non-zero for pause, zero to resume */
- uchar_t error; /* non-zero if overflow/underflow */
- uchar_t waiting; /* non-zero if a process wants access */
- uchar_t balance; /* stereo channel balance */
-
- ushort_t minordev;
-
- /*
- * The following values are read-only state flags
- */
- uchar_t open; /* non-zero if open access permitted */
- uchar_t active; /* non-zero if I/O is active */
-};
-typedef struct audio_prinfo audio_prinfo_t;
-
-
-/*
- * This structure describes the current state of the audio device.
- */
-struct audio_info {
- /*
- * Per-stream information
- */
- audio_prinfo_t play; /* output status information */
- audio_prinfo_t record; /* input status information */
-
- /*
- * Per-unit/channel information
- */
- uint_t monitor_gain; /* input to output mix: 0 - 255 */
- uchar_t output_muted; /* non-zero if output is muted */
- uchar_t ref_cnt; /* driver reference count, read only */
- uchar_t _xxx[2]; /* Reserved for future use */
- uint_t hw_features; /* hardware features this driver supports */
- uint_t sw_features; /* supported SW features */
- uint_t sw_features_enabled; /* supported SW feat. enabled */
-};
-typedef struct audio_info audio_info_t;
-
-
-/*
- * Audio encoding types
- */
-#define AUDIO_ENCODING_NONE (0) /* no encoding assigned */
-#define AUDIO_ENCODING_ULAW (1) /* u-law encoding */
-#define AUDIO_ENCODING_ALAW (2) /* A-law encoding */
-#define AUDIO_ENCODING_LINEAR (3) /* Signed Linear PCM encoding */
-#define AUDIO_ENCODING_DVI (104) /* DVI ADPCM */
-#define AUDIO_ENCODING_LINEAR8 (105) /* 8 bit UNSIGNED */
-
-/*
- * These ranges apply to record, play, and monitor gain values
- */
-#define AUDIO_MIN_GAIN (0) /* minimum gain value */
-#define AUDIO_MAX_GAIN (255) /* maximum gain value */
-#define AUDIO_MID_GAIN (AUDIO_MAX_GAIN / 2)
-
-/*
- * These values apply to the balance field to adjust channel gain values
- */
-#define AUDIO_LEFT_BALANCE (0) /* left channel only */
-#define AUDIO_MID_BALANCE (32) /* equal left/right channel */
-#define AUDIO_RIGHT_BALANCE (64) /* right channel only */
-#define AUDIO_BALANCE_SHIFT (3)
-
-/*
- * Generic minimum/maximum limits for number of channels, both modes
- */
-#define AUDIO_CHANNELS_MONO (1)
-#define AUDIO_CHANNELS_STEREO (2)
-#define AUDIO_MIN_PLAY_CHANNELS (AUDIO_CHANNELS_MONO)
-#define AUDIO_MAX_PLAY_CHANNELS (AUDIO_CHANNELS_STEREO)
-#define AUDIO_MIN_REC_CHANNELS (AUDIO_CHANNELS_MONO)
-#define AUDIO_MAX_REC_CHANNELS (AUDIO_CHANNELS_STEREO)
-
-/*
- * Generic minimum/maximum limits for sample precision
- */
-#define AUDIO_PRECISION_8 (8)
-#define AUDIO_PRECISION_16 (16)
-
-#define AUDIO_MIN_PLAY_PRECISION (8)
-#define AUDIO_MAX_PLAY_PRECISION (32)
-#define AUDIO_MIN_REC_PRECISION (8)
-#define AUDIO_MAX_REC_PRECISION (32)
-
-/*
- * Define some convenient names for typical audio ports
- */
-#define AUDIO_NONE 0x00 /* all ports off */
-/*
- * output ports (several may be enabled simultaneously)
- */
-#define AUDIO_SPEAKER 0x01 /* output to built-in speaker */
-#define AUDIO_HEADPHONE 0x02 /* output to headphone jack */
-#define AUDIO_LINE_OUT 0x04 /* output to line out */
-#define AUDIO_SPDIF_OUT 0x08 /* output to SPDIF port */
-#define AUDIO_AUX1_OUT 0x10 /* output to aux1 out */
-#define AUDIO_AUX2_OUT 0x20 /* output to aux2 out */
-
-/*
- * input ports (usually only one at a time)
- */
-#define AUDIO_MICROPHONE 0x01 /* input from microphone */
-#define AUDIO_LINE_IN 0x02 /* input from line in */
-#define AUDIO_CD 0x04 /* input from on-board CD inputs */
-#define AUDIO_INTERNAL_CD_IN AUDIO_CD /* input from internal CDROM */
-#define AUDIO_SPDIF_IN 0x08 /* input from SPDIF port */
-#define AUDIO_AUX1_IN 0x10 /* input from aux1 in */
-#define AUDIO_AUX2_IN 0x20 /* input from aux2 in */
-#define AUDIO_CODEC_LOOPB_IN 0x40 /* input from Codec internal loopback */
-#define AUDIO_SUNVTS 0x80 /* SunVTS input setting-internal LB */
-
-/*
- * Define the hw_features
- */
-#define AUDIO_HWFEATURE_DUPLEX 0x00000001u /* simult. play & rec support */
-#define AUDIO_HWFEATURE_MSCODEC 0x00000002u /* multi-stream Codec */
-#define AUDIO_HWFEATURE_IN2OUT 0x00000004u /* input to output loopback */
-#define AUDIO_HWFEATURE_PLAY 0x00000008u /* device supports play */
-#define AUDIO_HWFEATURE_RECORD 0x00000010u /* device supports record */
-
-/*
- * Define the sw_features
- */
-#define AUDIO_SWFEATURE_MIXER 0x00000001u /* audio mixer audio pers mod */
-
-/*
- * This macro initializes an audio_info structure to 'harmless' values.
- * Note that (~0) might not be a harmless value for a flag that was
- * a signed int.
- */
-#define AUDIO_INITINFO(i) { \
- uint_t *__x__; \
- for (__x__ = (uint_t *)(i); \
- (char *)__x__ < (((char *)(i)) + sizeof (audio_info_t)); \
- *__x__++ = ~0); \
-}
-
-
-/*
- * Parameter for the AUDIO_GETDEV ioctl to determine current
- * audio devices.
- */
-#define MAX_AUDIO_DEV_LEN (16)
-struct audio_device {
- char name[MAX_AUDIO_DEV_LEN];
- char version[MAX_AUDIO_DEV_LEN];
- char config[MAX_AUDIO_DEV_LEN];
-};
-typedef struct audio_device audio_device_t;
-
-
-/*
- * Ioctl calls for the audio device.
- */
-
-/*
- * AUDIO_GETINFO retrieves the current state of the audio device.
- *
- * AUDIO_SETINFO copies all fields of the audio_info structure whose
- * values are not set to the initialized value (-1) to the device state.
- * It performs an implicit AUDIO_GETINFO to return the new state of the
- * device. Note that the record.samples and play.samples fields are set
- * to the last value before the AUDIO_SETINFO took effect. This allows
- * an application to reset the counters while atomically retrieving the
- * last value.
- *
- * AUDIO_DRAIN suspends the calling process until the write buffers are
- * empty.
- *
- * AUDIO_GETDEV returns a structure of type audio_device_t which contains
- * three strings. The string "name" is a short identifying string (for
- * example, the SBus Fcode name string), the string "version" identifies
- * the current version of the device, and the "config" string identifies
- * the specific configuration of the audio stream. All fields are
- * device-dependent -- see the device specific manual pages for details.
- */
-#define AUDIO_GETINFO _IOR('A', 1, audio_info_t)
-#define AUDIO_SETINFO _IOWR('A', 2, audio_info_t)
-#define AUDIO_DRAIN _IO('A', 3)
-#define AUDIO_GETDEV _IOR('A', 4, audio_device_t)
-
-/*
- * The following ioctl sets the audio device into an internal loopback mode,
- * if the hardware supports this. The argument is TRUE to set loopback,
- * FALSE to reset to normal operation. If the hardware does not support
- * internal loopback, the ioctl should fail with EINVAL.
- */
-#define AUDIO_DIAG_LOOPBACK _IOW('A', 101, int)
-
-
-/*
- * Structure sent up as a M_PROTO message on trace streams
- */
-struct audtrace_hdr {
- uint_t seq; /* Sequence number (per-aud_stream) */
- int type; /* device-dependent */
-#if defined(_LP64) || defined(_I32LPx)
- struct timeval32 timestamp;
-#else
- struct timeval timestamp;
-#endif
- char _f[8]; /* filler */
-};
-typedef struct audtrace_hdr audtrace_hdr_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SYS_AUDIOIO_H */
-#endif