pub fn ioctl(fd: i32, request: u32, arg: usize) -> isizeExpand description
ioctl - 设备特定的输入/输出控制
§参数
fd: 文件描述符request: ioctl 请求码(由 _IO, _IOR, _IOW, _IOWR 宏构造)arg: 参数指针(根据 request 类型解释)
§返回值
- 成功: 返回 0 或设备特定的值
- 失败: 返回 -errno
§支持的操作
§通用文件操作
FIONBIO- 设置非阻塞模式FIONREAD- 获取可读字节数FIOASYNC- 设置异步 I/O
§终端操作
TIOCGWINSZ- 获取终端窗口大小TIOCSWINSZ- 设置终端窗口大小TCGETS- 获取终端属性TCSETS- 设置终端属性
§网络操作
SIOCGIFCONF- 获取网络接口列表SIOCGIFADDR- 获取接口地址SIOCGIFFLAGS- 获取接口标志- 等等(详见 uapi/ioctl.rs)
§注意
- 大部分 ioctl 操作需要相应的设备驱动程序支持
- 无效的 request 码会返回 ENOTTY