linux设备驱动第三版笔记---->linux驱动重要数据结构之inode.

  inode 结构

inode 结构由内核在内部用来表示文件和代表打开文件描述符的文件结构是不同的. 可能有代表单个文件的多个打开描述符的许多文件结构, 但是它们都指向一个单个 inode 结构.

inode 结构包含大量关于文件的信息. 作为一个通用的规则, 这个结构只有 2 个成员对于编写驱动代码有用:

1、dev_t i_rdev;

对于代表设备文件的节点, 这个成员包含实际的设备编号.

2、struct cdev *i_cdev;

struct cdev 是内核的内部结构, 代表字符设备; 当节点指的是一个字符设备文件时,这个成员包含一个指针, 指向这个结构,.

i_rdev 类型作为一个鼓励更可移植编程的方法, 内核增加了 2 个宏, 可用来从一个 inode 中获取主次编号:

unsigned int iminor(struct inode *inode);

unsigned int imajor(struct inode *inode);

, 应当使用这些宏代替直接操作 i_rdev.

你可能感兴趣的:(linux设备驱动第三版笔记---->linux驱动重要数据结构之inode.)