*参照元 [#k1c01b47]
#backlinks

*説明 [#hf8f9aad]
-パス: [[linux-2.6.33/sound/core/pcm_lib.c]]

-FIXME: これは何?
--説明


**引数 [#raf4bf42]
-struct snd_pcm_substream *substream
--
--[[linux-2.6.33/snd_pcm_substream]]

-void __user **bufs
--
-snd_pcm_uframes_t frame
--
--[[linux-2.6.33/snd_pcm_uframes_t]]


**返り値 [#o807bef6]
-snd_pcm_sframes_t
--

**参考 [#p528f00e]


*実装 [#xb450d3b]
 snd_pcm_sframes_t snd_pcm_lib_readv(struct snd_pcm_substream *substream,
 				    void __user **bufs,
 				    snd_pcm_uframes_t frames)
 {
 	struct snd_pcm_runtime *runtime;
 	int nonblock;
 	int err;
 
-
--[[linux-2.6.33/snd_pcm_runtime]]

 	err = pcm_sanity_check(substream);
 	if (err < 0)
 		return err;
-
--[[linux-2.6.33/pcm_sanity_check()]]

 	runtime = substream->runtime;
 	if (runtime->status->state == SNDRV_PCM_STATE_OPEN)
 		return -EBADFD;
 
-
--[[linux-2.6.33/SNDRV_PCM_STATE_OPEN]]

 	nonblock = !!(substream->f_flags & O_NONBLOCK);
 	if (runtime->access != SNDRV_PCM_ACCESS_RW_NONINTERLEAVED)
 		return -EINVAL;
-
--
--[[linux-2.6.33/SNDRV_PCM_ACCESS_RW_NONINTERLEAVED]]

 	return snd_pcm_lib_read1(substream, (unsigned long)bufs, frames, nonblock, snd_pcm_lib_readv_transfer);
-
--[[linux-2.6.33/snd_pcm_lib_read1()]]
-
--[[linux-2.6.33/snd_pcm_lib_ready_transfer()]]

 }
 
 EXPORT_SYMBOL(snd_pcm_lib_readv);
-ライセンスに関係なくシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL()]]


*コメント [#y9d1bf2d]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS