在 /proc 文件系统中创建一个虚拟文件,请使用 create_proc_entry
函数。这个函数可以接收一个文件名、一组权限和这个文件在 /proc 文件系统中出现的位置。create_proc_entry
的返回值是一个 proc_dir_entry
指针(或者为 NULL,说明在 create
时发生了错误)。
struct proc_dir_entry *create_proc_entry( const char *name, mode_t mode,
struct proc_dir_entry *parent );
struct proc_dir_entry {
const char *name; // virtual file name
mode_t mode; // mode permissions
uid_t uid; // File's user id
gid_t gid; // File's group id
struct inode_operations *proc_iops; // Inode operations functions
struct file_operations *proc_fops; // File operations functions
//parent 参数可以为 NULL(表示 /proc 根目录),也可以是很多其他值
struct proc_dir_entry *parent; // Parent directory
...
//用 read_proc
和 write_proc
命令来插入对这个虚拟文件进行读写的函数。
read_proc_t *read_proc; // /proc read function
write_proc_t *write_proc; // /proc write function
void *data; // Pointer to private data
atomic_t count; // use count
...
};
void remove_proc_entry( const char *name, struct proc_dir_entry *parent );
阅读(955) | 评论(0) | 转发(0) |