当前位置: 技术问答>linux和unix
【求助】:如何用ioctl()函数调用一个驱动程序
来源: 互联网 发布时间:2016-08-04
本文导语: 小弟,最近在编写状态机,对这个ioctl函数不太了解 求助各位大哥帮忙。 int ioctl(int fd,int request,(char*)arg); 比如:我现在要调用一个拨号音驱动,用这个函数该如何调用? 第三个参数可定义一个各种铃音的结构体。 ...
小弟,最近在编写状态机,对这个ioctl函数不太了解
求助各位大哥帮忙。
int ioctl(int fd,int request,(char*)arg);
比如:我现在要调用一个拨号音驱动,用这个函数该如何调用?
第三个参数可定义一个各种铃音的结构体。
请各位大哥们指导一下该怎么编合适?
最好附上简单的代码 这样容易看懂。
谢谢!!
求助各位大哥帮忙。
int ioctl(int fd,int request,(char*)arg);
比如:我现在要调用一个拨号音驱动,用这个函数该如何调用?
第三个参数可定义一个各种铃音的结构体。
请各位大哥们指导一下该怎么编合适?
最好附上简单的代码 这样容易看懂。
谢谢!!
|
如果前面有fd=open(“/dev/testdev”,O_RDWR)这样的代码,
就可以这样用。
只要保证ioctl函数中的参数类型一致就可以了。
具体能否实现你要的功能,那得看驱动程序怎么写了
就可以这样用。
只要保证ioctl函数中的参数类型一致就可以了。
具体能否实现你要的功能,那得看驱动程序怎么写了
|
cmd是一个整数,不是指针啊,你怎么搞成一个结构体了?
在驱动程序中的ioctl函数中,可以根据这个整数通过switch来执行不同的操作。
你的SIOCSIFFLAGS应该是整数,
具体怎么实现,是由cdev设备驱动程序的file_operations中的ioctl这个函数实现决定了。
在驱动程序中的ioctl函数中,可以根据这个整数通过switch来执行不同的操作。
你的SIOCSIFFLAGS应该是整数,
具体怎么实现,是由cdev设备驱动程序的file_operations中的ioctl这个函数实现决定了。