#ioctl

ioctl-rs

Rust 系统ioctl绑定的绑定库

8 个版本

使用旧 Rust 2015

0.2.0 2017年12月4日
0.1.6 2017年11月20日
0.1.5 2016年1月27日
0.1.4 2015年11月5日
0.1.0 2015年5月27日

#422Unix API

Download history 6336/week @ 2023-10-15 6094/week @ 2023-10-22 5694/week @ 2023-10-29 5183/week @ 2023-11-05 5724/week @ 2023-11-12 5975/week @ 2023-11-19 5493/week @ 2023-11-26 4838/week @ 2023-12-03 4891/week @ 2023-12-10 4828/week @ 2023-12-17 2581/week @ 2023-12-24 4157/week @ 2023-12-31 5470/week @ 2024-01-07 10667/week @ 2024-01-14 23622/week @ 2024-01-21 31281/week @ 2024-01-28

71,491 每月下载量
210 个包中 使用(直接使用5个)

MIT 许可证

20KB
412

IOCTL

ioctl-rs 包提供了对 Unix 操作系统系统 ioctl 调用的原始定义和安全的绑定。例如,ioctl 常量 TIOCEXCL 被导出为可以与不安全的 ioctl() 函数一起使用的常量。为一些处理输入输出参数并将返回值转换为 io::Result 的 ioctl 提供了包装函数。包装函数的名称与它们实现的 ioctl 相对应。例如,TIOCEXCL 在名为 tiocexcl() 的包装函数中实现。

使用方法

Cargo.toml 中将 ioctl-rs 添加为依赖项

[dependencies]
ioctl-rs = "0.2"

导入 ioctl_rs 包。您可能还需要 std::os::unix::io::RawFd 用于文件描述符,以及 std::io::Result 用于传播错误。

extern crate ioctl_rs as ioctl;

use std::io
use std::os::unix::io::RawFd;

fn setup_serial_port(fd: RawFd) -> io::Result<()> {
    // put file descriptor in exclusive mode
    try!(ioctl::tiocexcl(fd));

    // clear all the modem pins
    ioctl::tiocmset(fd, 0)
}

贡献

此存储库包含一个名为 ioctl_list 的 C++ 程序,该程序生成 ioctl 常量的 Rust 定义。要为新的平台贡献 ioctl 定义或添加新的 ioctl 定义,请遵循 ioctl_listREADME 中的说明。

贡献者

许可证

版权所有 © 2015 David Cuddeback

MIT 许可证 下分发。

依赖关系

~42KB