linux设备驱动第三版笔记---->linux驱动重要数据结构之inode.
2011-08-19 09:01
337 查看
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.
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驱动重要数据结构之struct file
- linux设备驱动第三版笔记---->linux驱动重要数据结构之file_operations
- 【Linux基础笔记】一些感觉重要的基本命令<三>
- 对关于字符驱动的一些重要数据结构(file_operations, file, inode, cdev)的理解
- linux驱动移植重要的数据结构
- linux 学习心得笔记<初级>第三篇
- Linux驱动编程 step-by-step (三) 字符设备中 重要的数据结构
- Linux Socket CAN驱动 <3. Socket CAN发送数据流程>
- Linux usb设备驱动(2)---> usbmouse.c 源码分析
- linux学习笔记:<二>vi常用命令
- RT-Thread 学习笔记(十三)--- 开启基于RTGUI的LCD显示功能(3)<触屏屏驱动移植和测试>
- 注册表操作-->mengwuji驱动教程笔记
- Linux学习笔记之<加入用户到sudoer中>
- <Test-Driven Development with Python>学习笔记 第一部分 测试驱动开发基础
- Linux USB 驱动开发(二)—— USB 驱动几个重要数据结构
- linux学习笔记:<一>linux文件的压缩与打包
- Linux学习笔记之<wget命令>
- Linux初学笔记之<chmod命令>
- linux学习笔记之<cat命令>
- 【Linux基础笔记】Linux开机自动启动网卡eth0<一>