Data Structures for Drivers audio_engine_ops(9S)
NAME
audio_engine_ops - audio engine operations vector
SYNOPSIS
#include
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI)DESCRIPTION
An audio_engine_ops structure defines vectors that an audio
driver exports to the Sun audio framework.One such vector is used for each DMA or PIO engine (some-
times referred to as a "stream") supported on the device. The audio framework provides the following synchronization guarantees for audio engines: o only one thread will be executing an audio engine entry point for a given audio device at any one time o no threads will be executing any audio engine entry points for a given audio device if that device issuspended. See audio_dev_suspend(9F).
Each entry point receives as its first argument the driver private state that was registered withaudio_engine_set_private(9F).
STRUCTURE MEMBERSint audio_engine_version; /* version number */
int (*audio_engine_open)(); /* open engine */
void (*audio_engine_close)(); /* close engine */
int (*audio_engine_start)(); /* start engine */
void (*audio_engine_stop)(); /* stop engine */
uint64_t (*audio_engine_count)(); /* get frame count */
int (*audio_engine_format)(); /* get format */
int (*audio_engine_channels)(); /* get num channels */
int (*audio_engine_rate)(); /* get sample rate */
void (*audio_engine_sync)(); /* dma cache sync */
uint_t (*audio_engine_qlen)(); /* get hw fifo len */
void (*audio_engine_chinfo)(); /* channel cfg info */
uint_t (*audio_engine_playahead)(); /* play ahead frames */
SunOS 5.11 Last change: 21 Apr 2010 1
Data Structures for Drivers audio_engine_ops(9S)
audio_engine_version The version of the engine inter-
face. Drivers must supplyAUDIO_ENGINE_VERSION.
audio_engine_open Function entry that opens the
engine and initializes hardware and resources.audio_engine_close Function entry that closes the
engine and possibly releases any resources.audio_engine_start Function entry to start audio data
transfer.audio_engine_stop Function entry to stop audio data
transfer.audio_engine_count Function entry to return engine's
frame count.audio_engine_format Function entry to get the format
of the engine.audio_engine_channels Function entry to get the number
of channels of the engine.audio_engine_rate Function entry to get the sample
rate of the engine.audio_engine_sync Function entry to synchronize the
DMA cache for the buffer associ-
ated with the engine.audio_engine_qlen Function entry to determine the
on-device FIFO len for the engine.
audio_engine_chinfo Function entry to determine number
and layout channels for device.SunOS 5.11 Last change: 21 Apr 2010 2
Data Structures for Drivers audio_engine_ops(9S)
audio_engine_playahead Function entry to determine
minimum number of frames that should be queued to the engine.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
SEE ALSO
attributes(5), audio(7D), audio_engine_channels(9E),
audio_engine_chinfo(9E), audio_engine_count(9E),
audio_engine_format(9E), audio_engine_open(9E),
audio_engine_playahead(9E), audio_engine_qlen(9E),
audio_engine_rate(9E), audio_engine_start(9E),
audio_engine_sync(9E), audio_dev_add_engine(9F),
audio_dev_suspend(9F), audio_engine_alloc(9F),
audio_engine_set_private(9F)
SunOS 5.11 Last change: 21 Apr 2010 3