linux-4.4.1/proc_create_data()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#h1a40cec]
#backlinks
*説明 [#iaf497d7]
-パス: 複数あり
--CONFIG_PROC_FS 有効: [[linux-4.4.1/fs/proc/generic.c]]
--CONFIG_PROC_FS 無効: [[linux-4.4.1/include/linux/proc_f...
-FIXME: これは何?
--説明
**引数 [#f11db88c]
-const char *name
--
-umode_t mode
--
--[[linux-4.4.1/umode_t]]
-struct proc_dir_entry *parent
--
--[[linux-4.4.1/proc_dir_entry]]
-const struct file_operations *proc_fops
--
--[[linux-4.4.1/file_operations]]
-void *data
--
**返り値 [#sd67724a]
-struct proc_dir_entry *
--
--[[linux-4.4.1/proc_dir_entry]]
**参考 [#d65e6cf6]
*実装 [#e2879c82]
**CONFIG_PROC_FS 有効: fs/proc/generic.c [#s5de1ddc]
struct proc_dir_entry *proc_create_data(const char *name...
struct proc_dir_...
const struct fil...
void *data)
{
struct proc_dir_entry *pde;
if ((mode & S_IFMT) == 0)
mode |= S_IFREG;
-
--[[linux-4.4.1/proc_dir_entry]]
if (!S_ISREG(mode)) {
WARN_ON(1); /* use proc_mkdir() */
return NULL;
}
-
--[[linux-4.4.1/S_ISREG()]]
--[[linux-4.4.1/WARN_ON()]]
BUG_ON(proc_fops == NULL);
-
--[[linux-4.4.1/BUG_ON()]]
if ((mode & S_IALLUGO) == 0)
mode |= S_IRUGO;
pde = __proc_create(&parent, name, mode, 1);
if (!pde)
goto out;
-
--[[linux-4.4.1/__proc_create()]]
pde->proc_fops = proc_fops;
pde->data = data;
pde->proc_iops = &proc_file_inode_operations;
if (proc_register(parent, pde) < 0)
goto out_free;
return pde;
-
--[[linux-4.4.1/proc_file_inode_operations(global)]]
--[[linux-4.4.1/proc_register()]]
out_free:
kfree(pde);
-
--[[linux-4.4.1/kfree()]]
out:
return NULL;
}
EXPORT_SYMBOL(proc_create_data);
-
--[[linux-4.4.1/EXPORT_SYMBOL()]]
**CONFIG_PROC_FS 無効: include/linux/proc_fs.h [#c204625e]
#define proc_create_data(name, mode, parent, proc_fops, ...
-常に失敗する。
*コメント [#u632df9b]
終了行:
*参照元 [#h1a40cec]
#backlinks
*説明 [#iaf497d7]
-パス: 複数あり
--CONFIG_PROC_FS 有効: [[linux-4.4.1/fs/proc/generic.c]]
--CONFIG_PROC_FS 無効: [[linux-4.4.1/include/linux/proc_f...
-FIXME: これは何?
--説明
**引数 [#f11db88c]
-const char *name
--
-umode_t mode
--
--[[linux-4.4.1/umode_t]]
-struct proc_dir_entry *parent
--
--[[linux-4.4.1/proc_dir_entry]]
-const struct file_operations *proc_fops
--
--[[linux-4.4.1/file_operations]]
-void *data
--
**返り値 [#sd67724a]
-struct proc_dir_entry *
--
--[[linux-4.4.1/proc_dir_entry]]
**参考 [#d65e6cf6]
*実装 [#e2879c82]
**CONFIG_PROC_FS 有効: fs/proc/generic.c [#s5de1ddc]
struct proc_dir_entry *proc_create_data(const char *name...
struct proc_dir_...
const struct fil...
void *data)
{
struct proc_dir_entry *pde;
if ((mode & S_IFMT) == 0)
mode |= S_IFREG;
-
--[[linux-4.4.1/proc_dir_entry]]
if (!S_ISREG(mode)) {
WARN_ON(1); /* use proc_mkdir() */
return NULL;
}
-
--[[linux-4.4.1/S_ISREG()]]
--[[linux-4.4.1/WARN_ON()]]
BUG_ON(proc_fops == NULL);
-
--[[linux-4.4.1/BUG_ON()]]
if ((mode & S_IALLUGO) == 0)
mode |= S_IRUGO;
pde = __proc_create(&parent, name, mode, 1);
if (!pde)
goto out;
-
--[[linux-4.4.1/__proc_create()]]
pde->proc_fops = proc_fops;
pde->data = data;
pde->proc_iops = &proc_file_inode_operations;
if (proc_register(parent, pde) < 0)
goto out_free;
return pde;
-
--[[linux-4.4.1/proc_file_inode_operations(global)]]
--[[linux-4.4.1/proc_register()]]
out_free:
kfree(pde);
-
--[[linux-4.4.1/kfree()]]
out:
return NULL;
}
EXPORT_SYMBOL(proc_create_data);
-
--[[linux-4.4.1/EXPORT_SYMBOL()]]
**CONFIG_PROC_FS 無効: include/linux/proc_fs.h [#c204625e]
#define proc_create_data(name, mode, parent, proc_fops, ...
-常に失敗する。
*コメント [#u632df9b]
ページ名: