1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 5. Sound Devices</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux Device Drivers"><link rel="up" href="index.html" title="Linux Device Drivers"><link rel="prev" href="API-lan-reply.html" title="lan_reply"><link rel="next" href="API-snd-printk.html" title="snd_printk"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. Sound Devices</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-lan-reply.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="API-snd-printk.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="snddev"></a>Chapter 5. Sound Devices</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="refentrytitle"><a href="API-snd-printk.html"><span class="phrase">snd_printk</span></a></span><span class="refpurpose"> — 
2  printk wrapper
3 </span></dt><dt><span class="refentrytitle"><a href="API-snd-printd.html"><span class="phrase">snd_printd</span></a></span><span class="refpurpose"> — 
4     debug printk
5 </span></dt><dt><span class="refentrytitle"><a href="API-snd-BUG.html"><span class="phrase">snd_BUG</span></a></span><span class="refpurpose"> — 
6     give a BUG warning message and stack trace
7 </span></dt><dt><span class="refentrytitle"><a href="API-snd-printd-ratelimit.html"><span class="phrase">snd_printd_ratelimit</span></a></span><span class="refpurpose"> — 
8   </span></dt><dt><span class="refentrytitle"><a href="API-snd-BUG-ON.html"><span class="phrase">snd_BUG_ON</span></a></span><span class="refpurpose"> — 
9     debugging check macro
10 </span></dt><dt><span class="refentrytitle"><a href="API-snd-printdd.html"><span class="phrase">snd_printdd</span></a></span><span class="refpurpose"> — 
11     debug printk
12 </span></dt><dt><span class="refentrytitle"><a href="API-register-sound-special-device.html"><span class="phrase">register_sound_special_device</span></a></span><span class="refpurpose"> — 
13  register a special sound node
14 </span></dt><dt><span class="refentrytitle"><a href="API-register-sound-mixer.html"><span class="phrase">register_sound_mixer</span></a></span><span class="refpurpose"> — 
15     register a mixer device
16 </span></dt><dt><span class="refentrytitle"><a href="API-register-sound-midi.html"><span class="phrase">register_sound_midi</span></a></span><span class="refpurpose"> — 
17     register a midi device
18 </span></dt><dt><span class="refentrytitle"><a href="API-register-sound-dsp.html"><span class="phrase">register_sound_dsp</span></a></span><span class="refpurpose"> — 
19     register a DSP device
20 </span></dt><dt><span class="refentrytitle"><a href="API-unregister-sound-special.html"><span class="phrase">unregister_sound_special</span></a></span><span class="refpurpose"> — 
21     unregister a special sound device
22 </span></dt><dt><span class="refentrytitle"><a href="API-unregister-sound-mixer.html"><span class="phrase">unregister_sound_mixer</span></a></span><span class="refpurpose"> — 
23     unregister a mixer
24 </span></dt><dt><span class="refentrytitle"><a href="API-unregister-sound-midi.html"><span class="phrase">unregister_sound_midi</span></a></span><span class="refpurpose"> — 
25     unregister a midi device
26 </span></dt><dt><span class="refentrytitle"><a href="API-unregister-sound-dsp.html"><span class="phrase">unregister_sound_dsp</span></a></span><span class="refpurpose"> — 
27     unregister a DSP device
28 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-stream-linked.html"><span class="phrase">snd_pcm_stream_linked</span></a></span><span class="refpurpose"> — 
29  Check whether the substream is linked with others
30 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-stream-lock-irqsave.html"><span class="phrase">snd_pcm_stream_lock_irqsave</span></a></span><span class="refpurpose"> — 
31     Lock the PCM stream
32 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-group-for-each-entry.html"><span class="phrase">snd_pcm_group_for_each_entry</span></a></span><span class="refpurpose"> — 
33     iterate over the linked substreams
34 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-running.html"><span class="phrase">snd_pcm_running</span></a></span><span class="refpurpose"> — 
35     Check whether the substream is in a running state
36 </span></dt><dt><span class="refentrytitle"><a href="API-bytes-to-samples.html"><span class="phrase">bytes_to_samples</span></a></span><span class="refpurpose"> — 
37     Unit conversion of the size from bytes to samples
38 </span></dt><dt><span class="refentrytitle"><a href="API-bytes-to-frames.html"><span class="phrase">bytes_to_frames</span></a></span><span class="refpurpose"> — 
39     Unit conversion of the size from bytes to frames
40 </span></dt><dt><span class="refentrytitle"><a href="API-samples-to-bytes.html"><span class="phrase">samples_to_bytes</span></a></span><span class="refpurpose"> — 
41     Unit conversion of the size from samples to bytes
42 </span></dt><dt><span class="refentrytitle"><a href="API-frames-to-bytes.html"><span class="phrase">frames_to_bytes</span></a></span><span class="refpurpose"> — 
43     Unit conversion of the size from frames to bytes
44 </span></dt><dt><span class="refentrytitle"><a href="API-frame-aligned.html"><span class="phrase">frame_aligned</span></a></span><span class="refpurpose"> — 
45     Check whether the byte size is aligned to frames
46 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-buffer-bytes.html"><span class="phrase">snd_pcm_lib_buffer_bytes</span></a></span><span class="refpurpose"> — 
47     Get the buffer size of the current PCM in bytes
48 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-period-bytes.html"><span class="phrase">snd_pcm_lib_period_bytes</span></a></span><span class="refpurpose"> — 
49     Get the period size of the current PCM in bytes
50 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-playback-avail.html"><span class="phrase">snd_pcm_playback_avail</span></a></span><span class="refpurpose"> — 
51     Get the available (writable) space for playback
52 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-capture-avail.html"><span class="phrase">snd_pcm_capture_avail</span></a></span><span class="refpurpose"> — 
53     Get the available (readable) space for capture
54 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-playback-hw-avail.html"><span class="phrase">snd_pcm_playback_hw_avail</span></a></span><span class="refpurpose"> — 
55     Get the queued space for playback
56 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-capture-hw-avail.html"><span class="phrase">snd_pcm_capture_hw_avail</span></a></span><span class="refpurpose"> — 
57     Get the free space for capture
58 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-playback-ready.html"><span class="phrase">snd_pcm_playback_ready</span></a></span><span class="refpurpose"> — 
59     check whether the playback buffer is available
60 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-capture-ready.html"><span class="phrase">snd_pcm_capture_ready</span></a></span><span class="refpurpose"> — 
61     check whether the capture buffer is available
62 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-playback-data.html"><span class="phrase">snd_pcm_playback_data</span></a></span><span class="refpurpose"> — 
63     check whether any data exists on the playback buffer
64 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-playback-empty.html"><span class="phrase">snd_pcm_playback_empty</span></a></span><span class="refpurpose"> — 
65     check whether the playback buffer is empty
66 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-capture-empty.html"><span class="phrase">snd_pcm_capture_empty</span></a></span><span class="refpurpose"> — 
67     check whether the capture buffer is empty
68 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-trigger-done.html"><span class="phrase">snd_pcm_trigger_done</span></a></span><span class="refpurpose"> — 
69     Mark the master substream
70 </span></dt><dt><span class="refentrytitle"><a href="API-params-channels.html"><span class="phrase">params_channels</span></a></span><span class="refpurpose"> — 
71     Get the number of channels from the hw params
72 </span></dt><dt><span class="refentrytitle"><a href="API-params-rate.html"><span class="phrase">params_rate</span></a></span><span class="refpurpose"> — 
73     Get the sample rate from the hw params
74 </span></dt><dt><span class="refentrytitle"><a href="API-params-period-size.html"><span class="phrase">params_period_size</span></a></span><span class="refpurpose"> — 
75     Get the period size (in frames) from the hw params
76 </span></dt><dt><span class="refentrytitle"><a href="API-params-periods.html"><span class="phrase">params_periods</span></a></span><span class="refpurpose"> — 
77     Get the number of periods from the hw params
78 </span></dt><dt><span class="refentrytitle"><a href="API-params-buffer-size.html"><span class="phrase">params_buffer_size</span></a></span><span class="refpurpose"> — 
79     Get the buffer size (in frames) from the hw params
80 </span></dt><dt><span class="refentrytitle"><a href="API-params-buffer-bytes.html"><span class="phrase">params_buffer_bytes</span></a></span><span class="refpurpose"> — 
81     Get the buffer size (in bytes) from the hw params
82 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-constraint-single.html"><span class="phrase">snd_pcm_hw_constraint_single</span></a></span><span class="refpurpose"> — 
83     Constrain parameter to a single value
84 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-format-cpu-endian.html"><span class="phrase">snd_pcm_format_cpu_endian</span></a></span><span class="refpurpose"> — 
85     Check the PCM format is CPU-endian
86 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-set-runtime-buffer.html"><span class="phrase">snd_pcm_set_runtime_buffer</span></a></span><span class="refpurpose"> — 
87     Set the PCM runtime buffer
88 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-gettime.html"><span class="phrase">snd_pcm_gettime</span></a></span><span class="refpurpose"> — 
89     Fill the timespec depending on the timestamp mode
90 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-alloc-vmalloc-buffer.html"><span class="phrase">snd_pcm_lib_alloc_vmalloc_buffer</span></a></span><span class="refpurpose"> — 
91     allocate virtual DMA buffer
92 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-alloc-vmalloc-32-buffer.html"><span class="phrase">snd_pcm_lib_alloc_vmalloc_32_buffer</span></a></span><span class="refpurpose"> — 
93     allocate 32-bit-addressable buffer
94 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-sgbuf-get-addr.html"><span class="phrase">snd_pcm_sgbuf_get_addr</span></a></span><span class="refpurpose"> — 
95     Get the DMA address at the corresponding offset
96 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-sgbuf-get-ptr.html"><span class="phrase">snd_pcm_sgbuf_get_ptr</span></a></span><span class="refpurpose"> — 
97     Get the virtual address at the corresponding offset
98 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-sgbuf-get-chunk-size.html"><span class="phrase">snd_pcm_sgbuf_get_chunk_size</span></a></span><span class="refpurpose"> — 
99     Compute the max size that fits within the contig. page from the given size
100 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-mmap-data-open.html"><span class="phrase">snd_pcm_mmap_data_open</span></a></span><span class="refpurpose"> — 
101     increase the mmap counter
102 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-mmap-data-close.html"><span class="phrase">snd_pcm_mmap_data_close</span></a></span><span class="refpurpose"> — 
103     decrease the mmap counter
104 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-limit-isa-dma-size.html"><span class="phrase">snd_pcm_limit_isa_dma_size</span></a></span><span class="refpurpose"> — 
105     Get the max size fitting with ISA DMA transfer
106 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-stream-str.html"><span class="phrase">snd_pcm_stream_str</span></a></span><span class="refpurpose"> — 
107     Get a string naming the direction of a stream
108 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-chmap-substream.html"><span class="phrase">snd_pcm_chmap_substream</span></a></span><span class="refpurpose"> — 
109     get the PCM substream assigned to the given chmap info
110 </span></dt><dt><span class="refentrytitle"><a href="API-pcm-format-to-bits.html"><span class="phrase">pcm_format_to_bits</span></a></span><span class="refpurpose"> — 
111     Strong-typed conversion of pcm_format to bitwise
112 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-format-name.html"><span class="phrase">snd_pcm_format_name</span></a></span><span class="refpurpose"> — 
113  Return a name string for the given PCM format
114 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-new-stream.html"><span class="phrase">snd_pcm_new_stream</span></a></span><span class="refpurpose"> — 
115     create a new PCM stream
116 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-new.html"><span class="phrase">snd_pcm_new</span></a></span><span class="refpurpose"> — 
117     create a new PCM instance
118 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-new-internal.html"><span class="phrase">snd_pcm_new_internal</span></a></span><span class="refpurpose"> — 
119     create a new internal PCM instance
120 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-notify.html"><span class="phrase">snd_pcm_notify</span></a></span><span class="refpurpose"> — 
121     Add/remove the notify list
122 </span></dt><dt><span class="refentrytitle"><a href="API-snd-device-new.html"><span class="phrase">snd_device_new</span></a></span><span class="refpurpose"> — 
123  create an ALSA device component
124 </span></dt><dt><span class="refentrytitle"><a href="API-snd-device-disconnect.html"><span class="phrase">snd_device_disconnect</span></a></span><span class="refpurpose"> — 
125     disconnect the device
126 </span></dt><dt><span class="refentrytitle"><a href="API-snd-device-free.html"><span class="phrase">snd_device_free</span></a></span><span class="refpurpose"> — 
127     release the device from the card
128 </span></dt><dt><span class="refentrytitle"><a href="API-snd-device-register.html"><span class="phrase">snd_device_register</span></a></span><span class="refpurpose"> — 
129     register the device
130 </span></dt><dt><span class="refentrytitle"><a href="API-snd-info-get-line.html"><span class="phrase">snd_info_get_line</span></a></span><span class="refpurpose"> — 
131  read one line from the procfs buffer
132 </span></dt><dt><span class="refentrytitle"><a href="API-snd-info-get-str.html"><span class="phrase">snd_info_get_str</span></a></span><span class="refpurpose"> — 
133     parse a string token
134 </span></dt><dt><span class="refentrytitle"><a href="API-snd-info-create-module-entry.html"><span class="phrase">snd_info_create_module_entry</span></a></span><span class="refpurpose"> — 
135     create an info entry for the given module
136 </span></dt><dt><span class="refentrytitle"><a href="API-snd-info-create-card-entry.html"><span class="phrase">snd_info_create_card_entry</span></a></span><span class="refpurpose"> — 
137     create an info entry for the given card
138 </span></dt><dt><span class="refentrytitle"><a href="API-snd-info-free-entry.html"><span class="phrase">snd_info_free_entry</span></a></span><span class="refpurpose"> — 
139     release the info entry
140 </span></dt><dt><span class="refentrytitle"><a href="API-snd-info-register.html"><span class="phrase">snd_info_register</span></a></span><span class="refpurpose"> — 
141     register the info entry
142 </span></dt><dt><span class="refentrytitle"><a href="API-snd-rawmidi-receive.html"><span class="phrase">snd_rawmidi_receive</span></a></span><span class="refpurpose"> — 
143  receive the input data from the device
144 </span></dt><dt><span class="refentrytitle"><a href="API-snd-rawmidi-transmit-empty.html"><span class="phrase">snd_rawmidi_transmit_empty</span></a></span><span class="refpurpose"> — 
145     check whether the output buffer is empty
146 </span></dt><dt><span class="refentrytitle"><a href="API---snd-rawmidi-transmit-peek.html"><span class="phrase">__snd_rawmidi_transmit_peek</span></a></span><span class="refpurpose"> — 
147     copy data from the internal buffer
148 </span></dt><dt><span class="refentrytitle"><a href="API-snd-rawmidi-transmit-peek.html"><span class="phrase">snd_rawmidi_transmit_peek</span></a></span><span class="refpurpose"> — 
149     copy data from the internal buffer
150 </span></dt><dt><span class="refentrytitle"><a href="API---snd-rawmidi-transmit-ack.html"><span class="phrase">__snd_rawmidi_transmit_ack</span></a></span><span class="refpurpose"> — 
151     acknowledge the transmission
152 </span></dt><dt><span class="refentrytitle"><a href="API-snd-rawmidi-transmit-ack.html"><span class="phrase">snd_rawmidi_transmit_ack</span></a></span><span class="refpurpose"> — 
153     acknowledge the transmission
154 </span></dt><dt><span class="refentrytitle"><a href="API-snd-rawmidi-transmit.html"><span class="phrase">snd_rawmidi_transmit</span></a></span><span class="refpurpose"> — 
155     copy from the buffer to the device
156 </span></dt><dt><span class="refentrytitle"><a href="API-snd-rawmidi-new.html"><span class="phrase">snd_rawmidi_new</span></a></span><span class="refpurpose"> — 
157     create a rawmidi instance
158 </span></dt><dt><span class="refentrytitle"><a href="API-snd-rawmidi-set-ops.html"><span class="phrase">snd_rawmidi_set_ops</span></a></span><span class="refpurpose"> — 
159     set the rawmidi operators
160 </span></dt><dt><span class="refentrytitle"><a href="API-snd-request-card.html"><span class="phrase">snd_request_card</span></a></span><span class="refpurpose"> — 
161  try to load the card module
162 </span></dt><dt><span class="refentrytitle"><a href="API-snd-lookup-minor-data.html"><span class="phrase">snd_lookup_minor_data</span></a></span><span class="refpurpose"> — 
163     get user data of a registered device
164 </span></dt><dt><span class="refentrytitle"><a href="API-snd-register-device.html"><span class="phrase">snd_register_device</span></a></span><span class="refpurpose"> — 
165     Register the ALSA device file for the card
166 </span></dt><dt><span class="refentrytitle"><a href="API-snd-unregister-device.html"><span class="phrase">snd_unregister_device</span></a></span><span class="refpurpose"> — 
167     unregister the device on the given card
168 </span></dt><dt><span class="refentrytitle"><a href="API-copy-to-user-fromio.html"><span class="phrase">copy_to_user_fromio</span></a></span><span class="refpurpose"> — 
169  copy data from mmio-space to user-space
170 </span></dt><dt><span class="refentrytitle"><a href="API-copy-from-user-toio.html"><span class="phrase">copy_from_user_toio</span></a></span><span class="refpurpose"> — 
171     copy data from user-space to mmio-space
172 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-preallocate-free-for-all.html"><span class="phrase">snd_pcm_lib_preallocate_free_for_all</span></a></span><span class="refpurpose"> — 
173  release all pre-allocated buffers on the pcm
174 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-preallocate-pages.html"><span class="phrase">snd_pcm_lib_preallocate_pages</span></a></span><span class="refpurpose"> — 
175     pre-allocation for the given DMA type
176 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-preallocate-pages-for-all.html"><span class="phrase">snd_pcm_lib_preallocate_pages_for_all</span></a></span><span class="refpurpose"> — 
177     pre-allocation for continuous memory type (all substreams)
178 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-sgbuf-ops-page.html"><span class="phrase">snd_pcm_sgbuf_ops_page</span></a></span><span class="refpurpose"> — 
179     get the page struct at the given offset
180 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-malloc-pages.html"><span class="phrase">snd_pcm_lib_malloc_pages</span></a></span><span class="refpurpose"> — 
181     allocate the DMA buffer
182 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-free-pages.html"><span class="phrase">snd_pcm_lib_free_pages</span></a></span><span class="refpurpose"> — 
183     release the allocated DMA buffer.
184 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-free-vmalloc-buffer.html"><span class="phrase">snd_pcm_lib_free_vmalloc_buffer</span></a></span><span class="refpurpose"> — 
185     free vmalloc buffer
186 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-get-vmalloc-page.html"><span class="phrase">snd_pcm_lib_get_vmalloc_page</span></a></span><span class="refpurpose"> — 
187     map vmalloc buffer offset to page struct
188 </span></dt><dt><span class="refentrytitle"><a href="API-snd-device-initialize.html"><span class="phrase">snd_device_initialize</span></a></span><span class="refpurpose"> — 
189  Initialize struct device for sound devices
190 </span></dt><dt><span class="refentrytitle"><a href="API-snd-card-new.html"><span class="phrase">snd_card_new</span></a></span><span class="refpurpose"> — 
191     create and initialize a soundcard structure
192 </span></dt><dt><span class="refentrytitle"><a href="API-snd-card-disconnect.html"><span class="phrase">snd_card_disconnect</span></a></span><span class="refpurpose"> — 
193     disconnect all APIs from the file-operations (user space)
194 </span></dt><dt><span class="refentrytitle"><a href="API-snd-card-free-when-closed.html"><span class="phrase">snd_card_free_when_closed</span></a></span><span class="refpurpose"> — 
195     Disconnect the card, free it later eventually
196 </span></dt><dt><span class="refentrytitle"><a href="API-snd-card-free.html"><span class="phrase">snd_card_free</span></a></span><span class="refpurpose"> — 
197     frees given soundcard structure
198 </span></dt><dt><span class="refentrytitle"><a href="API-snd-card-set-id.html"><span class="phrase">snd_card_set_id</span></a></span><span class="refpurpose"> — 
199     set card identification name
200 </span></dt><dt><span class="refentrytitle"><a href="API-snd-card-add-dev-attr.html"><span class="phrase">snd_card_add_dev_attr</span></a></span><span class="refpurpose"> — 
201     Append a new sysfs attribute group to card
202 </span></dt><dt><span class="refentrytitle"><a href="API-snd-card-register.html"><span class="phrase">snd_card_register</span></a></span><span class="refpurpose"> — 
203     register the soundcard
204 </span></dt><dt><span class="refentrytitle"><a href="API-snd-component-add.html"><span class="phrase">snd_component_add</span></a></span><span class="refpurpose"> — 
205     add a component string
206 </span></dt><dt><span class="refentrytitle"><a href="API-snd-card-file-add.html"><span class="phrase">snd_card_file_add</span></a></span><span class="refpurpose"> — 
207     add the file to the file list of the card
208 </span></dt><dt><span class="refentrytitle"><a href="API-snd-card-file-remove.html"><span class="phrase">snd_card_file_remove</span></a></span><span class="refpurpose"> — 
209     remove the file from the file list
210 </span></dt><dt><span class="refentrytitle"><a href="API-snd-power-wait.html"><span class="phrase">snd_power_wait</span></a></span><span class="refpurpose"> — 
211     wait until the power-state is changed.
212 </span></dt><dt><span class="refentrytitle"><a href="API-snd-dma-program.html"><span class="phrase">snd_dma_program</span></a></span><span class="refpurpose"> — 
213  program an ISA DMA transfer
214 </span></dt><dt><span class="refentrytitle"><a href="API-snd-dma-disable.html"><span class="phrase">snd_dma_disable</span></a></span><span class="refpurpose"> — 
215     stop the ISA DMA transfer
216 </span></dt><dt><span class="refentrytitle"><a href="API-snd-dma-pointer.html"><span class="phrase">snd_dma_pointer</span></a></span><span class="refpurpose"> — 
217     return the current pointer to DMA transfer buffer in bytes
218 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-notify.html"><span class="phrase">snd_ctl_notify</span></a></span><span class="refpurpose"> — 
219  Send notification to user-space for a control change
220 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-new1.html"><span class="phrase">snd_ctl_new1</span></a></span><span class="refpurpose"> — 
221     create a control instance from the template
222 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-free-one.html"><span class="phrase">snd_ctl_free_one</span></a></span><span class="refpurpose"> — 
223     release the control instance
224 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-add.html"><span class="phrase">snd_ctl_add</span></a></span><span class="refpurpose"> — 
225     add the control instance to the card
226 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-replace.html"><span class="phrase">snd_ctl_replace</span></a></span><span class="refpurpose"> — 
227     replace the control instance of the card
228 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-remove.html"><span class="phrase">snd_ctl_remove</span></a></span><span class="refpurpose"> — 
229     remove the control from the card and release it
230 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-remove-id.html"><span class="phrase">snd_ctl_remove_id</span></a></span><span class="refpurpose"> — 
231     remove the control of the given id and release it
232 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-activate-id.html"><span class="phrase">snd_ctl_activate_id</span></a></span><span class="refpurpose"> — 
233     activate/inactivate the control of the given id
234 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-rename-id.html"><span class="phrase">snd_ctl_rename_id</span></a></span><span class="refpurpose"> — 
235     replace the id of a control on the card
236 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-find-numid.html"><span class="phrase">snd_ctl_find_numid</span></a></span><span class="refpurpose"> — 
237     find the control instance with the given number-id
238 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-find-id.html"><span class="phrase">snd_ctl_find_id</span></a></span><span class="refpurpose"> — 
239     find the control instance with the given id
240 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-register-ioctl.html"><span class="phrase">snd_ctl_register_ioctl</span></a></span><span class="refpurpose"> — 
241     register the device-specific control-ioctls
242 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-register-ioctl-compat.html"><span class="phrase">snd_ctl_register_ioctl_compat</span></a></span><span class="refpurpose"> — 
243     register the device-specific 32bit compat control-ioctls
244 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-unregister-ioctl.html"><span class="phrase">snd_ctl_unregister_ioctl</span></a></span><span class="refpurpose"> — 
245     de-register the device-specific control-ioctls
246 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-unregister-ioctl-compat.html"><span class="phrase">snd_ctl_unregister_ioctl_compat</span></a></span><span class="refpurpose"> — 
247     de-register the device-specific compat 32bit control-ioctls
248 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-boolean-mono-info.html"><span class="phrase">snd_ctl_boolean_mono_info</span></a></span><span class="refpurpose"> — 
249     Helper function for a standard boolean info callback with a mono channel
250 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-boolean-stereo-info.html"><span class="phrase">snd_ctl_boolean_stereo_info</span></a></span><span class="refpurpose"> — 
251     Helper function for a standard boolean info callback with stereo two channels
252 </span></dt><dt><span class="refentrytitle"><a href="API-snd-ctl-enum-info.html"><span class="phrase">snd_ctl_enum_info</span></a></span><span class="refpurpose"> — 
253     fills the info structure for an enumerated control
254 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-set-ops.html"><span class="phrase">snd_pcm_set_ops</span></a></span><span class="refpurpose"> — 
255  set the PCM operators
256 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-set-sync.html"><span class="phrase">snd_pcm_set_sync</span></a></span><span class="refpurpose"> — 
257     set the PCM sync id
258 </span></dt><dt><span class="refentrytitle"><a href="API-snd-interval-refine.html"><span class="phrase">snd_interval_refine</span></a></span><span class="refpurpose"> — 
259     refine the interval value of configurator
260 </span></dt><dt><span class="refentrytitle"><a href="API-snd-interval-ratnum.html"><span class="phrase">snd_interval_ratnum</span></a></span><span class="refpurpose"> — 
261     refine the interval value
262 </span></dt><dt><span class="refentrytitle"><a href="API-snd-interval-list.html"><span class="phrase">snd_interval_list</span></a></span><span class="refpurpose"> — 
263     refine the interval value from the list
264 </span></dt><dt><span class="refentrytitle"><a href="API-snd-interval-ranges.html"><span class="phrase">snd_interval_ranges</span></a></span><span class="refpurpose"> — 
265     refine the interval value from the list of ranges
266 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-rule-add.html"><span class="phrase">snd_pcm_hw_rule_add</span></a></span><span class="refpurpose"> — 
267     add the hw-constraint rule
268 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-constraint-mask64.html"><span class="phrase">snd_pcm_hw_constraint_mask64</span></a></span><span class="refpurpose"> — 
269     apply the given bitmap mask constraint
270 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-constraint-integer.html"><span class="phrase">snd_pcm_hw_constraint_integer</span></a></span><span class="refpurpose"> — 
271     apply an integer constraint to an interval
272 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-constraint-minmax.html"><span class="phrase">snd_pcm_hw_constraint_minmax</span></a></span><span class="refpurpose"> — 
273     apply a min/max range constraint to an interval
274 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-constraint-list.html"><span class="phrase">snd_pcm_hw_constraint_list</span></a></span><span class="refpurpose"> — 
275     apply a list of constraints to a parameter
276 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-constraint-ranges.html"><span class="phrase">snd_pcm_hw_constraint_ranges</span></a></span><span class="refpurpose"> — 
277     apply list of range constraints to a parameter
278 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-constraint-ratnums.html"><span class="phrase">snd_pcm_hw_constraint_ratnums</span></a></span><span class="refpurpose"> — 
279     apply ratnums constraint to a parameter
280 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-constraint-ratdens.html"><span class="phrase">snd_pcm_hw_constraint_ratdens</span></a></span><span class="refpurpose"> — 
281     apply ratdens constraint to a parameter
282 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-constraint-msbits.html"><span class="phrase">snd_pcm_hw_constraint_msbits</span></a></span><span class="refpurpose"> — 
283     add a hw constraint msbits rule
284 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-constraint-step.html"><span class="phrase">snd_pcm_hw_constraint_step</span></a></span><span class="refpurpose"> — 
285     add a hw constraint step rule
286 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-constraint-pow2.html"><span class="phrase">snd_pcm_hw_constraint_pow2</span></a></span><span class="refpurpose"> — 
287     add a hw constraint power-of-2 rule
288 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-rule-noresample.html"><span class="phrase">snd_pcm_hw_rule_noresample</span></a></span><span class="refpurpose"> — 
289     add a rule to allow disabling hw resampling
290 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-param-value.html"><span class="phrase">snd_pcm_hw_param_value</span></a></span><span class="refpurpose"> — 
291     return <em class="parameter"><code>params</code></em> field <em class="parameter"><code>var</code></em> value
292 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-param-first.html"><span class="phrase">snd_pcm_hw_param_first</span></a></span><span class="refpurpose"> — 
293     refine config space and return minimum value
294 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-hw-param-last.html"><span class="phrase">snd_pcm_hw_param_last</span></a></span><span class="refpurpose"> — 
295     refine config space and return maximum value
296 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-ioctl.html"><span class="phrase">snd_pcm_lib_ioctl</span></a></span><span class="refpurpose"> — 
297     a generic PCM ioctl callback
298 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-period-elapsed.html"><span class="phrase">snd_pcm_period_elapsed</span></a></span><span class="refpurpose"> — 
299     update the pcm status for the next period
300 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-add-chmap-ctls.html"><span class="phrase">snd_pcm_add_chmap_ctls</span></a></span><span class="refpurpose"> — 
301     create channel-mapping control elements
302 </span></dt><dt><span class="refentrytitle"><a href="API-snd-hwdep-new.html"><span class="phrase">snd_hwdep_new</span></a></span><span class="refpurpose"> — 
303  create a new hwdep instance
304 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-stream-lock.html"><span class="phrase">snd_pcm_stream_lock</span></a></span><span class="refpurpose"> — 
305  Lock the PCM stream
306 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-stream-unlock.html"><span class="phrase">snd_pcm_stream_unlock</span></a></span><span class="refpurpose"> — 
307     Unlock the PCM stream
308 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-stream-lock-irq.html"><span class="phrase">snd_pcm_stream_lock_irq</span></a></span><span class="refpurpose"> — 
309     Lock the PCM stream
310 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-stream-unlock-irq.html"><span class="phrase">snd_pcm_stream_unlock_irq</span></a></span><span class="refpurpose"> — 
311     Unlock the PCM stream
312 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-stream-unlock-irqrestore.html"><span class="phrase">snd_pcm_stream_unlock_irqrestore</span></a></span><span class="refpurpose"> — 
313     Unlock the PCM stream
314 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-stop.html"><span class="phrase">snd_pcm_stop</span></a></span><span class="refpurpose"> — 
315     try to stop all running streams in the substream group
316 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-stop-xrun.html"><span class="phrase">snd_pcm_stop_xrun</span></a></span><span class="refpurpose"> — 
317     stop the running streams as XRUN
318 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-suspend.html"><span class="phrase">snd_pcm_suspend</span></a></span><span class="refpurpose"> — 
319     trigger SUSPEND to all linked streams
320 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-suspend-all.html"><span class="phrase">snd_pcm_suspend_all</span></a></span><span class="refpurpose"> — 
321     trigger SUSPEND to all substreams in the given pcm
322 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-default-mmap.html"><span class="phrase">snd_pcm_lib_default_mmap</span></a></span><span class="refpurpose"> — 
323     Default PCM data mmap function
324 </span></dt><dt><span class="refentrytitle"><a href="API-snd-pcm-lib-mmap-iomem.html"><span class="phrase">snd_pcm_lib_mmap_iomem</span></a></span><span class="refpurpose"> — 
325     Default PCM data mmap function for I/O mem
326 </span></dt><dt><span class="refentrytitle"><a href="API-snd-malloc-pages.html"><span class="phrase">snd_malloc_pages</span></a></span><span class="refpurpose"> — 
327  allocate pages with the given size
328 </span></dt><dt><span class="refentrytitle"><a href="API-snd-free-pages.html"><span class="phrase">snd_free_pages</span></a></span><span class="refpurpose"> — 
329     release the pages
330 </span></dt><dt><span class="refentrytitle"><a href="API-snd-dma-alloc-pages.html"><span class="phrase">snd_dma_alloc_pages</span></a></span><span class="refpurpose"> — 
331     allocate the buffer area according to the given type
332 </span></dt><dt><span class="refentrytitle"><a href="API-snd-dma-alloc-pages-fallback.html"><span class="phrase">snd_dma_alloc_pages_fallback</span></a></span><span class="refpurpose"> — 
333     allocate the buffer area according to the given type with fallback
334 </span></dt><dt><span class="refentrytitle"><a href="API-snd-dma-free-pages.html"><span class="phrase">snd_dma_free_pages</span></a></span><span class="refpurpose"> — 
335     release the allocated buffer
336 </span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-lan-reply.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="API-snd-printk.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">lan_reply</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">snd_printk</span></td></tr></table></div></body></html>
337