Crate quad_alsa_sys[][src]

Re-exports

pub use self::_snd_input_type as snd_input_type_t;
pub use self::_snd_output_type as snd_output_type_t;
pub use self::_snd_config_type as snd_config_type_t;
pub use self::_snd_pcm_class as snd_pcm_class_t;
pub use self::_snd_pcm_subclass as snd_pcm_subclass_t;
pub use self::_snd_pcm_stream as snd_pcm_stream_t;
pub use self::_snd_pcm_access as snd_pcm_access_t;
pub use self::_snd_pcm_format as snd_pcm_format_t;
pub use self::_snd_pcm_subformat as snd_pcm_subformat_t;
pub use self::_snd_pcm_state as snd_pcm_state_t;
pub use self::_snd_pcm_start as snd_pcm_start_t;
pub use self::_snd_pcm_xrun as snd_pcm_xrun_t;
pub use self::_snd_pcm_tstamp as snd_pcm_tstamp_t;
pub use self::_snd_pcm_tstamp_type as snd_pcm_tstamp_type_t;
pub use self::_snd_pcm_audio_tstamp_type as snd_pcm_audio_tstamp_type_t;
pub use self::_snd_pcm_type as snd_pcm_type_t;
pub use self::_snd_pcm_hook_type as snd_pcm_hook_type_t;
pub use self::_snd_spcm_latency as snd_spcm_latency_t;
pub use self::_snd_spcm_xrun_type as snd_spcm_xrun_type_t;
pub use self::_snd_spcm_duplex_type as snd_spcm_duplex_type_t;
pub use self::_snd_rawmidi_stream as snd_rawmidi_stream_t;
pub use self::_snd_rawmidi_type as snd_rawmidi_type_t;
pub use self::_snd_timer_class as snd_timer_class_t;
pub use self::_snd_timer_slave_class as snd_timer_slave_class_t;
pub use self::_snd_timer_event as snd_timer_event_t;
pub use self::_snd_timer_type as snd_timer_type_t;
pub use self::_snd_hwdep_iface as snd_hwdep_iface_t;
pub use self::_snd_hwdep_type as snd_hwdep_type_t;
pub use self::_snd_ctl_elem_type as snd_ctl_elem_type_t;
pub use self::_snd_ctl_elem_iface as snd_ctl_elem_iface_t;
pub use self::_snd_ctl_event_type as snd_ctl_event_type_t;
pub use self::_snd_ctl_type as snd_ctl_type_t;
pub use self::_snd_mixer_elem_type as snd_mixer_elem_type_t;
pub use self::_snd_mixer_selem_channel_id as snd_mixer_selem_channel_id_t;
pub use self::_snd_seq_type as snd_seq_type_t;
pub use self::snd_seq_client_type as snd_seq_client_type_t;

Structs

PCM area specification

#SND_PCM_TYPE_METER scope functions

timer read structure

timer tstamp + event read structure

IEC958 structure

Device-name list element (definition)

Mixer simple element - register options

the channel map header

the header of array items returned from snd_pcm_query_chmaps()

Sequencer event address

Connection (subscription) between ports

Controller event

external stored data

Note event

queue timer control

generic set of bytes (12x8 bit)

generic set of integers (3x32 bit)

Sequencer event

Queue skew values

Real-time data record

Result events

Constants

< bottom center

< bottom left center

< bottom right center

< front center

< front center high

< front left

< front left center

< front left high

< front left wide

< front right

< front right center

< front right high

< front right wide

< LFE

< left LFE

< mono stream

< N/A, silent

< rear center

< rear left

< rear left center

< right LFE

< rear right

< rear right center

< side left

< side right

< top center

< top front center

< top front left

< top front left center

< top front right

< top front right center

< top rear center

< top rear left

< top rear right

< top side left

< top side right

< fixed channel position

< last entry

< unspecified channel position

< pair-wise swappable channel position

< freely swappable channel position

< unspecified

Compound node.

Integer number.

64-bit integer number.

Pointer (runtime only, cannot be saved).

Real number.

Character string.

Card level

Hardware dependent device

Sequencer

Mixer

PCM

RawMidi

Sequencer

Timer

Boolean contents

Bytes contents

Enumerated contents

IEC958 (S/PDIF) setting content

Integer contents

64-bit integer contents

64-bit integer contents

Invalid type

Elements related event

Elements related event

External control plugin

Kernel level CTL

INET client CTL (not yet implemented)

Shared memory client CTL

< Bluetooth audio

< EMU10K1 driver

< EmuX wavetable

< BridgeCo BeBoB based device

< TC DICE FireWire device

< Echo Audio Fireworks based device

< Oxford OXFW970/971 based device

< HD-audio

< ICS2115 driver

< last known hwdep interface

< Digigram miXart cards

< OPL2 raw driver

< OPL3 raw driver

< OPL4 raw driver

< Digigram PCXHR

< SB16CSP driver

< SB Extigy/Audigy2NX remote control

< Ensoniq SoundScape ISA card (MC68EC000)

< direct access to usb stream

< Tascam US122, US224 & US428 usb

< Tascam US122, US224 & US428 raw USB PCM

< Digigram VX cards

< YSS225 driver

Kernel level HwDep

INET client HwDep (not yet implemented)

Shared memory client HwDep (not yet implemented)

Input from a memory buffer.

Input from a stdio stream.

basic abstraction - Master,PCM,CD,Aux,Record-Gain etc.

no abstraction - try use all universal controls from driver

Front center

Front left

Front right

Rear Center

Mono (Front left alias)

Rear Center

Rear left

Rear right

Side Left

Side Right

Unknown

Woofer

Output to a memory buffer.

Output to a stdio stream.

snd_pcm_readn/snd_pcm_writen access

mmap access with complex placement

mmap access with simple interleaved channels

mmap access with simple non interleaved channels

snd_pcm_readi/snd_pcm_writei access

snd_pcm_readn/snd_pcm_writen access

first definition for backwards compatibility only, maps to wallclock/link time for HDAudio playback and DEFAULT/DMA time for everything else

< DMA time, reported as per hw_ptr

< link time reported by sample or wallclock counter, reset on startup

< link time reported by sample or wallclock counter, not reset on startup

< link time estimated indirectly

< link time synchronized with system time

digitizer device

standard device

digitizer device

software modem device

multichannel device

A-Law

Unsigned 18bit Big Endian in 3bytes format

Unsigned 18bit Big Endian in 3bytes format

Unsigned 18bit Big Endian in 3bytes format

Unsigned 18bit Big Endian in 3bytes format

Unsigned 18bit Big Endian in 3bytes format

Float 32 bit CPU endian

Float 64 bit CPU endian

Float 64 bit Big Endian, Range -1.0 to 1.0

Float 64 bit Little Endian, Range -1.0 to 1.0

Float 32 bit Big Endian, Range -1.0 to 1.0

Float 32 bit Little Endian, Range -1.0 to 1.0

Unsigned 18bit Big Endian in 3bytes format

Unsigned 18bit Big Endian in 3bytes format

Unsigned 18bit Big Endian in 3bytes format

Unsigned 18bit Big Endian in 3bytes format

GSM

IEC-958 CPU Endian

IEC-958 Big Endian

IEC-958 Little Endian

Ima-ADPCM

Unsigned 18bit Big Endian in 3bytes format

MPEG

Mu-Law

Signed 8 bit

Signed 16 bit CPU endian

Signed 16 bit Big Endian

Signed 16 bit Little Endian

Signed 18bit Big Endian in 3bytes format

Signed 18bit Little Endian in 3bytes format

Signed 20bit in 4bytes format, LSB justified, CPU Endian

Signed 20bit Big Endian in 3bytes format

Signed 20bit Little Endian in 3bytes format

Signed 20bit Big Endian in 4bytes format, LSB justified

Signed 20bit Little Endian in 4bytes format, LSB justified

Signed 24 bit CPU endian

Signed 24bit Big Endian in 3bytes format

Signed 24bit Little Endian in 3bytes format

Signed 24 bit Big Endian using low three bytes in 32-bit word

Signed 24 bit Little Endian using low three bytes in 32-bit word

Signed 32 bit CPU endian

Signed 32 bit Big Endian

Signed 32 bit Little Endian

Special

Unsigned 8 bit

Unsigned 16 bit CPU endian

Unsigned 16 bit Big Endian

Unsigned 16 bit Little Endian

Unsigned 18bit Big Endian in 3bytes format

Unsigned 18bit Little Endian in 3bytes format

Unsigned 20bit in 4bytes format, LSB justified, CPU Endian

Unsigned 20bit Big Endian in 3bytes format

Unsigned 20bit Little Endian in 3bytes format

Unsigned 20bit Big Endian in 4bytes format, LSB justified

Unsigned 20bit Little Endian in 4bytes format, LSB justified

Unsigned 24 bit CPU endian

Unsigned 24bit Big Endian in 3bytes format

Unsigned 24bit Little Endian in 3bytes format

Unsigned 24 bit Big Endian using low three bytes in 32-bit word

Unsigned 24 bit Little Endian using low three bytes in 32-bit word

Unsigned 32 bit CPU endian

Unsigned 32 bit Big Endian

Unsigned 32 bit Little Endian

Unknown

Automatic start on data read/write

Explicit start

Explicit start

Hardware is disconnected

Draining: running (playback) or stopped (capture)

Hardware is disconnected

Open

Paused

Ready to start

Private - used internally in the library - do not use

Running

Setup installed

Hardware is suspended

Stopped: underrun (playback) or overrun (capture) detected

Capture stream

Capture stream

Playback stream

subdevices are mixed together

multichannel subdevices are mixed together

multichannel subdevices are mixed together

Standard

Standard

Update timestamp at every hardware position update

Equivalent with #SND_PCM_TSTAMP_ENABLE, just for compatibility with older versions

Equivalent with #SND_PCM_TSTAMP_ENABLE, just for compatibility with older versions

No timestamp

< gettimeofday equivalent

< posix_clock_monotonic equivalent

< monotonic_raw (no NTP)

IMA-ADPCM format conversion PCM

A-Law format conversion PCM

Copying plugin

Direct Mixing plugin

Attenuated dynamic route PCM (not yet implemented)

Direct Sharing plugin

Direct Snooping plugin

External filter plugin

File writing plugin

Hooked PCM

Kernel level PCM

IEC958 subframe plugin

INET client PCM (not yet implemented)

External I/O plugin

Jack Audio Connection Kit plugin

LADSPA integration plugin

Mmap-emulation plugin

Loopback server plugin (not yet implemented)

Linear format conversion PCM

Linear Integer <-> Linear Float format conversion PCM

Meter plugin

Mixing PCM

Mmap-emulation plugin

Mu-Law format conversion PCM

One or more linked PCM with exclusive access to selected channels

Null endpoint PCM

Format adjusted PCM

Rate conversion PCM

Attenuated static route PCM

Sharing PCM

Shared memory client PCM

Soft volume plugin

Stop on xrun detection

Xrun detection disabled

Stop on xrun detection

Input stream

Input stream

Output stream

Kernel level RawMidi

INET client RawMidi (not yet implemented)

Shared memory client RawMidi (not yet implemented)

Virtual (sequencer) RawMidi

error event; event data type = #snd_seq_ev_ext_t

channel pressure; event data type = #snd_seq_ev_ctrl_t

Client status/info has changed; event data type = #snd_seq_addr_t

Client has left the system; event data type = #snd_seq_addr_t

New client has connected; event data type = #snd_seq_addr_t

MIDI Real Time Clock message; event data type = #snd_seq_ev_queue_control_t

MIDI Real Time Continue message; event data type = #snd_seq_ev_queue_control_t

14 bit controller value; event data type = #snd_seq_ev_ctrl_t

controller; event data type = #snd_seq_ev_ctrl_t

Echo-back event; event data type = any type

key pressure change (aftertouch); event data type = #snd_seq_ev_note_t

SMF Key Signature event; event data type = #snd_seq_ev_ctrl_t

NOP; ignored in any case

14 bit NRPN; event data type = #snd_seq_ev_ctrl_t

note on and off with duration; event data type = #snd_seq_ev_note_t

note off; event data type = #snd_seq_ev_note_t

note on; event data type = #snd_seq_ev_note_t

OSS emulation raw event; event data type = any type

program change; event data type = #snd_seq_ev_ctrl_t

pitchwheel; event data type = #snd_seq_ev_ctrl_t; data is from -8192 to 8191)

Port status/info has changed; event data type = #snd_seq_addr_t

Port was deleted from system; event data type = #snd_seq_addr_t

New port was created; event data type = #snd_seq_addr_t

Ports connected; event data type = #snd_seq_connect_t

Ports disconnected; event data type = #snd_seq_connect_t

midi time code quarter frame; event data type = #snd_seq_ev_ctrl_t

Queue timer skew; event data type = #snd_seq_ev_queue_control_t

14 bit RPN; event data type = #snd_seq_ev_ctrl_t

Reset to power-on state; event data type = none

returned result status; event data type = #snd_seq_result_t

Active sensing event; event data type = none

Set tick queue position; event data type = #snd_seq_ev_queue_control_t

Set real-time queue position; event data type = #snd_seq_ev_queue_control_t

SPP with LSB and MSB values; event data type = #snd_seq_ev_ctrl_t

Song Select with song ID number; event data type = #snd_seq_ev_ctrl_t

MIDI Real Time Start message; event data type = #snd_seq_ev_queue_control_t

MIDI Real Time Stop message; event data type = #snd_seq_ev_queue_control_t

Sync position changed; event data type = #snd_seq_ev_queue_control_t

system exclusive data (variable length); event data type = #snd_seq_ev_ext_t

system status; event data type = #snd_seq_result_t

(SMF) Tempo event; event data type = #snd_seq_ev_queue_control_t

MIDI Real Time Tick message; event data type = #snd_seq_ev_queue_control_t

SMF Time Signature event; event data type = #snd_seq_ev_ctrl_t

Tune request; event data type = none

user-defined event; event data type = any (fixed size)

user-defined event; event data type = any (fixed size)

user-defined event; event data type = any (fixed size)

user-defined event; event data type = any (fixed size)

user-defined event; event data type = any (fixed size)

user-defined event; event data type = any (fixed size)

user-defined event; event data type = any (fixed size)

user-defined event; event data type = any (fixed size)

user-defined event; event data type = any (fixed size)

user-defined event; event data type = any (fixed size)

reserved for user apps; event data type = #snd_seq_ev_ext_t

reserved for user apps; event data type = #snd_seq_ev_ext_t

reserved for user apps; event data type = #snd_seq_ev_ext_t

reserved for user apps; event data type = #snd_seq_ev_ext_t

reserved for user apps; event data type = #snd_seq_ev_ext_t

< kernel client

< query read subscriptions

< query write subscriptions

< hardware

< network (NYI)

< shared memory (NYI)

< user client

liberal duplex - the buffer and period sizes might not match

pedantic duplex - the buffer and period sizes MUST match

medium latency - software phones etc. (estimated latency in one direction maximally 25ms

realtime latency - realtime applications (effect processors etc.) (estimated latency in one direction 5ms and better)

standard latency - for standard playback or capture (estimated latency in one direction 350ms)

driver / library will ignore all xruns, the stream runs forever

driver / library stops the stream when an xrun occurs

< card timer

< global timer

< last timer

< invalid

< PCM timer

< slave timer

< for internal use

< last slave timer

< none

< OSS sequencer timer

< sequencer timer

Kernel level HwDep

INET client timer (not yet implemented)

Shared memory client timer (not yet implemented)

Functions

\defgroup Global Global defines and functions Global defines and functions. \par The ALSA library implementation uses these macros and functions. Most applications probably do not need them. {

\defgroup PCM_Access Access Mask Functions \ingroup PCM See the \ref pcm page for more details. {

\defgroup PCM_Dump Debug Functions \ingroup PCM See the \ref pcm page for more details. {

\defgroup PCM_Format Format Mask Functions \ingroup PCM See the \ref pcm page for more details. {

\defgroup PCM_Helpers Helper Functions \ingroup PCM See the \ref pcm page for more details. {

\defgroup PCM_HW_Params Hardware Parameters \ingroup PCM See the \ref pcm page for more details. {

\defgroup PCM_Info Stream Information \ingroup PCM See the \ref pcm page for more details. {

\defgroup PCM_Direct Direct Access (MMAP) Functions \ingroup PCM See the \ref pcm page for more details. {

\defgroup PCM_Deprecated Deprecated Functions \ingroup PCM See the \ref pcm page for more details. {

\defgroup PCM_Status Status Functions \ingroup PCM See the \ref pcm page for more details. {

\defgroup PCM_SubFormat Subformat Mask Functions \ingroup PCM See the \ref pcm page for more details. {

\defgroup PCM_SW_Params Software Parameters \ingroup PCM See the \ref pcm page for more details. {

\defgroup PCM_Description Description Functions \ingroup PCM See the \ref pcm page for more details. {

\defgroup SControl Setup Control Interface \ingroup Control The setup control interface - set or modify control elements from a configuration file. {

\defgroup SeqEvent Sequencer Event API Sequencer Event API \ingroup Sequencer {

\defgroup SeqMisc Sequencer Miscellaneous Sequencer Miscellaneous \ingroup Sequencer {

Type Definitions

\brief Configuration node type.

CTL related interface

CTL element type

Event class

CTL type

HwDep interface

HwDep handle type

Input type.

Mixer element type

Mixer simple element channel identifier

Output type.

PCM access type

PCM class

PCM sample format

type of pcm hook

PCM start mode

PCM state

PCM stream (direction)

PCM subclass

PCM sample subformat

PCM timestamp mode

PCM type

PCM xrun mode

RawMidi stream (direction)

RawMidi type

sequencer handle type

Simple PCM duplex type

Simple PCM latency type

Simple PCM xrun type

timer master class

timer read event identification

timer slave class

timer handle type

IEC958 structure

\brief Async notification callback.

\brief Internal structure for an async notification client handler.

\brief Type for a configuration compound iterator.

\brief Internal structure for a configuration node object.

\brief Internal structure for a configuration private update object.

CTL card info container

CTL element identifier container

CTL element info container

CTL element list container

CTL element value container

CTL event container

CTL handle

Device-name list element

\brief HCTL callback function \param hctl HCTL handle \param mask event mask \param elem related HCTL element (if any) \return 0 on success otherwise a negative error code

\brief Compare function for sorting HCTL elements \param e1 First element \param e2 Second element \return -1 if e1 < e2, 0 if e1 == e2, 1 if e1 > e2

\brief HCTL element callback function \param elem HCTL element \param mask event mask \return 0 on success otherwise a negative error code

HCTL element handle

HCTL handle

Hi-res timestamp

HwDep DSP image container

HwDep DSP status container

HwDep information container

HwDep handle

\brief Internal structure for an input object.

\brief Error handler callback. \param file Source file name. \param line Line number. \param function Function name. \param err Value of \c errno, or 0 if not relevant. \param fmt \c printf(3) format. \param … \c printf(3) arguments.

Local error handler function type

container for sequencer midi event parsers

\brief Mixer callback function \param mixer Mixer handle \param mask event mask \param elem related mixer element (if any) \return 0 on success otherwise a negative error code

Mixer elements class handle

\brief Compare function for sorting mixer elements \param e1 First element \param e2 Second element \return -1 if e1 < e2, 0 if e1 == e2, 1 if e1 > e2

\brief Mixer element callback function \param elem Mixer element \param mask event mask \return 0 on success otherwise a negative error code

Mixer element handle

\brief Event callback for the mixer class \param class_ Mixer class \param mask Event mask (SND_CTL_EVENT_*) \param helem HCTL element which invoked the event \param melem Mixer element associated to HCTL element \return zero if success, otherwise a negative error value

Mixer simple element identifier

Mixer simple element - register options - abstraction level

Mixer handle

\brief Internal structure for an output object.

PCM access types mask

PCM area specification

channel positions

the header of array items returned from snd_pcm_query_chmaps()

the channel map header

channel map list type

PCM formats mask

PCM hook callback function

PCM hook container

PCM hardware configuration space container

PCM generic info container

#SND_PCM_TYPE_METER scope functions

#SND_PCM_TYPE_METER scope handle

Signed frames quantity

PCM status container

PCM subformats mask

PCM software configuration container

PCM synchronization ID

PCM handle

Unsigned frames quantity

RawMidi information container

RawMidi settings container

RawMidi status container

RawMidi handle

SCTL type

Sequencer event address

client information container

client pool information container

client types

Connection (subscription) between ports

Controller event

external stored data

Note event

queue timer control

generic set of bytes (12x8 bit)

generic set of integers (3x32 bit)

Sequencer event

Sequencer event type

Sequencer event data type

port information container

port subscription container

type of query subscription

subscription query container

queue information container

Queue skew values

queue status container

queue tempo container

queue timer information container

sequencer timer sources

Real-time data record

event removal conditionals

Result events

system information container

Sequencer handle

(MIDI) Tick-time data record

unioned time stamp

timer global info structure

timer global params structure

timer global status structure

timer identification structure

timer info structure

timer params structure

timer query handle

timer read structure

timer status structure

timer handle

timer tstamp + event read structure

Timestamp

Unions