Linux 字符设备驱动实例 1
看了《Linux 设备驱动程序》的前几章,我结合这篇教程中给出的一个 2.4 版内核的字符驱动,
自己编写了一个 2.6 版内核的驱动程序,并且加上了详细的注释。这个程序很简单,但是对初
学者把握 2.6 版内核的字符驱动的脉络应该有一定的帮助,也可以算作我对《Linux 设备驱动
程序》前几章学习的一个小结。
//#globalvar.c
#include <linux/module.h> //模块所需的大量符号和函数定义
#include <linux/init.h> //指定初始化和清楚函数
#include <linux/fs.h> //文件系统相关的函数和头文件
#include <linux/cdev.h> //cdev 结构的头文件
#include <asm/uaccess.h> //在内核和用户空间中移动数据的函数
MODULE_LICENSE("GPL"); //指定代码使用的许可证
//文件操作函数的声明
int globalvar_open(struct inode *, struct file *);
int globalvar_release(struct inode *, struct file *);
ssize_t globalvar_read(struct file *, char *, size_t, loff_t *);