当前位置: 技术问答>linux和unix
linux 2.4内核中的ioctl系统调用的第三个参数的用法问题?
来源: 互联网 发布时间:2015-08-30
本文导语: 2.4内核中ioctl格式为ioctl(int fd,int cmd,int arg),但是POSIX关于ioctl的定义是可变参数的,如何按照2.4的定义实现可变参数? | 最后一个参数传个指针进去。 struct arg_t { arg1_t arg1; arg2_t arg2; ... } arg; ...
2.4内核中ioctl格式为ioctl(int fd,int cmd,int arg),但是POSIX关于ioctl的定义是可变参数的,如何按照2.4的定义实现可变参数?
|
最后一个参数传个指针进去。
struct arg_t {
arg1_t arg1;
arg2_t arg2;
...
} arg;
ioctl(fd, cmd, &arg);
struct arg_t {
arg1_t arg1;
arg2_t arg2;
...
} arg;
ioctl(fd, cmd, &arg);
|
二楼正解。
补充一点:在驱动程序中,如果要读取第三个参数指向的数据,要使用copy_from_user,从用户模式里面拷贝出来,如果要往那个地方写数据,要使用copy_to_user把数据拷贝到内核态
补充一点:在驱动程序中,如果要读取第三个参数指向的数据,要使用copy_from_user,从用户模式里面拷贝出来,如果要往那个地方写数据,要使用copy_to_user把数据拷贝到内核态
|
帮顶一下
学习
学习
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。