linux-2.6.33/snd_pcm_common_ioctl1()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#sa612aea]
#backlinks
*説明 [#b27686c0]
-パス: [[linux-2.6.33/sound/core/pcm_native.c]]
-FIXME: これは何?
--説明
**引数 [#db4e67cf]
-struct file *file
--
--[[linux-2.6.33/file]]
-struct snd_pcm_substream *substream
--
--[[linux-2.6.33/snd_pcm_substream]]
-unsigned int cmd
--
-void __user *arg
--
**返り値 [#v3d40947]
-int
--
**参考 [#s5a31d19]
*実装 [#kbf7b21b]
static int snd_pcm_common_ioctl1(struct file *file,
struct snd_pcm_substream *substream,
unsigned int cmd, void __user *arg)
{
switch (cmd) {
case SNDRV_PCM_IOCTL_PVERSION:
return put_user(SNDRV_PCM_VERSION, (int __user *)arg) ...
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_PVERSION]]
-
--[[linux-2.6.33/SNDRV_PCM_VERSION]]
-
--[[linux-2.6.33/put_user()]]
case SNDRV_PCM_IOCTL_INFO:
return snd_pcm_info_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_INFO]]
-
--[[linux-2.6.33/snd_pcm_info_user()]]
case SNDRV_PCM_IOCTL_TSTAMP: /* just for compatibility */
return 0;
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_TSTAMP]]
case SNDRV_PCM_IOCTL_TTSTAMP:
return snd_pcm_tstamp(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_TTSTAMP]]
-
--[[linux-2.6.33/snd_pcm_tstamp()]]
case SNDRV_PCM_IOCTL_HW_REFINE:
return snd_pcm_hw_refine_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_HW_REFINE]]
-
--[[linux-2.6.33/snd_pcm_hw_refine_user()]]
case SNDRV_PCM_IOCTL_HW_PARAMS:
return snd_pcm_hw_params_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_HW_PARAMS]]
-
--[[linux-2.6.33/snd_pcm_hw_params_user()]]
case SNDRV_PCM_IOCTL_HW_FREE:
return snd_pcm_hw_free(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_HW_FREE]]
-
--[[linux-2.6.33/snd_pcm_hw_free()]]
case SNDRV_PCM_IOCTL_SW_PARAMS:
return snd_pcm_sw_params_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_SW_PARAMS]]
-
--[[linux-2.6.33/snd_pcm_sw_params_user()]]
case SNDRV_PCM_IOCTL_STATUS:
return snd_pcm_status_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_STATUS]]
-
--[[linux-2.6.33/snd_pcm_status_user()]]
case SNDRV_PCM_IOCTL_CHANNEL_INFO:
return snd_pcm_channel_info_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_CHANNEL_INFO]]
-
--[[linux-2.6.33/snd_pcm_channel_info_user()]]
case SNDRV_PCM_IOCTL_PREPARE:
return snd_pcm_prepare(substream, file);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_PREPARE]]
-
--[[linux-2.6.33/snd_pcm_prepare()]]
case SNDRV_PCM_IOCTL_RESET:
return snd_pcm_reset(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_RESET]]
-
--[[linux-2.6.33/snd_pcm_reset()]]
case SNDRV_PCM_IOCTL_START:
return snd_pcm_action_lock_irq(&snd_pcm_action_start, ...
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_START]]
-
--[[linux-2.6.33/snd_pcm_action_lock_irq()]]
-
--[[linux-2.6.33/snd_pcm_action_start(global)]]
-
--[[linux-2.6.33/SNDRV_PCM_STATE_RUNNING]]
case SNDRV_PCM_IOCTL_LINK:
return snd_pcm_link(substream, (int)(unsigned long) ar...
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_LINK]]
-
--[[linux-2.6.33/snd_pcm_link()]]
case SNDRV_PCM_IOCTL_UNLINK:
return snd_pcm_unlink(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_UNLINK]]
-
--[[linux-2.6.33/snd_pcm_unlink()]]
case SNDRV_PCM_IOCTL_RESUME:
return snd_pcm_resume(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_RESUME]]
-
--[[linux-2.6.33/snd_pcm_resume()]]
case SNDRV_PCM_IOCTL_XRUN:
return snd_pcm_xrun(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_XRUN]]
-
--[[linux-2.6.33/snd_pcm_xrun()]]
case SNDRV_PCM_IOCTL_HWSYNC:
return snd_pcm_hwsync(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_HWSYNC]]
-
--[[linux-2.6.33/snd_pcm_hwsync()]]
case SNDRV_PCM_IOCTL_DELAY:
return snd_pcm_delay(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_DELAY]]
-
--[[linux-2.6.33/snd_pcm_delay()]]
case SNDRV_PCM_IOCTL_SYNC_PTR:
return snd_pcm_sync_ptr(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_SYNC_PTR]]
-
--[[linux-2.6.33/snd_pcm_sync_ptr()]]
#ifdef CONFIG_SND_SUPPORT_OLD_API
-
--[[linux-2.6.33/CONFIG_SND_SUPPORT_OLD_API]]
case SNDRV_PCM_IOCTL_HW_REFINE_OLD:
return snd_pcm_hw_refine_old_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_HW_REFINE_OLD]]
-
--[[linux-2.6.33/snd_pcm_hw_refine_old_user()]]
case SNDRV_PCM_IOCTL_HW_PARAMS_OLD:
return snd_pcm_hw_params_old_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_HW_PARAMS_OLD]]
-
--[[linux-2.6.33/snd_pcm_hw_params_old_user()]]
#endif
case SNDRV_PCM_IOCTL_DRAIN:
return snd_pcm_drain(substream, file);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_DRAIN]]
-
--[[linux-2.6.33/snd_pcm_drain()]]
case SNDRV_PCM_IOCTL_DROP:
return snd_pcm_drop(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_DROP]]
-
--[[linux-2.6.33/snd_pcm_drop()]]
case SNDRV_PCM_IOCTL_PAUSE:
{
int res;
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_PAUSE]]
snd_pcm_stream_lock_irq(substream);
res = snd_pcm_pause(substream, (int)(unsigned long)arg);
snd_pcm_stream_unlock_irq(substream);
-
--[[linux-2.6.33/snd_pcm_stream_lock_irq()]]
-
--[[linux-2.6.33/snd_pcm_pause()]]
-
--[[linux-2.6.33/snd_pcm_stream_unlock_irq()]]
return res;
}
}
snd_printd("unknown ioctl = 0x%x\n", cmd);
-
--[[linux-2.6.33/snd_printd()]]
return -ENOTTY;
}
*コメント [#jab4220f]
終了行:
*参照元 [#sa612aea]
#backlinks
*説明 [#b27686c0]
-パス: [[linux-2.6.33/sound/core/pcm_native.c]]
-FIXME: これは何?
--説明
**引数 [#db4e67cf]
-struct file *file
--
--[[linux-2.6.33/file]]
-struct snd_pcm_substream *substream
--
--[[linux-2.6.33/snd_pcm_substream]]
-unsigned int cmd
--
-void __user *arg
--
**返り値 [#v3d40947]
-int
--
**参考 [#s5a31d19]
*実装 [#kbf7b21b]
static int snd_pcm_common_ioctl1(struct file *file,
struct snd_pcm_substream *substream,
unsigned int cmd, void __user *arg)
{
switch (cmd) {
case SNDRV_PCM_IOCTL_PVERSION:
return put_user(SNDRV_PCM_VERSION, (int __user *)arg) ...
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_PVERSION]]
-
--[[linux-2.6.33/SNDRV_PCM_VERSION]]
-
--[[linux-2.6.33/put_user()]]
case SNDRV_PCM_IOCTL_INFO:
return snd_pcm_info_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_INFO]]
-
--[[linux-2.6.33/snd_pcm_info_user()]]
case SNDRV_PCM_IOCTL_TSTAMP: /* just for compatibility */
return 0;
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_TSTAMP]]
case SNDRV_PCM_IOCTL_TTSTAMP:
return snd_pcm_tstamp(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_TTSTAMP]]
-
--[[linux-2.6.33/snd_pcm_tstamp()]]
case SNDRV_PCM_IOCTL_HW_REFINE:
return snd_pcm_hw_refine_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_HW_REFINE]]
-
--[[linux-2.6.33/snd_pcm_hw_refine_user()]]
case SNDRV_PCM_IOCTL_HW_PARAMS:
return snd_pcm_hw_params_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_HW_PARAMS]]
-
--[[linux-2.6.33/snd_pcm_hw_params_user()]]
case SNDRV_PCM_IOCTL_HW_FREE:
return snd_pcm_hw_free(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_HW_FREE]]
-
--[[linux-2.6.33/snd_pcm_hw_free()]]
case SNDRV_PCM_IOCTL_SW_PARAMS:
return snd_pcm_sw_params_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_SW_PARAMS]]
-
--[[linux-2.6.33/snd_pcm_sw_params_user()]]
case SNDRV_PCM_IOCTL_STATUS:
return snd_pcm_status_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_STATUS]]
-
--[[linux-2.6.33/snd_pcm_status_user()]]
case SNDRV_PCM_IOCTL_CHANNEL_INFO:
return snd_pcm_channel_info_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_CHANNEL_INFO]]
-
--[[linux-2.6.33/snd_pcm_channel_info_user()]]
case SNDRV_PCM_IOCTL_PREPARE:
return snd_pcm_prepare(substream, file);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_PREPARE]]
-
--[[linux-2.6.33/snd_pcm_prepare()]]
case SNDRV_PCM_IOCTL_RESET:
return snd_pcm_reset(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_RESET]]
-
--[[linux-2.6.33/snd_pcm_reset()]]
case SNDRV_PCM_IOCTL_START:
return snd_pcm_action_lock_irq(&snd_pcm_action_start, ...
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_START]]
-
--[[linux-2.6.33/snd_pcm_action_lock_irq()]]
-
--[[linux-2.6.33/snd_pcm_action_start(global)]]
-
--[[linux-2.6.33/SNDRV_PCM_STATE_RUNNING]]
case SNDRV_PCM_IOCTL_LINK:
return snd_pcm_link(substream, (int)(unsigned long) ar...
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_LINK]]
-
--[[linux-2.6.33/snd_pcm_link()]]
case SNDRV_PCM_IOCTL_UNLINK:
return snd_pcm_unlink(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_UNLINK]]
-
--[[linux-2.6.33/snd_pcm_unlink()]]
case SNDRV_PCM_IOCTL_RESUME:
return snd_pcm_resume(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_RESUME]]
-
--[[linux-2.6.33/snd_pcm_resume()]]
case SNDRV_PCM_IOCTL_XRUN:
return snd_pcm_xrun(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_XRUN]]
-
--[[linux-2.6.33/snd_pcm_xrun()]]
case SNDRV_PCM_IOCTL_HWSYNC:
return snd_pcm_hwsync(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_HWSYNC]]
-
--[[linux-2.6.33/snd_pcm_hwsync()]]
case SNDRV_PCM_IOCTL_DELAY:
return snd_pcm_delay(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_DELAY]]
-
--[[linux-2.6.33/snd_pcm_delay()]]
case SNDRV_PCM_IOCTL_SYNC_PTR:
return snd_pcm_sync_ptr(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_SYNC_PTR]]
-
--[[linux-2.6.33/snd_pcm_sync_ptr()]]
#ifdef CONFIG_SND_SUPPORT_OLD_API
-
--[[linux-2.6.33/CONFIG_SND_SUPPORT_OLD_API]]
case SNDRV_PCM_IOCTL_HW_REFINE_OLD:
return snd_pcm_hw_refine_old_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_HW_REFINE_OLD]]
-
--[[linux-2.6.33/snd_pcm_hw_refine_old_user()]]
case SNDRV_PCM_IOCTL_HW_PARAMS_OLD:
return snd_pcm_hw_params_old_user(substream, arg);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_HW_PARAMS_OLD]]
-
--[[linux-2.6.33/snd_pcm_hw_params_old_user()]]
#endif
case SNDRV_PCM_IOCTL_DRAIN:
return snd_pcm_drain(substream, file);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_DRAIN]]
-
--[[linux-2.6.33/snd_pcm_drain()]]
case SNDRV_PCM_IOCTL_DROP:
return snd_pcm_drop(substream);
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_DROP]]
-
--[[linux-2.6.33/snd_pcm_drop()]]
case SNDRV_PCM_IOCTL_PAUSE:
{
int res;
-
--[[linux-2.6.33/SNDRV_PCM_IOCTL_PAUSE]]
snd_pcm_stream_lock_irq(substream);
res = snd_pcm_pause(substream, (int)(unsigned long)arg);
snd_pcm_stream_unlock_irq(substream);
-
--[[linux-2.6.33/snd_pcm_stream_lock_irq()]]
-
--[[linux-2.6.33/snd_pcm_pause()]]
-
--[[linux-2.6.33/snd_pcm_stream_unlock_irq()]]
return res;
}
}
snd_printd("unknown ioctl = 0x%x\n", cmd);
-
--[[linux-2.6.33/snd_printd()]]
return -ENOTTY;
}
*コメント [#jab4220f]
ページ名: