Ubuntu:kernel5.6.0-rc3:file_操作中不支持IOCTL?

Ubuntu:kernel5.6.0-rc3:file_操作中不支持IOCTL?,ubuntu,linux-kernel,ioctl,Ubuntu,Linux Kernel,Ioctl,我正在使用ubuntu和内核版本5.6.3-rc3。 我在头文件的文件操作结构中没有看到任何ioctl 支架是否已拆除?替代品是什么? 从linux/fs.h标题粘贴到下面 struct file\u操作{ 结构模块*所有者; loff_t(*llseek)(结构文件*,loff_t,int); ssize_t(*读取)(结构文件*,字符用户*,大小,loff_t*); ssize_t(*write)(结构文件*,常量字符__用户*,大小_t,loff_t*); ssize_t(*读取(结构ki

我正在使用ubuntu和内核版本5.6.3-rc3。 我在头文件的
文件操作
结构中没有看到任何ioctl

支架是否已拆除?替代品是什么?

linux/fs.h
标题粘贴到下面

struct file\u操作{
结构模块*所有者;
loff_t(*llseek)(结构文件*,loff_t,int);
ssize_t(*读取)(结构文件*,字符用户*,大小,loff_t*);
ssize_t(*write)(结构文件*,常量字符__用户*,大小_t,loff_t*);
ssize_t(*读取(结构kiocb*,结构iov_iter*);
ssize_t(*写入)(结构kiocb*,结构iov_iter*);
int(*iopoll)(结构kiocb*kiocb,bool spin);
int(*迭代)(结构文件*,结构目录上下文*);
int(*迭代共享)(结构文件*,结构目录上下文*);
__轮询(*poll)(结构文件*,结构轮询表*);
long(*unlocked_ioctl)(结构文件*,无符号int,无符号long);
long(*compat_ioctl)(结构文件*,无符号int,无符号long);
int(*mmap)(结构文件*,结构vm_区域_结构*);
未签名的长mmap_支持的_标志;
int(*打开)(结构索引节点*,结构文件*);
int(*flush)(结构文件*,层所有者id);
int(*release)(结构索引节点*,结构文件*);
int(*fsync)(结构文件*,loff\u t,loff\u t,int数据同步);
int(*fasync)(int,结构文件*,int);
int(*lock)(结构文件*,int,结构文件_lock*);
ssize\u t(*sendpage)(结构文件*,结构页*,int,size\u t,loff\t
unsigned long(*get_unmap_area)(结构文件*,unsigned long,unsigned long,unsigned long,unsigned long);
int(*检查标志)(int);
int(*setfl)(结构文件*,无符号长);
int(*flock)(结构文件*,int,结构文件锁*);
ssize_t(*拼接_写入)(结构管道索引节点信息*、结构文件*、loff_t*、大小_t、无符号整数);
ssize_t(*拼接读取)(结构文件*,loff_t*,结构管道索引节点信息*,大小,无符号整数);
int(*setlease)(结构文件*,长,结构文件锁定**,无效**);
长(*衰减)(结构文件*文件,int模式,loff\u t偏移,
洛夫特伦);
void(*show_fdinfo)(结构顺序文件*m,结构文件*f);
#ifndef配置\u MMU
未签名(*mmap_能力)(结构文件*);
#恩迪夫
ssize_t(*复制文件范围)(结构文件*,loff_t,结构文件*,
loff_t、size_t、unsigned int);
loff_t(*重新映射文件范围)(结构文件*文件插入,loff_t位置插入,
结构文件*file\u out,loff\u t pos\u out,
loff_t len,无符号整数重新映射标志);
int(*fadvise)(结构文件*,loff\u t,loff\u t,int);
}随机化布局;
自内核v2.6.36(很久以前)以来,
ioctl()文件操作已被删除

处理ioctl的“新”方法是通过
unlocked_ioctl()
compat_ioctl()
,它们在v2.6.11(2005)中引入,并且仍然存在于最新的内核中(以及在上面粘贴的代码中):

long(*unlocked_ioctl)(结构文件*,unsigned int,unsigned long);
long(*compat_ioctl)(结构文件*,无符号int,无符号long);
建议阅读: