QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1347|回复: 1

请教:linux设备驱动中,文件操作write函数的问题

[复制链接]
发表于 2005-7-9 23:12:49 | 显示全部楼层 |阅读模式
请教各位两个个问题:
(1)Linux设备驱动中,文件操作write函数的原型是:ssize_t (*write) (struct file*, const char *,size_t,loff_t).
如果下面结构体中
struct file_operations test=
{
......
write:write_test,
......
}
write_test函数只是需要打印出句子(printk("......")),根本不需要其他参数,那么write_test的原型是不是还是要写成上面的那种带4个参数的形式?
(2)如果在应用程序中,调用的write接口的函数是不需要参数的(就像上面write_test一样).那么该如何在应用程序中来调用它呢?  那4个参数该怎么写啊?write(?,?,?,?)

正在看"Linux设备驱动程序",可是好像上面都没提到.很头痛啊.麻烦各位指点迷津啊.谢谢了!!
发表于 2005-7-13 18:09:17 | 显示全部楼层
要分区内核空间和用户空间;
write_test(内核空间)要以write函数的原型来写,而在应用程序中原型为write(int fd, char *buf, int count)(用户空间),应用程序中的write函数通过系统调用来调用驱动中的write函数
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-23 10:44 , Processed in 0.066690 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表