[已解决]scull中dev_open 和open的参数怎么不一样

发布于 2022-09-23 15:07:49 字数 337 浏览 9 评论 0

小弟 初学驱动,请大侠们不吝赐教。

scull驱动中,打开函数是dev_open ( struct inode* p_inode, struct file* p_file )
测试驱动中,利用open(设备路径,flag)来打开设备。

.open = dev_open, 是不是将上面两个函数挂接在一起?

dev_open跟open的参数 怎么不一致。????????
是我们调用open,系统还会做一些处理,最后跳到dev_open中吗?

[ 本帖最后由 ehyyngp 于 2009-2-10 12:36 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

谁的新欢旧爱 2022-09-30 15:07:49

原帖由 ehyyngp 于 2009-2-10 12:23 发表
小弟 初学驱动,请大侠们不吝赐教。

scull驱动中,打开函数是dev_open ( struct inode* p_inode, struct file* p_file )
测试驱动中,利用open(设备路径,flag)来打开设备。

.open = dev_open, 是不是 ...

你这里说的open是什么open?用户空间的操作函数?

旧时光的容颜 2022-09-30 15:07:49

明白了,找到答案了
http://blog.chinaunix.net/u/33048/showart_1667552.html

谢谢楼上回复!

删除→记忆 2022-09-30 15:07:49

呵呵,原来是找到我的Blog上了。当时只是做的一个简单的流程分析。用户态本身和内核态不一样的,参数是可以转换的。

清引 2022-09-30 15:07:49

对于初学者很有用,呵呵

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文