我试图mkdir
通过查看内核源代码来理解一个函数的工作原理。这是一种尝试了解内核内部结构并在各种功能之间导航的尝试。我知道mkdir
在中定义sys/stat.h
。我找到了原型:
/* Create a new directory named PATH, with permission bits MODE. */
extern int mkdir (__const char *__path, __mode_t __mode)
__THROW __nonnull ((1));
现在,我需要查看在哪个C文件中实现此功能。从源目录,我尝试了
ack "int mkdir"
哪个显示
security/inode.c
103:static int mkdir(struct inode *dir, struct dentry *dentry, int mode)
tools/perf/util/util.c
4:int mkdir_p(char *path, mode_t mode)
tools/perf/util/util.h
259:int mkdir_p(char *path, mode_t mode);
但它们都不符合中的定义sys/stat.h
。
问题
- 实现哪个文件
mkdir
? - 使用上面的函数定义,如何找出实现的文件?内核在定义和实现方法时遵循什么模式?
注意:我正在使用内核2.6.36-rc1。