2 个版本

使用旧的 Rust 2015

0.1.1 2017 年 1 月 7 日
0.1.0 2017 年 1 月 7 日

Rust 模式 中排名第 2343

Download history 186/week @ 2024-04-04 156/week @ 2024-04-11 127/week @ 2024-04-18 134/week @ 2024-04-25 166/week @ 2024-05-02 213/week @ 2024-05-09 192/week @ 2024-05-16 178/week @ 2024-05-23 225/week @ 2024-05-30 193/week @ 2024-06-06 165/week @ 2024-06-13 138/week @ 2024-06-20 132/week @ 2024-06-27 105/week @ 2024-07-04 98/week @ 2024-07-11 60/week @ 2024-07-18

每月下载量 412
4 个包中使用(直接使用 3 个)4 个包

MIT 许可证

5KB
64

#6 ioctl-gen

文档

在没有宏的情况下制作这些神奇的 ioctl 号码真的很烦人,所以这里有一些宏。如果你好奇的话,是的,它们可以在常量中使用。

示例

#[macro_use]
extern crate ioctlify;

// Taken from <linux/videodev2.h>
const VIDIOC_RESERVED:   u32 = io!(b'V', 1);
const VIDIOC_STREAMON:   u32 = iow!(b'V', 18, 4);
const VIDIOC_LOG_STATUS: u32 = io!(b'V', 70);

assert_eq!(ioc_type!(VIDIOC_RESERVED), b'V' as u32);
assert_eq!(VIDIOC_STREAMON, 1074026002);
assert_eq!(ioc_nr!(VIDIOC_LOG_STATUS), 70);

安装

Cargo.toml

[dependencies]
ioctl-gen = "0.1.0"

许可证

MIT 许可证。


lib.rs:

这个包允许你编码和解码 ioctl 号码。基本上就是 ioctl.h 的移植。

以下是一些示例

#[macro_use]
extern crate ioctlify;

// Taken from <linux/videodev2.h>
const VIDIOC_RESERVED:   u32 = io!(b'V', 1);
const VIDIOC_STREAMON:   u32 = iow!(b'V', 18, 4);
const VIDIOC_LOG_STATUS: u32 = io!(b'V', 70);

assert_eq!(ioc_type!(VIDIOC_RESERVED), b'V' as u32);
assert_eq!(VIDIOC_STREAMON, 1074026002);
assert_eq!(ioc_nr!(VIDIOC_LOG_STATUS), 70);

无运行时依赖