13个不稳定版本
0.6.4 | 2023年9月18日 |
---|---|
0.6.3 | 2023年3月29日 |
0.6.2 | 2022年11月10日 |
0.6.1 | 2022年6月29日 |
0.2.0 | 2018年9月5日 |
#9 in Unix APIs
532,944 每月下载量
用于 482 个crate(11 个直接使用)
17KB
257 行
memfd
一个用于Linux memfd和封印的纯Rust库。
它提供在Linux上创建memfd
对象和对它们进行封印的支持。这最初是在Linux内核3.17中引入的。有关更多详细信息,请参阅memfd_create(2)
手册页。
示例
extern crate memfd;
use memfd::errors::Result;
fn new_sized_memfd() -> Result<memfd::Memfd> {
// Create a sealable memfd.
let opts = memfd::MemfdOptions::default().allow_sealing(true);
let mfd = opts.create("sized-1K")?;
// Resize to 1024B.
mfd.as_file().set_len(1024)?;
// Add seals to prevent further resizing.
let mut seals = memfd::SealsHashSet::new();
seals.insert(memfd::FileSeal::SealShrink);
seals.insert(memfd::FileSeal::SealGrow);
mfd.add_seals(&seals)?;
// Prevent further sealing changes.
mfd.add_seal(memfd::FileSeal::SealSeal);
Ok(mfd)
}
更多示例可在此处找到。
许可证
许可如下之一
- MIT许可证 - http://opensource.org/licenses/MIT
- Apache许可证,版本2.0 - https://apache.ac.cn/licenses/LICENSE-2.0
任选。
依赖关系
~1–10MB
~109K SLoC