【关于linux驱动的问题】

[复制链接]
 楼主| chenmi0201 发表于 2009-2-26 22:53 | 显示全部楼层 |阅读模式
【关于linux驱动的问题】<br />&nbsp;&nbsp;&nbsp;在学习点灯驱动程序中遇到一下一问题,请各位大虾给予解惑:<br />&nbsp;&nbsp;驱动程序中的入口点:<br />....<br />static&nbsp;struct&nbsp;file_operations&nbsp;matrix4_leds_fops&nbsp;=&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;owner:&nbsp;&nbsp;&nbsp;&nbsp;THIS_MODULE,<br />&nbsp;&nbsp;&nbsp;&nbsp;ioctl:&nbsp;&nbsp;leds_ioctl,<br />};<br />static&nbsp;int&nbsp;leds_ioctl(struct&nbsp;inode&nbsp;*inode,&nbsp;struct&nbsp;file&nbsp;&nbsp;&nbsp;*file,&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;cmd,&nbsp;unsigned&nbsp;long&nbsp;arg)<br />{......&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//实现<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />....<br /><br />而在上层控制程序中有:<br />int&nbsp;main(int&nbsp;argc,&nbsp;char&nbsp;**argv)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;on;<br />&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;led_no;<br />&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;fd;<br />&nbsp;&nbsp;&nbsp;&nbsp;.....<br />&nbsp;&nbsp;&nbsp;&nbsp;fd&nbsp;=&nbsp;open(&quot;/dev/leds&quot;,&nbsp;0);<br />&nbsp;&nbsp;&nbsp;&nbsp;...<br />&nbsp;&nbsp;&nbsp;&nbsp;ioctl(fd,&nbsp;on,&nbsp;led_no);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//疑惑????<br />&nbsp;&nbsp;&nbsp;&nbsp;....<br />}<br /><br />请问上层测试程序ioctl(fd,&nbsp;on,&nbsp;led_no)和驱动中的ioctl函数是怎样调用的啊?他们的参数的个数以及参数的类型好像不一致?那么是怎样匹配的呢?<br />&nbsp;&nbsp;请各位大虾给以解答!提前谢了.&nbsp;&nbsp;&nbsp;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

7

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

4

主题

7

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部