摘要: /**如果llseek实现lseek和llseek系统调用,如果未定义llseek方法,内核默认修改file结构体中的f_pos成员来实现定位,如果是操作一个设备,则需提供自己的llseek方法。不声明llseek方法默认是允许定位的,如果让设备不支持定位,则应在op... 阅读全文
posted @ 2017-03-01 22:41 gluo-dreamer 阅读(413) 评论(0) 推荐(0) 编辑
摘要: /** *此实例涉及到线程的挂起与竞态,字符IO的堵塞与非堵塞 */struct scull_pipe { wait_queue_head_t inp, outp; char *buffer, *end; char *rp, wp; //i... 阅读全文
posted @ 2017-02-28 19:26 gluo-dreamer 阅读(149) 评论(0) 推荐(0) 编辑
摘要: C语言中 typeof 关键字是用来定义变量数据类型的。在linux内核源代码中广泛使用。下面是Linux内核源代码中一个关于typeof实例:#define min(x, y) ({ \ typeof(x) _min1 = (x)... 阅读全文
posted @ 2017-02-27 12:56 gluo-dreamer 阅读(1417) 评论(0) 推荐(1) 编辑