+ -
当前位置:首页 → 问答吧 → 请教:linux设备驱动中,文件操作write函数的问题

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

时间:2005-07-09

来源:互联网

请教各位两个个问题:
(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设备驱动程序",可是好像上面都没提到.很头痛啊.麻烦各位指点迷津啊.谢谢了!!      

作者: JAMESBONE   发布时间: 2005-07-09

[QUOTE=JAMESBONE]请教各位两个个问题:
(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设备驱动程序",可是好像上面都没提到.很头痛啊.麻烦各位指点迷津啊.谢谢了!![/QUOTE]

1. 驱动中的函数必须按照要求定义
2. 应用程序write只有3个参数, 可以用write(fd, NULL, 0).      

作者: samfei   发布时间: 2005-07-25

热门下载

更多