1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><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-format-cpu-endian.html"><span class="phrase">snd_pcm_format_cpu_endian</span></a></span><span class="refpurpose"> — 83 Check the PCM format is CPU-endian 84 </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"> — 85 Set the PCM runtime buffer 86 </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"> — 87 Fill the timespec depending on the timestamp mode 88 </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"> — 89 allocate virtual DMA buffer 90 </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"> — 91 allocate 32-bit-addressable buffer 92 </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"> — 93 Get the DMA address at the corresponding offset 94 </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"> — 95 Get the virtual address at the corresponding offset 96 </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"> — 97 Compute the max size that fits within the contig. page from the given size 98 </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"> — 99 increase the mmap counter 100 </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"> — 101 decrease the mmap counter 102 </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"> — 103 Get the max size fitting with ISA DMA transfer 104 </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"> — 105 Get a string naming the direction of a stream 106 </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"> — 107 get the PCM substream assigned to the given chmap info 108 </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"> — 109 Strong-typed conversion of pcm_format to bitwise 110 </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"> — 111 Return a name string for the given PCM format 112 </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"> — 113 create a new PCM stream 114 </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"> — 115 create a new PCM instance 116 </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"> — 117 create a new internal PCM instance 118 </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"> — 119 Add/remove the notify list 120 </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"> — 121 create an ALSA device component 122 </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"> — 123 disconnect the device 124 </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"> — 125 release the device from the card 126 </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"> — 127 register the device 128 </span></dt><dt><span class="refentrytitle"><a href="API-snd-iprintf.html"><span class="phrase">snd_iprintf</span></a></span><span class="refpurpose"> — 129 printf on the procfs buffer 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-card-proc-new.html"><span class="phrase">snd_card_proc_new</span></a></span><span class="refpurpose"> — 139 create an info entry for the given card 140 </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"> — 141 release the info entry 142 </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"> — 143 register the info entry 144 </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"> — 145 receive the input data from the device 146 </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"> — 147 check whether the output buffer is empty 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-peek.html"><span class="phrase">snd_rawmidi_transmit_peek</span></a></span><span class="refpurpose"> — 151 copy data from the internal buffer 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-ack.html"><span class="phrase">snd_rawmidi_transmit_ack</span></a></span><span class="refpurpose"> — 155 acknowledge the transmission 156 </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"> — 157 copy from the buffer to the device 158 </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"> — 159 create a rawmidi instance 160 </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"> — 161 set the rawmidi operators 162 </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"> — 163 try to load the card module 164 </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"> — 165 get user data of a registered device 166 </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"> — 167 Register the ALSA device file for the card 168 </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"> — 169 unregister the device on the given card 170 </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"> — 171 copy data from mmio-space to user-space 172 </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"> — 173 copy data from user-space to mmio-space 174 </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"> — 175 release all pre-allocated buffers on the pcm 176 </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"> — 177 pre-allocation for the given DMA type 178 </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"> — 179 pre-allocation for continuous memory type (all substreams) 180 </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"> — 181 get the page struct at the given offset 182 </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"> — 183 allocate the DMA buffer 184 </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"> — 185 release the allocated DMA buffer. 186 </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"> — 187 free vmalloc buffer 188 </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"> — 189 map vmalloc buffer offset to page struct 190 </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"> — 191 Initialize struct device for sound devices 192 </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"> — 193 create and initialize a soundcard structure 194 </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"> — 195 disconnect all APIs from the file-operations (user space) 196 </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"> — 197 Disconnect the card, free it later eventually 198 </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"> — 199 frees given soundcard structure 200 </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"> — 201 set card identification name 202 </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"> — 203 Append a new sysfs attribute group to card 204 </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"> — 205 register the soundcard 206 </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"> — 207 add a component string 208 </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"> — 209 add the file to the file list of the card 210 </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"> — 211 remove the file from the file list 212 </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"> — 213 wait until the power-state is changed. 214 </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"> — 215 program an ISA DMA transfer 216 </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"> — 217 stop the ISA DMA transfer 218 </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"> — 219 return the current pointer to DMA transfer buffer in bytes 220 </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"> — 221 Send notification to user-space for a control change 222 </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"> — 223 create a control instance from the template 224 </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"> — 225 release the control instance 226 </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"> — 227 add the control instance to the card 228 </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"> — 229 replace the control instance of the card 230 </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"> — 231 remove the control from the card and release it 232 </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"> — 233 remove the control of the given id and release it 234 </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"> — 235 activate/inactivate the control of the given id 236 </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"> — 237 replace the id of a control on the card 238 </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"> — 239 find the control instance with the given number-id 240 </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"> — 241 find the control instance with the given id 242 </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"> — 243 register the device-specific control-ioctls 244 </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"> — 245 register the device-specific 32bit compat control-ioctls 246 </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"> — 247 de-register the device-specific control-ioctls 248 </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"> — 249 de-register the device-specific compat 32bit control-ioctls 250 </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"> — 251 Helper function for a standard boolean info callback with a mono channel 252 </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"> — 253 Helper function for a standard boolean info callback with stereo two channels 254 </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"> — 255 fills the info structure for an enumerated control 256 </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"> — 257 set the PCM operators 258 </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"> — 259 set the PCM sync id 260 </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"> — 261 refine the interval value of configurator 262 </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"> — 263 refine the interval value 264 </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"> — 265 refine the interval value from the list 266 </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"> — 267 refine the interval value from the list of ranges 268 </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"> — 269 add the hw-constraint rule 270 </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"> — 271 apply the given bitmap mask constraint 272 </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"> — 273 apply an integer constraint to an interval 274 </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"> — 275 apply a min/max range constraint to an interval 276 </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"> — 277 apply a list of constraints to a parameter 278 </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"> — 279 apply list of range constraints to a parameter 280 </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"> — 281 apply ratnums constraint to a parameter 282 </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"> — 283 apply ratdens constraint to a parameter 284 </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"> — 285 add a hw constraint msbits rule 286 </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"> — 287 add a hw constraint step rule 288 </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"> — 289 add a hw constraint power-of-2 rule 290 </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"> — 291 add a rule to allow disabling hw resampling 292 </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"> — 293 return <em class="parameter"><code>params</code></em> field <em class="parameter"><code>var</code></em> value 294 </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"> — 295 refine config space and return minimum value 296 </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"> — 297 refine config space and return maximum value 298 </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"> — 299 a generic PCM ioctl callback 300 </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"> — 301 update the pcm status for the next period 302 </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"> — 303 create channel-mapping control elements 304 </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"> — 305 create a new hwdep instance 306 </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"> — 307 Lock the PCM stream 308 </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"> — 309 Unlock the PCM stream 310 </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"> — 311 Lock the PCM stream 312 </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"> — 313 Unlock the PCM stream 314 </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"> — 315 Unlock the PCM stream 316 </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"> — 317 try to stop all running streams in the substream group 318 </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"> — 319 stop the running streams as XRUN 320 </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"> — 321 trigger SUSPEND to all linked streams 322 </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"> — 323 trigger SUSPEND to all substreams in the given pcm 324 </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"> — 325 Default PCM data mmap function 326 </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"> — 327 Default PCM data mmap function for I/O mem 328 </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"> — 329 allocate pages with the given size 330 </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"> — 331 release the pages 332 </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"> — 333 allocate the buffer area according to the given type 334 </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"> — 335 allocate the buffer area according to the given type with fallback 336 </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"> — 337 release the allocated buffer 338 </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> 339