2 个版本
使用旧的 Rust 2015
0.1.1 | 2017 年 1 月 7 日 |
---|---|
0.1.0 | 2017 年 1 月 7 日 |
在 Rust 模式 中排名第 2343
每月下载量 412
在 4 个包中使用(直接使用 3 个)4 个包
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"
许可证
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);