函数 | |
static struct ProcDirEntry * | VnodeToEntry (struct Vnode *node) |
通过节点获取私有内存对象,注意要充分理解 node->data 的作用,那是个可以通天的神奇变量. 更多... | |
static struct Vnode * | EntryToVnode (struct ProcDirEntry *entry) |
创建节点,通过实体对象转成vnode节点,如此达到统一管理的目的. 更多... | |
static int | EntryMatch (const char *name, int len, const struct ProcDirEntry *pn) |
实体匹配,通过名称匹配 更多... | |
int | VfsProcfsTruncate (struct Vnode *pVnode, off_t len) |
int | VfsProcfsCreate (struct Vnode *parent, const char *name, int mode, struct Vnode **vnode) |
创建vnode节点,并绑定私有内容项 更多... | |
int | VfsProcfsRead (struct file *filep, char *buffer, size_t buflen) |
int | VfsProcfsWrite (struct file *filep, const char *buffer, size_t buflen) |
int | VfsProcfsLookup (struct Vnode *parent, const char *name, int len, struct Vnode **vpp) |
int | VfsProcfsMount (struct Mount *mnt, struct Vnode *device, const void *data) |
挂s载实现,找个vnode节点挂上去 更多... | |
int | VfsProcfsUnmount (void *handle, struct Vnode **blkdriver) |
int | VfsProcfsStat (struct Vnode *node, struct stat *buf) |
int | VfsProcfsReaddir (struct Vnode *node, struct fs_dirent_s *dir) |
int | VfsProcfsOpendir (struct Vnode *node, struct fs_dirent_s *dir) |
proc 打开目录 更多... | |
int | VfsProcfsOpen (struct file *filep) |
proc 打开文件 更多... | |
int | VfsProcfsClose (struct file *filep) |
int | VfsProcfsStatfs (struct Mount *mnt, struct statfs *buf) |
统计信息接口,简单实现 更多... | |
int | VfsProcfsClosedir (struct Vnode *vp, struct fs_dirent_s *dir) |
FSMAP_ENTRY (procfs_fsmap, "procfs", procfs_operations, FALSE, FALSE) | |
变量 | |
static struct VnodeOps | g_procfsVops |
static struct file_operations_vfs | g_procfsFops |
proc 文件系统 更多... | |
const struct MountOps | procfs_operations |
proc 对 MountOps 接口实现 更多... | |
|
static |
|
static |
创建节点,通过实体对象转成vnode节点,如此达到统一管理的目的.
在文件 proc_vfs.c 第 71 行定义.
FSMAP_ENTRY | ( | procfs_fsmap | , |
"procfs" | , | ||
procfs_operations | , | ||
FALSE | , | ||
FALSE | |||
) |
在文件 proc_vfs.c 第 325 行定义.
在文件 proc_vfs.c 第 351 行定义.
创建vnode节点,并绑定私有内容项
在文件 proc_vfs.c 第 98 行定义.
在文件 proc_vfs.c 第 168 行定义.
proc 打开文件
在文件 proc_vfs.c 第 304 行定义.
在文件 proc_vfs.c 第 138 行定义.
在文件 proc_vfs.c 第 93 行定义.
在文件 proc_vfs.c 第 226 行定义.
在文件 proc_vfs.c 第 153 行定义.
|
static |
|
static |
proc 文件系统
在文件 proc_vfs.c 第 63 行定义.
|
static |
鸿蒙的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统), 存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息, 甚至可以通过更改其中某些文件来改变内核的运行状态。 基于/proc文件系统如上所述的特殊性,其内的文件也常被称作虚拟文件,并具有一些独特的特点。 例如,其中有些文件虽然使用查看命令查看时会返回大量信息,但文件本身的大小却会显示为0字节。 此外,这些特殊文件中大多数文件的时间及日期属性通常为当前系统时间和日期,这跟它们随时会被刷新(存储于RAM中)有关。 为了查看及使用上的方便,这些文件通常会按照相关性进行分类存储于不同的目录甚至子目录中, 如/proc/mounts 目录中存储的就是当前系统上所有装载点的相关信息, 大多数虚拟文件可以使用文件查看命令如cat、more或者less进行查看,有些文件信息表述的内容可以一目了然, *
在文件 proc_vfs.c 第 62 行定义.
const struct MountOps procfs_operations |
proc 对 MountOps 接口实现
在文件 proc_vfs.c 第 356 行定义.