audioio.h revision 88447a05f537aabe9a1bc3d5313f22581ec992a7
734N/A * The contents of this file are subject to the terms of the 734N/A * Common Development and Distribution License (the "License"). 734N/A * You may not use this file except in compliance with the License. 734N/A * See the License for the specific language governing permissions 734N/A * and limitations under the License. 734N/A * When distributing Covered Code, include this CDDL HEADER in each * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * 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 * This structure contains state information for audio device IO streams. * The following values describe the audio data encoding. * The following values control audio device configuration * The following values describe driver state uint_t eof;
/* End Of File counter (play only) */ * The following values are read-only state flags * This structure describes the current state of the audio device. * These ranges apply to record, play, and monitor gain values * These values apply to the balance field to adjust channel gain values * Define some convenient names for typical audio ports * output ports (several may be enabled simultaneously) * input ports (usually only one at a time) #
define AUDIO_CD 0x04 /* input from on-board CD inputs */#
define AUDIO_SUNVTS 0x80 /* SunVTS input setting-internal LB */ * This macro initializes an audio_info structure to 'harmless' values. * Note that (~0) might not be a harmless value for a flag that was * Parameter for the AUDIO_GETDEV ioctl to determine current * 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 * AUDIO_DRAIN suspends the calling process until the write buffers are * 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. * 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. #
endif /* _SYS_AUDIOIO_H */