找回密码
 注册
查看: 1123|回复: 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, 2025-2-12 09:20 , Processed in 0.052082 second(s), 15 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

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