LINUX驱动小知识

来源:互联网 发布:js如何隐藏div 编辑:程序博客网 时间:2024/05/18 09:05

1:主次设备号

     主次设备号就类似于身份证的号码,前几位代表身份,后面代表生日等。主设备号代表一类设备,此设备号是有多少个设备,主次设备号合为一个设备号。

2:__user的用处:提示这个参数是应用层的

     如:struct file_operations {
            struct module *owner;
            loff_t (*llseek) (struct file *, loff_t, int);
            ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);//__user 表示第二个参数是应用层的参数,驱动应该把数据存到这个内存里

3:应用层函数和驱动层函数一一对应

     如:应用层int ioctl(int fd ,unsigned long request , ...)

            驱动层long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);

             可知道应用层的fd对应驱动层的struct file *     ,request对应int  ,可变参...对应long.由此函数可知,应用层最多只能有三个参数,最少两个参数,不要被应用层的...迷惑了以 为可以有无限个可变参数。要一一对应。



原创粉丝点击