*参照元 [#o88ba85e] #backlinks *説明 [#uea9e4dd] -パス: [[linux-2.6.33/sound/core/pcm_lib.c]] -FIXME: これは何? --説明 **引数 [#hb71c028] -struct snd_pcm_substream *substream -- --[[linux-2.6.33/snd_pcm_substream]] -void *arg -- **返り値 [#decdcd99] -int -- **参考 [#r8a0f99b] *実装 [#i8f1143e] static int snd_pcm_lib_ioctl_reset(struct snd_pcm_substream *substream, void *arg) { struct snd_pcm_runtime *runtime = substream->runtime; unsigned long flags; - --[[linux-2.6.33/snd_pcm_runtime]] snd_pcm_stream_lock_irqsave(substream, flags); if (snd_pcm_running(substream) && snd_pcm_update_hw_ptr(substream) >= 0) runtime->status->hw_ptr %= runtime->buffer_size; else runtime->status->hw_ptr = 0; snd_pcm_stream_unlock_irqrestore(substream, flags); - --[[linux-2.6.33/snd_pcm_stream_lock_irqsave()]] - --[[linux-2.6.33/snd_pcm_running()]] - --[[linux-2.6.33/snd_pcm_update_hw_ptr()]] -runtime->status は snd_pcm_mmap_status 型のメンバ。 --[[linux-2.6.33/snd_pcm_mmap_status]] - --[[linux-2.6.33/snd_pcm_stream_unlock_irqrestore()]] return 0; } *コメント [#a32a0e13]