linux/sound/oss/soundcard.c
<<
>>
Prefs
   1/*
   2 * linux/sound/oss/soundcard.c
   3 *
   4 * Sound card driver for Linux
   5 *
   6 *
   7 * Copyright (C) by Hannu Savolainen 1993-1997
   8 *
   9 * OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
  10 * Version 2 (June 1991). See the "COPYING" file distributed with991). See the "COPYING" filen value="v2.62.6.16.61"
	  >
(option>
 e" name="L10">  10  10  10   4 * Soun1d card driver for Linux1
  10   3 *
   3 * Copy1right (C) by Hannu Savo1laine1 1993-1997
  10  10   2t"> * Ve2sion 2 (June 1991). See2the &2uot;COPYING" file distribRichid="Gooch     : moved filewit(nwitLIC-specific) /svice  to  clas_co3/e" name="L3">   3/*
  10eanup workun2000/0me=1ne" name="L10">  10  10  10  10  10
 clas228cfig.hd.c#PYING&="L10">  10  1includC/gfx/r/init.h>
gfx/r/init.hd.c#PgG&="L10">  10  1includC/gfx/r/   
gfx/r/     10  1includC/gfx/r/errno.h>
gfx/r/errno.hd.c#PgG&="L10">  10 * Ve3sion 2 (June 1991). See3the &30d.c##includCOPlG&"L10">  1includC/gfx/r/signal.h>
gfx/r/signal.hd.c#PgG&="L10">  10  1includC/gfx/r/fcntl.h>
gfx/r/fcntl.hd.c#PgG&="L10">  10  1includC/gfx/r/c   <.h>
gfx/r/c   <.hd.c#PgG&="L10">  10  1includC/gfx/r/stm>
f.h>
gfx/r/stm>
f.hd.c#PgG&="L10">  10  1includC/gfx/r/kmod.h>
gfx/r/kmod.hd.c#PgG&="L10">  10  1includC/gfx/r/kernel.h>
gfx/r/kernel.hd.c#PgG&="L10">  10  1+ambig=includC/asm-alpha/dma.h|includC/asm-arm/dma.h|includC/asm-avr32/dma.h|includC/asm-blackfin/dma.h|includC/asm-cr s/dma.h|includC/asm-frv/dma.h|includC/asm-generic/dma.h|includC/asm-h8300/dma.h|includC/asm-i386/dma.h|includC/asm-ia64/dma.h|includC/asm-m32r/dma.h|includC/asm-m68k/dma.h|includC/asm-m68knassu/dma.h|includC/asm-mips/dma.h|includC/asm-mips64/dma.h|includC/asm-par sc/dma.h|includC/asm-powerpc/dma.h|includC/asm-ppc/dma.h|includC/asm-s390/dma.h|includC/asm-sh/dma.h|includC/asm-sh64/dma.h|includC/asm- narc/dma.h|includC/asm-snarc64/dma.h|includC/asm-um/dma.h|includC/asm-v850/dma.h|includC/asm-x86/dma.h|includC/asm-x86_64/dma.h|includC/asm-xc84sa/dma.h>
  10  1+ambig=includC/asm-alpha/io.h|includC/asm-arm/io.h|includC/asm-avr32/io.h|includC/asm-blackfin/io.h|includC/asm-cr s/io.h|includC/asm-frv/io.h|includC/asm-generic/io.h|includC/asm-h8300/io.h|includC/asm-i386/io.h|includC/asm-ia64/io.h|includC/asm-m32r/io.h|includC/asm-m68k/io.h|includC/asm-m68knassu/io.h|includC/asm-mips/io.h|includC/asm-mips64/io.h|includC/asm-par sc/io.h|includC/asm-powerpc/io.h|includC/asm-ppc/io.h|includC/asm-s390/io.h|includC/asm-sh/io.h|includC/asm-sh64/io.h|includC/asm- narc/io.h|includC/asm- narc64/io.h|includC/asm-um/io.h|includC/asm-v850/io.h|includC/asm-x86/io.h|includC/asm-x86_64/io.h|includC/asm-xc84sa/io.h>
  10  1includC/gfx/r/wait.h>
gfx/r/wait.hd.c#PgG&="L10">  10  1includC/gfx/r/ioporo.h>
gfx/r/ioporo.hd.c#PgG&="L10">  10 * Ve4sion 2 (June 1991). See4the &40d.c##includCOPlG&"L10">  1includC/gfx/r/major.h>
gfx/r/major.hd.c#PgG&="L10">  10  1includC/gfx/r/delay.h>
gfx/r/delay.hd.c#PgG&="L10">  10  1includC/gfx/r/proc_fs.h>
gfx/r/proc_fs.hd.c#PgG&="L10">  10  1includC/gfx/r/mutex.h>
gfx/r/mutex.hd.c#PgG&="L10">  10  1includC/gfx/r/modul<.h>
gfx/r/modul<.hd.c#PgG&="L10">  10  1includC/gfx/r/mm.h>
gfx/r/mm.hd.c#PgG&="L10">  10  1includC/gfx/r/device.h>
gfx/r/device.hd.c#PgG&="L10">  10  10   2 * OSS/4Free for Linux is distr4ibute4 under the GNU GENERAL PUBLIC T>
(oou/souto be moved into includC/asm/dma.hd.ame="L5">   5t"> * Ve5sion 2 (June 1991). See5the &5uot;COPYING" file distri/e" name="L10">  10
feturn ajax_code=valid_dma
valid_dma 10valid_dma n n n MAX_DMA_CHANNELS n 10 10 10 2 * 10 10 clas2mem_blocksd.c#[turn ajax_code=MAX_MEM_BLOCKS
MAX_MEM_BLOCKSd.c#]&="L10"> 10DEFINE_MUTEX class="c_mutex 10 * Ve6sion 2 (June 1991). See6the &6uot;Cint turn ajax_code= clas2nblocks
clas2nblocksd.c# = 0&="L10"> 10 10 10 feturn ajax_code=CONFIG_SOUND_DMAP
CONFIG_SOUND_DMAP 10 clas2dmap_flagd.c# = 1&="L10"> 10 10 clas2dmap_flagd.c# = 0&="L10"> 10 10 10dma_alloc_mapd.c#[turn ajax_code=MAX_DMA_CHANNELS
MAX_DMA_CHANNELS 10 * Ve7sion 2 (June 1991). See7the &70 10 f/soeturn ajax_code=DMA_MAP_UNAVAIL
DMA_MAP_UNAVAILd.c# 0="L10"> 10DMA_MAP_FREEd.c# 1="L10"> 10 f/soeturn ajax_code=DMA_MAP_BUSY
DMA_MAP_BUSYd.c# 2="L10"> 10 10 10 eq_timed.c# = 0& tref="sound/oss/soundc/* Time(GPL)s/sv/sequenceroo/e" name="L10"> 10iv idd.c# *turn ajax_code= clas2ht (C
clas2ht (Cd.c#&="L10"> 10 10 2 * Ve8sion 2 (June 1991). See8the &8uot;COPYING" file distribTabl (GPL)28cfigurabl (mixerovolume(handne g name="L2"> 2/* 10mixer_vol_tabl d.c# turn ajax_code=mixer_volC
mixer_volCd.c#[turn ajax_code=MAX_MIXER_DEV
MAX_MIXER_DEV 10num_mixer_volumeCd.c#&="L10"> 10 10lo" _mixer_volumeC named.c#, int *turn ajax_code=levelC
levelCd.c#, int turn ajax_code=pres="lidiv id="fSEf">pres="l 10 10id.c#, turn ajax_code=n
n 10 10id.c# = 0& turn ajax_code=iidiv id="fSEf">id.c# PlG&eturn ajax_code=num_mixer_volumeC
num_mixer_volumeCd.c#& turn ajax_code=iidiv id="fSEf">id.c#++) {="L10"> 10 * Ve9sion 2 (June 1991). See9the &90d.c# if)(turn ajax_code=strncmp
strncmp named.c#, turn ajax_code=mixer_volC
mixer_volCd.c#[turn ajax_code=iidiv id="fSEf">id.c#].turn ajax_code=n/os
named.c#, 32) == 0) {="L10"> 10pres="l 10mixer_volCd.c#[turn ajax_code=iidiv id="fSEf">id.c#].turn ajax_code=num
numd.c# = turn ajax_code=iidiv id="fSEf">id.c#&="L10"> 10mixer_volCd.c#[turn ajax_code=iidiv id="fSEf">id.c#].turn ajax_code=levelC
levelCd.c#&="L10"> 10 10 10num_mixer_volumeCd.c# PgG&= turn ajax_code=MAX_MIXER_DEV
MAX_MIXER_DEV 10printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYING&Sclas: Too many(mixers (%s)\nPYING&"" name, turn ajax_code=n/os
named.c#)&="L10"> 10levelCd.c#&="L10"> 10 10 * Verssion 2 (June 1991). See tthe ttd.c# turn ajax_code=n
n num_mixer_volumeCd.c#++&="L10"> 10 10strncpy mixer_volCd.c#[turn ajax_code=n
n named.c#, turn ajax_code=n/os
named.c#, 32)&="L10"> 10 10pres="l 10mixer_volCd.c#[turn ajax_code=n
n numd.c# = turn ajax_code=n
n 10 10mixer_volCd.c#[turn ajax_code=n
n numd.c# = -1&="L10"> 10 10id.c# = 0& turn ajax_code=iidiv id="fSEf">id.c# PlG&e32& turn ajax_code=iidiv id="fSEf">id.c#++)="L10"> 10 * Verrsion 2 (June 1991). See the 110d.c# turn ajax_code=mixer_volC
mixer_volCd.c#[turn ajax_code=n
n levelCd.c#[turn ajax_code=iidiv id="fSEf">id.c#] = turn ajax_code=levelC
levelCd.c#[turn ajax_code=iidiv id="fSEf">id.c#]&="L10"> 10mixer_volCd.c#[turn ajax_code=n
n levelCd.c#&="L10"> 10 10EXPORT_SYMBOL lo" _mixer_volumeC 10 10set_mixer_levelC __userd.c# *Iturn ajax_code=arg
arg 10 10 <174 bytes, so IMHO no axasass=o not alloca16 it ocot;COs="ckri/e" name="L10"> 10mixer_vol_tabl d.c# turn ajax_code=buf
bufd.c#& ux+vL10"> 10 10 * Ver2sion 2 (June 1991). See12the 120d.c# if)(turn ajax_code=__copy_from_user
__copy_from_user bufd.c#, turn ajax_code=arg
arg bufd.c#)))="L10"> 10EFAULTd.c#&="L10"> 10lo" _mixer_volumeC bufd.c#.turn ajax_code=n/os
named.c#, turn ajax_code=buf
bufd.c#.turn ajax_code=levelC
levelCd.c#, 0)&="L10"> 10__copy_to_user arg bufd.c#, sizeof(turn ajax_code=buf
bufd.c#)))="L10"> 10EFAULTd.c#&="L10"> 10 10 10 10get_mixer_levelC __userd.c# *Iturn ajax_code=arg
arg 10 10 * Ve13sion 2 (June 1991). See13the 130d.c# int turn ajax_code=n
n 10 10__get_user n __userd.c# *)(&(((turn ajax_code=mixer_vol_tabl
mixer_vol_tabl d.c# turn ajax_code=__user
__userd.c# *)turn ajax_code=arg
arg numd.c#))))="L10"> 10EFAULTd.c#&="L10"> 10n n num_mixer_volumeCd.c#)="L10"> 10EINVALd.c#&="L10"> 10__copy_to_user arg mixer_volCd.c#[turn ajax_code=n
n mixer_vol_tabl d.c#)))="L10"> 10EFAULTd.c#&="L10"> 10 10 10 * Ve14sion 2 (June 1991). See14the 140 10 10PROC_BLOCK_SIZEd.c# (3*1024)="L10"> 10 10ssize_ld.c# turn ajax_code= clas_readidiv id="fSEf">sclas_read lue=d.c# *turn ajax_code=lue=idiv id="fSEf">lue=d.c#, chid turn ajax_code=__user
__userd.c# *turn ajax_code=buf
bufd.c#, turn ajax_code=size_lidiv id="fSEf">size_ld.c# turn ajax_code=cclalidiv id="fSEf">cclald.c#, turn ajax_code=loff_lidiv id="fSEf">loff_ld.c# *turn ajax_code=ppoC
ppoCd.c#)="L10"> 10 10devd.c# = turn ajax_code=iminor
iminor lue=d.c#-="+s urn ajax_code=f_pathidiv id="fSEf">l_pathd.c#.turn ajax_code=d="lry
d="lryd.c#-="+s urn ajax_code=d_inod=idiv id="fSEf">d_inod= 10reld.c# = -Lurn ajax_code=EINVAL
EINVALd.c#&="L10"> 10 10 2t"> * Ve15sion 2 (June 1991). See15the 15uot;COPYING" file distrrrrrrrrrC ThetLIC"L5" cls aren't(remotely happy61" o > (olocking, name="L3"> 3/* 3 * linu15x/sound/oss/soundcard.c15 10 10 10mutex_lock class="c_mutex 10 10DEB printk devd.c#, turn ajax_code=cclalidiv id="fSEf">cclald.c#))&="L10"> 10devd.c# & 0x0f) {="L10"> 10SND_DEV_DSPd.c#:="L10"> 10 * Ve16sion 2 (June 1991). See16the 160d.c# casoeturn ajax_code=SND_DEV_DSP1n> SND_DEV_DSP16ot;C:="L10"> 10 SND_DEV_AUDIOot;C:="L10"> 10reld.c# = turn ajax_code=audio_readidiv id="fSEf">audio_read devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#, turn ajax_code=buf
bufd.c#, turn ajax_code=cclalidiv id="fSEf">cclald.c#)&="L10"> 10 10 10 SND_DEV_SEQot;C:="L10"> 10 SND_DEV_SEQ2ot;C:="L10"> 10reld.c# = turn ajax_code=sequencer_readidiv id="fSEf">sequencer_read devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#, turn ajax_code=buf
bufd.c#, turn ajax_code=cclalidiv id="fSEf">cclald.c#)&="L10"> 10 10 10 * Ve17sion 2 (June 1991). See17the 170d.c# casoeturn ajax_code=SND_DEV_MIDIN> SND_DEV_MIDINot;C:="L10"> 10reld.c# = turn ajax_code=MIDIbuf_readidiv id="fSEf">MIDIbuf_read devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#, turn ajax_code=buf
bufd.c#, turn ajax_code=cclalidiv id="fSEf">cclald.c#)&="L10"> 10 10mutex_unlock class="c_mutex 10reld.c#&="L10"> 10 10 10ssize_ld.c# turn ajax_code= clas_writ=idiv id="fSEf"> clas_writ= lue=d.c# *turn ajax_code=lue=idiv id="fSEf">lue=d.c#, const chid turn ajax_code=__user
__userd.c# *turn ajax_code=buf
bufd.c#, turn ajax_code=size_lidiv id="fSEf">size_ld.c# turn ajax_code=cclalidiv id="fSEf">cclald.c#, turn ajax_code=loff_lidiv id="fSEf">loff_ld.c# *turn ajax_code=ppoC
ppoCd.c#)="L10"> 10 10devd.c# = turn ajax_code=iminor
iminor lue=d.c#-="+s urn ajax_code=f_pathidiv id="fSEf">l_pathd.c#.turn ajax_code=d="lry
d="lryd.c#-="+s urn ajax_code=d_inod=idiv id="fSEf">d_inod= 10 * Ve18sion 2 (June 1991). See18the 180d.c# int turn ajax_code=relidiv id="fSEf">reld.c# = -Lurn ajax_code=EINVAL
EINVALd.c#&="L10"> 10 10mutex_lock class="c_mutex 10DEB printk devd.c#, turn ajax_code=cclalidiv id="fSEf">cclald.c#))&="L10"> 10devd.c# & 0x0f) {="L10"> 10 SND_DEV_SEQot;C:="L10"> 10 SND_DEV_SEQ2ot;C:="L10"> 10reld.c# = turn ajax_code=sequencer_writ=idiv id="fSEf"> equencer_writ= devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#, turn ajax_code=buf
bufd.c#, turn ajax_code=cclalidiv id="fSEf">cclald.c#)&="L10"> 10 10 10 * Ve19sion 2 (June 1991). See19the 190d.c# casoeturn ajax_code=SND_DEV_DSP
SND_DEV_DSPd.c#:="L10"> 10 SND_DEV_DSP16ot;C:="L10"> 10SND_DEV_AUDIOot;C:="L10"> 10reld.c# = turn ajax_code=audio_writ=idiv id="fSEf">audio_writ= devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#, turn ajax_code=buf
bufd.c#, turn ajax_code=cclalidiv id="fSEf">cclald.c#)&="L10"> 10 10 10 SND_DEV_MIDINot;C:="L10"> 10reld.c# = turn ajax_code=MIDIbuf_writ=idiv id="fSEf">MIDIbuf_writ= devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#, turn ajax_code=buf
bufd.c#, turn ajax_code=cclalidiv id="fSEf">cclald.c#)&="L10"> 10 10 10 * Ve2ssion 2 (June 1991). See2tthe 2ttd.c# turn ajax_code=mutex_unlock
mutex_unlock class="c_mutex 10reld.c#&="L10"> 10 10 10sclas_open inod= inod= lue=d.c# *turn ajax_code=lue=idiv id="fSEf">lue=d.c#)="L10"> 10 10devd.c# = turn ajax_code=iminor
iminor inod= 10relvald.c#&="L10"> 10 10DEB printk devd.c#))&="L10"> 10 * Ve2rsion 2 (June 1991). See2 the 210d.c# if)((turn ajax_code=dev
devd.c# &gG&= turn ajax_code=SND_NDEVS
SND_NDEVSd.c#) || (turn ajax_code=dev
devd.c# &lG&e0)) {="L10"> 10printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYING&Invalid minor device %d\nPYING&"" name, turn ajax_code=dev
devd.c#)&="L10"> 10ENXIOd.c#&="L10"> 10 10mutex_lock class="c_mutex 10devd.c# & 0x0f) {="L10"> 10SND_DEV_CTLot;C:="L10"> 10devd.c# &gG&&gG&= 4&="L10"> 10devd.c# &gG&= 0 && turn ajax_code=dev
devd.c# &lG&eturn ajax_code=MAX_MIXER_DEV
MAX_MIXER_DEV mixer_devC devd.c#] == turn ajax_code=NULL
NULLd.c#) {="L10"> 10request_modul< devd.c#)&="L10"> 10 * Ve22sion 2 (June 1991). See22the 220d.c# }="L10"> 10relvald.c# = -Lurn ajax_code=ENXIO> ENXIOd.c#&="L10"> 10devd.c# && (turn ajax_code=dev
devd.c# &gG&= turn ajax_code=num_mixerC
num_mixerCd.c# || turn ajax_code=mixer_devC
mixer_devC devd.c#] == turn ajax_code=NULL
NULLd.c#))="L10"> 10 10 10try_modul<_get mixer_devC devd.c#]-="+s urn ajax_code=owner
ownerd.c#))="L10"> 10 10 10relvald.c# = 0&="L10"> 10 10 * Ve23sion 2 (June 1991). See23the 230 10 SND_DEV_SEQot;C:="L10"> 10SND_DEV_SEQ2ot;C:="L10"> 10relvald.c# = turn ajax_code=sequencer_open
sequencer_open devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#)&="L10"> 10 10 10 SND_DEV_MIDINot;C:="L10"> 10relvald.c# = turn ajax_code=MIDIbuf_open
MIDIbuf_open devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#)&="L10"> 10 10 10 * Ve24sion 2 (June 1991). See24the 240d.c# casoeturn ajax_code=SND_DEV_DSP
SND_DEV_DSPd.c#:="L10"> 10 SND_DEV_DSP16ot;C:="L10"> 10SND_DEV_AUDIOot;C:="L10"> 10relvald.c# = turn ajax_code=audio_open
audio_open devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#)&="L10"> 10 10 10 10printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYING&Invalid minor device %d\nPYING&"" name, turn ajax_code=dev
devd.c#)&="L10"> 10relvald.c# = -Lurn ajax_code=ENXIO> ENXIOd.c#&="L10"> 10 10 * Ve25sion 2 (June 1991). See25the 250 10mutex_unlock class="c_mutex 10relvald.c#&="L10"> 10 10 10sclas_releaso inod= inod= lue=d.c# *turn ajax_code=lue=idiv id="fSEf">lue=d.c#)="L10"> 10 10devd.c# = turn ajax_code=iminor
iminor inod= 10 10mutex_lock class="c_mutex 10 * Ve26sion 2 (June 1991). See26the 26td.c# turn ajax_code=DEB
DEB printk devd.c#))&="L10"> 10devd.c# & 0x0f) {="L10"> 10SND_DEV_CTLot;C:="L10"> 10modul<_put mixer_devC devd.c# &gG&&gG& 4]-="+s urn ajax_code=owner
ownerd.c#)&="L10"> 10 10 10 SND_DEV_SEQot;C:="L10"> 10SND_DEV_SEQ2ot;C:="L10"> 10sequencer_releaso devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#)&="L10"> 10 10 * Ve27sion 2 (June 1991). See27the 270 10 SND_DEV_MIDINot;C:="L10"> 10MIDIbuf_releaso devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#)&="L10"> 10 10 10SND_DEV_DSPd.c#:="L10"> 10 SND_DEV_DSP16ot;C:="L10"> 10SND_DEV_AUDIOot;C:="L10"> 10audio_releaso devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#)&="L10"> 10 10 * Ve28sion 2 (June 1991). See28the 280 10 10printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYING&Sclas error: Releas.ng unknown device 0x%02x\nPYING&"" name, turn ajax_code=dev
devd.c#)&="L10"> 10 10mutex_unlock class="c_mutex 10 10 10 10 10get_mixer_info devd.c#, voidIturn ajax_code=__user
__userd.c# *turn ajax_code=arg
arg 10 * Ve29sion 2 (June 1991). See29the 290d.c#{="L10"> 10mixer_info info 10memset info info 10.62lcpy info idd.c#, turn ajax_code=mixer_devC
mixer_devC devd.c#]-="+s urn ajax_code=ididiv id="fSEf">idd.c#, sizeof(turn ajax_code=info
info idd.c#))&="L10"> 10.62lcpy info r Lid.c#, turn ajax_code=mixer_devC
mixer_devC devd.c#]-="+s urn ajax_code=r Li
r Lid.c#, sizeof(turn ajax_code=info
info r Lid.c#))&="L10"> 10info modify_cclaterd.c# = turn ajax_code=mixer_devC
mixer_devC devd.c#]-="+s urn ajax_code=modify_cclater
modify_cclaterd.c#&="L10"> 10__copy_to_user arg info info 10EFAULTd.c#&="L10"> 10 10 10 * Ve3ssion 2 (June 1991). See3tthe 300 10get_old_mixer_info devd.c#, voidIturn ajax_code=__user
__userd.c# *turn ajax_code=arg
arg 10 10_old_mixer_info info 10memset info info 10.62lcpy info idd.c#, turn ajax_code=mixer_devC
mixer_devC devd.c#]-="+s urn ajax_code=ididiv id="fSEf">idd.c#, sizeof(turn ajax_code=info
info idd.c#))&="L10"> 10.62lcpy info r Lid.c#, turn ajax_code=mixer_devC
mixer_devC devd.c#]-="+s urn ajax_code=r Li
r Lid.c#, sizeof(turn ajax_code=info
info r Lid.c#))&="L10"> 10copy_to_user arg info info 10EFAULTd.c#&="L10"> 10 10 * Ve3rsion 2 (June 1991). See3 the 310d.c#}="L10"> 10 10sclas_mixer_ioctl mixdev cmdd.c#, voidIturn ajax_code=__user
__userd.c# *turn ajax_code=arg
arg 10 10mixdev mixdev MAX_MIXER_DEV 10 ENXIOd.c#&="L10"> 10 10mixer_devC mixdev NULLd.c#) {="L10"> 10request_modul< mixdev 10 10 * Ve32sion 2 (June 1991). See32the 320d.c# if)(turn ajax_code=mixdev
mixdev num_mixerCd.c# || !turn ajax_code=mixer_devC
mixer_devC mixdev 10 ENXIOd.c#&="L10"> 10cmdd.c# == turn ajax_code=SOUND_MIXER_INFO> SOUND_MIXER_INFO 10get_mixer_info mixdev arg 10cmdd.c# == turn ajax_code=SOUND_OLD_MIXER_INFO> SOUND_OLD_MIXER_INFO 10get_old_mixer_info mixdev arg 10_SIOC_DIR cmdd.c#) & turn ajax_code=_SIOC_WRITEidiv id="fSEf">_SIOC_WRITE 10mixer_devC mixdev modify_cclaterd.c#++&="L10"> 10mixer_devC mixdev ioctl 10EINVALd.c#&="L10"> 10 * Ve33sion 2 (June 1991). See33the 330d.c# ax_lookturn ajax_code=mixer_devC
mixer_devC mixdev ioctl mixdev cmdd.c#, turn ajax_code=arg
arg 10 10 10sclas_ioctl lue=d.c# *turn ajax_code=lue=idiv id="fSEf">lue=d.c#, unsigned int turn ajax_code=cmdidiv id="fSEf">cmdd.c#, unsigned long turn ajax_code=arg
arg 10 10len dtyp=d.c#&="L10"> 10devd.c# = turn ajax_code=iminor
iminor lue=d.c#-="+s urn ajax_code=f_d="lry
f_d="lryd.c#-="+s urn ajax_code=d_inod=idiv id="fSEf">d_inod= 10reld.c# = -Lurn ajax_code=EINVAL
EINVALd.c#&="L10"> 10__userd.c# *turn ajax_code=p
pd.c# = (voidIturn ajax_code=__user
__userd.c# *)turn ajax_code=arg
arg 10 10 * Ve34sion 2 (June 1991). See34the 340d.c# if)(turn ajax_code=_SIOC_DIRidiv id="fSEf">_SIOC_DIR cmdd.c#) != turn ajax_code=_SIOC_NONEidiv id="fSEf">_SIOC_NONE _SIOC_DIR cmdd.c#) != 0) {="L10"> 10 10 10 10len _SIOC_SIZE cmdd.c#)&="L10"> 10len len pd.c#)="L10"> 10EFAULTd.c#&="L10"> 10_SIOC_DIR cmdd.c#) & turn ajax_code=_SIOC_WRITEidiv id="fSEf">_SIOC_WRITE 10access_ok VERIFY_READd.c#, turn ajax_code=p
pd.c#, turn ajax_code=len
len 10EFAULTd.c#&="L10"> 10 * Ve35sion 2 (June 1991). See35the 350d.c# if)(turn ajax_code=_SIOC_DIRidiv id="fSEf">_SIOC_DIR cmdd.c#) & turn ajax_code=_SIOC_READ
_SIOC_READ 10access_ok VERIFY_WRITEd.c#, turn ajax_code=p
pd.c#, turn ajax_code=len
len 10EFAULTd.c#&="L10"> 10 10DEB printk devd.c#, turn ajax_code=cmdidiv id="fSEf">cmdd.c#, turn ajax_code=arg
arg 10cmdd.c# == turn ajax_code=OSS_GETVERSION> OSS_GETVERSION 10__put_user SOUND_VERSIONd.c#, (int urn ajax_code=__user
__userd.c# *)turn ajax_code=p
pd.c#)&="L10"> 10 10mutex_lock class="c_mutex 10_IOC_TYPE cmdd.c#) == t2" id="L2" c.62.ng"#P#39;MP#39;"" name Pamp;& turn ajax_code=num_mixerC
num_mixerCd.c# PgG& 0 && L2" id="L2" class="line" Mixer ioctl */e" name="L10"> 10 * Ve36sion 2 (June 1991). See36the 360d.c# (turn ajax_code=dev
devd.c# & 0x0f) != turn ajax_code=SND_DEV_CTL
SND_DEV_CTLot;C) { ="L10"> 10dtyp=d.c# = turn ajax_code=dev
devd.c# & 0x0f&="L10"> 10dtyp=d.c#) {="L10"> 10SND_DEV_DSPd.c#:="L10"> 10SND_DEV_DSP16ot;C:="L10"> 10 SND_DEV_AUDIOot;C:="L10"> 10reld.c# = turn ajax_code=sclas_mixer_ioctlidiv id="fSEf">sclas_mixer_ioctl audio_devC devd.c# &gG&&gG& 4]-="+s urn ajax_code=mixer_dev
mixer_devd.c#,="L10"> 10cmdd.c#, turn ajax_code=p
pd.c#)&="L10"> 10 10 10 * Ve37sion 2 (June 1991). See37the 370d.c# turn ajax_code=relidiv id="fSEf">reld.c# = turn ajax_code=sclas_mixer_ioctlidiv id="fSEf">sclas_mixer_ioctl devd.c# &gG&&gG& 4, turn ajax_code=cmdidiv id="fSEf">cmdd.c#, turn ajax_code=p
pd.c#)&="L10"> 10 10 10mutex_unlock class="c_mutex 10reld.c#&="L10"> 10 10 10devd.c# & 0x0f) {="L10"> 10SND_DEV_CTLot;C:="L10"> 10cmdd.c# == turn ajax_code=SOUND_MIXER_GETLEVELS
SOUND_MIXER_GETLEVELS 10 * Ve38sion 2 (June 1991). See38the 380d.c# turn ajax_code=relidiv id="fSEf">reld.c# = turn ajax_code=get_mixer_levelC
get_mixer_levelC pd.c#)&="L10"> 10cmdd.c# == turn ajax_code=SOUND_MIXER_SETLEVELS
SOUND_MIXER_SETLEVELS 10reld.c# = turn ajax_code=set_mixer_levelC
set_mixer_levelC pd.c#)&="L10"> 10 10reld.c# = turn ajax_code=sclas_mixer_ioctlidiv id="fSEf">sclas_mixer_ioctl devd.c# &gG&&gG& 4, turn ajax_code=cmdidiv id="fSEf">cmdd.c#, turn ajax_code=p
pd.c#)&="L10"> 10 10 10SND_DEV_SEQot;C:="L10"> 10 SND_DEV_SEQ2ot;C:="L10"> 10reld.c# = turn ajax_code=sequencer_ioctlidiv id="fSEf">sequencer_ioctl devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#, turn ajax_code=cmdidiv id="fSEf">cmdd.c#, turn ajax_code=p
pd.c#)&="L10"> 10 * Ve39sion 2 (June 1991). See39the 390d.c# break&="L10"> 10 10SND_DEV_DSPd.c#:="L10"> 10 SND_DEV_DSP16ot;C:="L10"> 10SND_DEV_AUDIOot;C:="L10"> 10reld.c# = turn ajax_code=audio_ioctlidiv id="fSEf">audio_ioctl devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#, turn ajax_code=cmdidiv id="fSEf">cmdd.c#, turn ajax_code=p
pd.c#)&="L10"> 10 10 10 SND_DEV_MIDINot;C:="L10"> 10reld.c# = turn ajax_code=MIDIbuf_ioctlidiv id="fSEf">MIDIbuf_ioctl devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#, turn ajax_code=cmdidiv id="fSEf">cmdd.c#, turn ajax_code=p
pd.c#)&="L10"> 10 * Ve4ssion 2 (June 1991). See4tthe 400d.c# break&="L10"> 10 10 10mutex_unlock class="c_mutex 10reld.c#&="L10"> 10 10 10sclas_poll lue=d.c# *turn ajax_code=lue=idiv id="fSEf">lue=d.c#, turn ajax_code=poll_tabe=idiv id="fSEf">poll_tabe=d.c# * turn ajax_code=wailidiv id="fSEf">wail 10 10inod= inod= lue=d.c#-="+s urn ajax_code=f_pathidiv id="fSEf">l_pathd.c#.turn ajax_code=d="lry
d="lryd.c#-="+s urn ajax_code=d_inod=idiv id="fSEf">d_inod= 10 * Ve4rsion 2 (June 1991). See4 the 410d.c# int urn ajax_code=dev
devd.c# = turn ajax_code=iminor
iminor inod= 10 10DEB printk devd.c#))&="L10"> 10devd.c# & 0x0f) {="L10"> 10SND_DEV_SEQot;C:="L10"> 10 SND_DEV_SEQ2ot;C:="L10"> 10sequencer_poll devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#, turn ajax_code=wailidiv id="fSEf">wail 10 10 SND_DEV_MIDINot;C:="L10"> 10MIDIbuf_poll devd.c#, turn ajax_code=lue=idiv id="fSEf">lue=d.c#, turn ajax_code=wailidiv id="fSEf">wail 10 * Ve42sion 2 (June 1991). See42the 420 10SND_DEV_DSPd.c#:="L10"> 10SND_DEV_DSP16ot;C:="L10"> 10 SND_DEV_AUDIOot;C:="L10"> 10DMAbuf_poll lue=d.c#, turn ajax_code=dev
devd.c# &gG&&gG& 4, turn ajax_code=wailidiv id="fSEf">wail 10 10 10 10 10sclas_mmap lue=d.c# *turn ajax_code=lue=idiv id="fSEf">lue=d.c#, structoturn ajax_code=vm_area_structidiv id="fSEf">vm_area_structd.c# *turn ajax_code=vmaidiv id="fSEf">vma 10 * Ve43sion 2 (June 1991). See43the 430d.c#{="L10"> 10dev_ 10size 10dma_buffparmrd.c# *turn ajax_code=dmap
dmap NULLd.c#&="L10"> 10devd.c# = turn ajax_code=iminor
iminor lue=d.c#-="+s urn ajax_code=f_pathidiv id="fSEf">l_pathd.c#.turn ajax_code=d="lry
d="lryd.c#-="+s urn ajax_code=d_inod=idiv id="fSEf">d_inod= 10 10dev_devd.c# & 0x0f&="L10"> 10devd.c# &gG&&gG&= 4&="L10"> 10 10dev_SND_DEV_DSPd.c# Pamp;& turn ajax_code=dev_dev_ SND_DEV_DSP16ot;C Pamp;& turn ajax_code=dev_dev_ SND_DEV_AUDIOot;C) {="L10"> 10 * Ve44sion 2 (June 1991). See44the 440d.c# turn ajax_code=printkidiv id="fSEf">printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYING&Sclas: mmap() not supported for other th idaudio devices\nPYING&"" name)&="L10"> 10EINVALd.c#&="L10"> 10 10mutex_lock class="c_mutex 10vma vm_flagrd.c# & urn ajax_code=VM_WRITEidiv id="fSEf">VM_WRITE 10dmap audio_devC devd.c#]-="+s urn ajax_code=dmap_out
dmap_outd.c#&="L10"> 10vma vm_flagrd.c# & urn ajax_code=VM_READ
VM_READ 10dmap audio_devC devd.c#]-="+s urn ajax_code=dmap_in
dmap_ind.c#&="L10"> 10 10printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYING&Sclas: Undefined mmap() access\nPYING&"" name)&="L10"> 10 * Ve45sion 2 (June 1991). See45the 450d.c# turn ajax_code=mutex_unlock
mutex_unlock class="c_mutex 10EINVALd.c#&="L10"> 10 10 10dmap NULLd.c#) {="L10"> 10printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYING&Sclas: mmap() error. dmap == NULL\nPYING&"" name)&="L10"> 10mutex_unlock class="c_mutex 10EIOd.c#&="L10"> 10 10dmap raw_buf NULLd.c#) {="L10"> 10 * Ve46sion 2 (June 1991). See46the 460d.c# turn ajax_code=printkidiv id="fSEf">printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYING&Sclas: mmap() called when raw_buf == NULL\nPYING&"" name)&="L10"> 10mutex_unlock class="c_mutex 10EIOd.c#&="L10"> 10 10dmap mapp.ng_flagrd.c#) {="L10"> 10printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYING&Sclas: mmap() called twice for t;C s/os DMA buffer\nPYING&"" name)&="L10"> 10mutex_unlock class="c_mutex 10EIOd.c#&="L10"> 10 10vma vm_pgoff 10 * Ve47sion 2 (June 1991). See47the 470d.c# turn ajax_code=printkidiv id="fSEf">printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYING&Sclas: mmap() offset must be 0.\nPYING&"" name)&="L10"> 10mutex_unlock class="c_mutex 10EINVALd.c#&="L10"> 10 10size vma vm_end vma vm_startd.c#&="L10"> 10 10size dmap bytes_in_used.c#) {="L10"> 10printk KERN_WARNINGd.c# t2" id="L2" c.62.ng"#PYING&Sclas: mmap() size = %ld. Should be %d\nPYING&"" name, turn ajax_code=size
size dmap bytes_in_used.c#)&="L10"> 10 10remap_pfn_range vma vma vm_startd.c#,="L10"> 10 * Ve48sion 2 (June 1991). See48the 480d.c# turn ajax_code=virt_to_phyr
virt_to_phyr dmap raw_buf PAGE_SHIFTd.c#,="L10"> 10vma vm_end vma vm_startd.c#, turn ajax_code=vmaidiv id="fSEf">vma vm_page_prot 10mutex_unlock class="c_mutex 10 EAGAINd.c#&="L10"> 10 10 10dmap mapp.ng_flagrd.c# |= turn ajax_code=DMA_MAP_MAPPED
DMA_MAP_MAPPEDd.c#&="L10"> 10 10audio_devC devd.c#]-="+s urn ajax_code=d
d mmap 10audio_devC devd.c#]-="+s urn ajax_code=d
d mmap devd.c#)&="L10"> 10 * Ve49sion 2 (June 1991). See49the 490 10memsel dmap raw_buf 10dmap neutral_byte 10dmap bytes_in_used.c#)&="L10"> 10mutex_unlock class="c_mutex 10 10 10 10lue=_operationsd.c# turn ajax_code=spa_ clas_fops
spa_ clas_fops 10ownerd.c# = turn ajax_code=THIS_MODULEidiv id="fSEf">THIS_MODULE 10 * Ve5ssion 2 (June 1991). See5tthe 500d.c# .turn ajax_code=llseek
llseekd.c# = turn ajax_code=no_llseek
no_llseek 10 * Ve5sn> readd.c# = turn ajax_code=sclas_axad
sclas_axad 10 * Ve5sx/sound/oss/soundcard.c502he 502d.c# .turn ajax_code=write
writed.c# = turn ajax_code=sclas_write
sclas_write 10 * Ve5sn> poll sclas_poll 10 * Ve5sd card driver for Linux504he 504d.c# .turn ajax_code=unlocked_ioctlidiv id="fSEf">unlocked_ioctl sclas_ioctl 10 * Ve5sn> mmap sclas_mmap 10 * Ve5sn> open sclas_open 10 * Ve5sright (C) by Hannu Savo507he 507d.c# .turn ajax_code=axlease
axleased.c# = turn ajax_code=sclas_axlease
sclas_axlease 10 * Ve5sn> 10 10 * Ve5rsion 2 (June 1991). See5 the 510d.c# 2" id="L2" class="line"e" name="L10"> 10 10 * Ve51x/sound/oss/soundcard.c51 10 10 * Ve51d card driver for Linux51caxate_special_devices 10 10seq1 seq2d.c#&="L10"> 10seq1 axgister_ clas_special spa_ clas_fops 10seq1 10bad 10 * Ve52sion 2 (June 1991). See52the 520d.c# turn ajax_code=seq2> seq2d.c#=turn ajax_code=axgister_ clas_special
axgister_ clas_special spa_ clas_fops 10 seq2d.c#!=-1)="L10"> 10 10unaxgister_ clas_special 10bad 10 10 10 10 10dmabuf 10 * Ve53sion 2 (June 1991). See53the 530d.c#s="lxr int turn ajax_code=dmabug
dmabug 10 10module_param dmabuf 10module_param dmabug 10 10 10spa_minor_devd.c# {="L10"> 10minor 10enabe=d 10dev_list 10 * Ve54sion 2 (June 1991). See54the 540d.c# { turn ajax_code=SND_DEV_DSP1n> SND_DEV_DSP16ot;C },="L10"> 10 SND_DEV_AUDIOot;C },="L10"> 10 10 10__inild.c# turn ajax_code=spa_inilidiv id="fSEf">spa_inil 10 10err 10i j 10 10CONFIG_PCId.c#="L10"> 10 * Ve55sion 2 (June 1991). See55the 550d.c# if(turn ajax_code=dmabug
dmabug 10isa_dma_bridge_buggy dmabug 10 10 10err caxate_special_devices 10err 10printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYING& clas: driver alaxady loaded/included in kernel\nPYING&"" name)&="L10"> 10err 10 10 10 * Ve56sion 2 (June 1991). See56the 560d.c# L2" id="L2" class="line" Protect.ngot;C innoc="l */e" name="L10"> 10sclas_dmap_flag dmabuf 10 10i i ARRAY_SIZE dev_list i 10j 10 10minor dev_list i minor j 10axgister_ clas_special spa_ clas_fops minor 10dev_list i enabe=d j 10j num_audiodevC 10 * Ve57sion 2 (June 1991). See57the 570d.c# }="L10"> 10 10sclas_nblockC MAX_MEM_BLOCKS 10printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYING&Sclas warn.ng: Deallocation tabe= was too small.\nPYING&"" name)&="L10"> 10 10 10 10 10__exild.c# turn ajax_code=spa_cleanup
spa_cleanup 10 10 * Ve58sion 2 (June 1991). See58the 580d.c# int turn ajax_code=i
i j 10 10i i ARRAY_SIZE dev_list i 10j 10 10dev_list i enabe=d j 10unaxgister_ clas_special dev_list i minor 10j num_audiodevC 10 10 10 * Ve59sion 2 (June 1991). See59the 590d.c# turn ajax_code=unaxgister_ clas_special
unaxgister_ clas_special 10unaxgister_ clas_special 10 10 clas_stop_timer 10 10sequencer_unload 10 10i i MAX_DMA_CHANNELS i 10dma_alloc_map i DMA_MAP_UNAVAIL 10printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYING&Sclas: Hmm, DMA%d was left allocated - fixed\nPYING&"" name, turn ajax_code=i
i 10 * Ve6ssion 2 (June 1991). See6tthe 600d.c# turn ajax_code= clas_free_dma
clas_free_dma i 10 * Ve6sn> 10 * Ve6sx/sound/oss/soundcard.c602he 602d.c#="L10"> 10 * Ve6sn> i i sclas_nblockC i 10 * Ve6sd card driver for Linux604he 604d.c# urn ajax_code=vfree
vfree sclas_mem_blockC i 10 * Ve6sn> 10 * Ve6sn> 10 * Ve6sright (C) by Hannu Savo607he 607 10 * Ve6sn> module_inil spa_inil 10 * Ve6sFree for Linux is distr609he 6t9d.c#turn ajax_code=module_exilidiv id="fSEf">module_exil spa_cleanup 10 * Ve6rsion 2 (June 1991). See6 the 610d.c# urn ajax_code=MODULE_LICENSEidiv id="fSEf">MODULE_LICENSE 10 MODULE_DESCRIPTION 10 * Ve51x/sound/oss/soun6card.613AUTHOKERN_ERRidiv id=ffSEf">AUTHOKRIPTION 10 10 * Ve51d card driver fo6 Linu619 106* dmas_free_dma
dmas_fRIPTIs="lxr int turn ajaxhlas_open
charrmrd.c# *turn ajaxecialIP_MAPPED
10 106* Copy51right (C) by Han6u Sav614lain547d.c# int turn ajax_code=err
err 106* 106* OSS/51Free for Linux i6 dist651ibut519d.c# if)(turn ajax_code=err
nor rd.c# *turn ajaxecialIP_MAPPED
10t6> * Ve52sion 2 (June 1996). Se62tthe 600d.c# ax_lookturn ajax_code=err
err 106* 106* linu5xx/sound/oss/soun6card.65<dma_alloc_map DFRE_LICENSEidiv id="fSEf">DFRE_Ef">err 10 106* Soun52d card driver fo6 Linu6204he 604d.c# ax_look0&="L10"> 10>6* 10vfree dmas_free_dma
dmas_fRIPT"" name)&="L10"> 10 106* sclas_free_dma
sclas_fRIPTIs="lxr int turn ajaxhlas_open
charrmrd.c# *turn ajaxecialIP_MAPPED
106* OSS/52Free for Linux i6 dist627ibut579d.c#{="L10"> 10 * Ve53sion 2 (June 1996). Se630ibut519d.c# if)(!turn ajavalidas_free_dma
106* printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYIN">sclas_f: Invalid;C s/channelould be %d\nPYING&"" name, turn ajaxhlas_open
10 106* 106* Soun53d card driver fo6 Linu653 106* dma_alloc_map DFRE_Ef">ot 106* printRd.c# t2" id="L2" c.62.ng"#PYIN">sclas_f: C s/channelould be busy or nowas left all(uld be) %d\nPYING&"" name, turn ajaxhlas_open
dma_alloc_map 10 106* 106* OSS/53Free for Linux i6 dist631ibut519d.c# if)(turn ajax_code=dma_alloc_map
dma_alloc_map DBUSYLICENSEidiv id="fSEf">DBUSYEf">err 10 * Ve54sion 2 (June 1996). Se654the 540d.c# ax_look0&="L10"> 106* 106* linu54x/sound/oss/soun6card.643vfree sclas_free_dma
sclas_fRIPTr" name)&="L10"> 10 106* Soun5dd card driver fo6 Linu65< clas_free_ds="lxr int turn ajaxhlas_open
106* 106* dma_alloc_map DMA_MAP_UNAVAIL 106* Copy54right (C) by Han6u Sav64llain477d.c# L2" id="L2" class="fSEf"( 62.ng"#PYIN"> clas_f: Bad accesabe=;C s/channelould be %d\, /chn);nnoc="l */e" name="L10"> 106* 10 10t6> * Ve55sion 2 (June 1996). Se659the 590d.c# turn aja= clas_free_dma
clas_free_dma 10dma_alloc_map DMA_MAP_UNAVAIL
DMA_MAP_UNAV" name)&="L10"> 10 106* vfree clas_free_r" name)&="L10"> 10 106* 10>6* 106* Copy55right (C) by Han6u Sav655lain557d.c# if)(turn ajax_code=dma_alloc_map
dma_alloc_map DBUSYEf">AIL 106* printk KERN_ERRd.c# t2" id="L2" c.62.ng"#PYIN"closlas_f: Bad accesabe=;C s/channelould be %d\nPYING&"" name, turn ajaxhlas_open
10 10 106* dma_alloc_map DFRE_LICENSEidiv id="fSEf">DFRE_Ef">err 106* linu56x/sound/oss/soun6card.665 106* vfree 10 106* seqs_stop_timer
seqs_sto">vfr unlongxr void turn ajadummge_buggy
106* 106* Copy56right (C) by Han6u Sav661lain517d.c# turn ajax_cEf">seqs_stop_timer
seqs_sto">vfr ? 1 : 0)&="L10"> 106* 10>6* OSS/56Free for Linux i6 dist665ibut559d.c#="L10"> 10 * Ve57sion 2 (June 1996). Se679the 490 106* vfree vfize seqs_stop_timer
seqs_sto">vf, 0,0 ? 1 : 0)&="L10"> 106* linu57x/sound/oss/soun6card.6702he 602d.c#="L10"> 10 106* Soun57d card driver fo6 Linu657 106* err 106* 106* Copy5rright (C) by Han6u Sav675lain557d.c# if)(turn ajaxfSEule_exilidiv id=xfSEufSEf">i 106* vf>i nor(ax_look-Lurn ajaxfSEule_exilidiv id=xfSEufSEfnnor err 10>6* OSS/57Free for Linux i6 dist67iibut599d.c# vf? 1 : 0)&="L10"> 10 * Ve58sion 2 (June 1996). Se648the 480d.c# " name)&="L10"> 10 106* linu58x/sound/oss/soun6card.68<err 106* 106* Soun58d card driver fo6 Linu658err 106* 106* i 106* Copy58right (C) by Han6u Sav658lain587d.c# if)(turn ajaxfSEule_exilidiv id=xfSEufSEf"= x_look-1&="L10"> 106* 106* OSS/58Free for Linux i6 dist681ibut519d.c# if)(turn ajaxeqqs_stop_timer
vf>i nor(x_look-Lurn ajaxfSEule_exilidiv id=xfSEufSEfnnor err 10 * Ve59sion 2 (June 1996). Se659the 590d.c# turn ajaadf"s_stop_timer
vf? 1 : 0)&="L10"> 106* 106* linu59x/sound/oss/soun6card.659 106* clas_stop_timup 106* Soun59d card driver fo6 Linu697 106* vf? 1 : 0)&="L10"> 106* 106* Copy59right (C) by Han6u Sav649lain497 106* vf, 536d.c#structoturn ajaadfrl_SEf"fop_timer
106* OSS/5FFree for Linux i6 dist697ibut579d.c#{="L10"> 10 * Ve6ssion 2 (June 1997). Se76tthe #ifnd.c##ifdef turn ajax_code=SOUND_TRACEINITap_flag
10 * Ve6sn> 10 * Ve6sx/sound/oss/soun7card.705 10 printRd.c# t2" id="L2" c.62.ng"mp; (ld bsuf vf, rd.c# *turn ajahw_confimap_flag
vf? 1 : 0)&="L10"> 10 * Ve6sd card driver fo7 Linu703 10 * Ve6sn> 10 * Ve6sn> printRd.c# t2" id="L2" c.62.ng" irqould be#37;d\nPYING&"" if)(turn ajahw_confimap_flag
10 Copy59right (C) by Han7u Sav7607he 607 10 * Ve6sn> 10 OSS/5FFree for Linux i7 dist701ibut519d.c# 579d.c#{="L10"> 10t7> * Ve6rsion 2 (June 1997). Se718the 480d.c# turn ajax_code=printkidiv id="fSEf">printRd.c# t2" id="L2" c.62.ng" s_fould be#37;d\nPYING&"" if)(turn ajahw_confimap_flag
107* 10 * Ve51x/sound/oss/soun7card.71<printRd.c# t2" id="L2" c.62.ng",uld be#37;d\nPYING&"" if)(turn ajahw_confimap_flag
10 10 * Ve51d card driver fo7 Linu718printRd.c# t2" id="L2" c.62.ng" small.\nPYING&"" name)&="L10"> 107* 10 107* Copy51right (C) by Han7u Sav714lain533d.c#turn ajaEXPORT_SYMBOe=EINVAL
vfree 10 107* OSS/51Free for Linux i7 dist751ibuts="lxr void turn ajaconf_"fSEfeode=seq2> vf, s="lxr int turn ajabas_axlease
vf, s="lxr int turn ajairqaxlease
10t7> * Ve52sion 2 (June 1997). Se72tthe 579d.c#{="L10"> 107* 107* linu5xx/sound/oss/soun7card.75< 10 107* Soun52d card driver fo7 Linu728printRd.c# t2" id="L2" c.62.ng"mp; (ld bsuf vf, rd.c# *turn ajabas_axlease
vf"" name)&="L10"> 10>7* 107* 107* Copy52right (C) by Han7u Sav728lain587d.c# if)(turn ajax_code=printkidiv id="fSEf">printRd.c# t2" id="L2" c.62.ng" irqould be#37;d\nPYING&"" if)(turn ajairqaxlease
107* 107* OSS/52Free for Linux i7 dist721ibut519d.c# rd.c# *turn ajas_free_dma
10 * Ve53sion 2 (June 1997). Se730ibut519d.c# 579d.c#{="L10"> 107* printRd.c# t2" id="L2" c.62.ng" s_fould be#37;d\nPYING&"" if)(turn ajas_free_dma
107* linu53x/sound/oss/soun7card.73< 10 printRd.c# t2" id="L2" c.62.ng",uld be#37;d\nPYING&"" if)(turn ajas_fode=seq2> 107* Soun53d card driver fo7 Linu738 107* printRd.c# t2" id="L2" c.62.ng" small.\nPYING&"" name)&="L10"> 107* 107* Copy53right (C) by Han7u Sav735lain496d.c#}="L10"> 107* vfree 107* OSS/53Free for Linux i7 dist735ibut559d.c#="L10"> 10 * Ve54sion 2 (June 1997). Se754the
The original LXR software bytect.59d.c#="Lhttp://a>LXR ="L2unity">vf, this experi2" cal versallobyt59d.c#="Lmailto:lxr@n 2ux.no">lxr@n 2ux.no">vf>
lxr.n 2ux.no kindly hos allbyt59d.c#="Lhttp://www.redpill-n 2pro.no">Redpill L 2pro AS">vf, provider of L 2ux ="nsul Protand operDealls sercial_ since 1995.