磁力驱动泵浦-上海龙亚泵业与您共同探讨磁力驱动泵的性能参数、价格行情!
  • 磁力驱动泵
  • 磁力驱动泵
当前位置: 主页 > 氟塑料磁力驱动泵 >

氟塑料磁力驱动泵上海厂家[ARM笔记]字符设备驱动

时间:2011-12-10 00:43来源:龙亚磁力驱动泵厂 作者:龙亚磁力驱动泵厂 点击:
>struct module *owner>>第一个 file_operations 成员是一个指向拥有这个结构的模块的指针,一般被简单初始化为THIS_MODULE,它是定义在中的一个宏。内核施用这个字段以制止在模块的操作正在被施用时卸载
>struct module *owner>>第一个 file_operations 成员是一个指向拥有这个结构的模块的指针,一般被简单初始化为THIS_MODULE,它是定义在中的一个宏。内核施用这个字段以制止在模块的操作正在被施用时卸载该模块。>>loff_t (*llseek) (struct file *, loff_t, int);>>llseek 用作改变文件中的当前读/写位置, 并且新位置作为(正的)返回值。参数loff_t是一个“长偏移量”,即使在32位平台上也至少占用64位的数值宽度。堕落时返回一个负的返回值。>>ssize_t (*read)(struct file *, char __user *, size_t, loff_t *);>>用来从设备中读取数值。该函数指针被赋为NULL值时,导致read系统挪用堕落,并返回-EINVAL("Invalid argument",不法参数)。函数返回非负值表示成功读取的字节数(返回值为"signed size"数值类型,通常就是目标平台上的固有整儿类型)。>>ssize_t (*aio_read)(struct kiocb *, char __user *, size_t, loff_t *);>>aio_read初始化一个异步读操作——即在函数返回以前有可能不会完成的读取操作。要是该方法为NULL,所有的操作将通过read(同步)处理。>>ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);>>向设备发送数值.要是设备为NULL返回-EINVAL,否则返回成功发送的字节数。>>ssize_t (*aio_write)(struct kiocb *, const char __user *, size_t, loff_t *);>>aio_write初始化设备上的一个异步写操作。>>int (*readdir) (struct file *, void *, filldir_t);>>readdir用来读取目录, 仅对文件系统有用,对于设备文件,这个成员应当为 NULL。>>unsigned int (*poll) (struct file *, struct poll_table_struct *);>>poll用作判断设备读或者写是否会阻塞。>>int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);>>系统挪用ioctl提供了一种执行设备特定命令的方法(比如格局化软盘的某个磁道,这既不是读操作也不是写操作)。另外,内核还能识别一部分ioctl命令,而不必挪用fops表中的ioctl。要是设备不提供ioctl入口点,则对于不论什么内核未预先定义的请求,ioctl系统挪用都将返回错误(-ENOTTY,“NO such ioctl for device”)。>>int (*mmap) (struct file *, struct vm_area_struct *);>>mmap 用来请求将设备内存照射到进程的地址空间。>>int (*open) (struct inode *, struct file *);>>open用来打开一个设备。尽管这始终是对设备文件执行的第一个操作,然而却并不要求驱动程序肯定是要声明一个相应的方法。要是这个入口为NULL,设备的打开操作永恒成功,但系统不会通知该驱动。>>int (*flush) (struct file *);>>对flush操作的挪用发生在进程关闭设备文件描述符副本的时候,它应该执行(并等候)设备上尚未完结的操作。目前,flush仅仅用于少数几个驱动程序,比如,SCSI磁带驱动程序用它来确保设备被关闭以前所有的数值被写入到磁带中。要是flush被置为NULL,内核将简单地忽略用户应用程序的请求。>>int (*release) (struct inode *, struct file *);>>release用来释放一个设备。与open相仿,也能够将它设置为NULL。>>int (*fsync) (struct file *, struct dentry *, int);>>fsync用来刷新被挂起的数值。>>int (*aio_fsync)(struct kiocb *, int);>>aio_fsync是一个异步 fsync。>>int (*fasync) (int, struct file *, int);>>fasync用来通知设备它的 FASYNC 标志的改变。>>int (*lock) (struct file *, int, struct file_lock *);>>lock 方法用来实现文件加锁。>>ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *);>>ssize_t (*writev) (struct file *, const struct iovec *, unsigned long, loff_t *);>>ssize_t (*sendfile)(struct file *, loff_t *, size_t, read_actor_t, void *);>>ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);>>unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);>>在进程的地址空间找一个合适的位置来照射在底层设备上的内存段中。>>int (*check_flags)(int)>>允许模块检查传递给 fnctl(F_SETFL...) 挪用的标志。>>int (*dir_notify)(struct file *, unsigned long);>>只对文件系统有用; 驱动不需要实现 dir_notify。>尊敬的用户您好:上海氟塑料磁力驱动泵厂家,请找上海龙亚氟塑料磁力驱动泵厂,如需选型报价的客户请致电O21-6l557088 或 O21-6l557088 (*^__^*) 嘻嘻……。 (责任编辑:龙亚磁力驱动泵厂)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情: