
linux字符设备驱动
文章平均质量分 79
真胖子
这个作者很懒,什么都没留下…
展开
-
字符设备(5)select
/*select 调用和poll*/#include #include #include #include #include #include #include #include #include #include #include #define P_DEBUG(fmt, args...) printk("[%s]:"fmt, __FUNCTION__, ##原创 2014-03-15 17:05:25 · 631 阅读 · 0 评论 -
字符设备(3)lseek
/*改进:读写时,新添加了利用llseek()函数,修改偏移量属性*//*对设备属性进行了封装,读写时重要的改变*/#include #include #include #include #include #include #include #include #define P_DEBUG(fmt, args...) printk("[%s]:"fmt, __FUNC原创 2014-03-15 16:56:20 · 838 阅读 · 0 评论 -
字符设备(2)面向设备对象
/*改进:从设备读写*//*对设备属性进行了封装,读写时重要的改变*/#include #include #include #include #include #include #include #include #define P_DEBUG(fmt, args...) printk("[%s]"fmt, __FUNCTION__, ##args)#define原创 2014-03-15 16:53:30 · 415 阅读 · 0 评论 -
字符设备(6)阻塞IO
/*只是写了读操作方面,写操作还没写 阻塞型IO,在等待队列上睡眠(初始化一个wait_queue 加入等待队列头的链表中) 非阻塞型IO ,判断O_NONBLOCK标志*/#include #include #include #include #include #include #include #include #include #include原创 2014-03-15 17:13:36 · 639 阅读 · 0 评论 -
字符设备(1)读写
/*struct cdev { struct kobject kobj; struct module *owner; //一般初始化为THIS_MODULE const struct file_operations *ops; //文件操作结构体 struct list_head list; dev_t dev; //设备号 unsigned int count; //添加的设备个数原创 2014-03-15 16:33:27 · 860 阅读 · 0 评论 -
字符设备(4)ioctl
1.无参数//ioctl 命令static int test_ioctl(struct file *filp, unsigned long cmd, unsigned long arg)//2.6.23 (后没有inode参数) 对应的函数指针变为ulocked_ioctl{ int ret; struct test_dev_t *dev = filp->private_data;原创 2014-03-15 17:03:09 · 602 阅读 · 0 评论