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

Download history 106630/week @ 2024-04-30 102827/week @ 2024-05-07 120050/week @ 2024-05-14 120544/week @ 2024-05-21 151003/week @ 2024-05-28 137732/week @ 2024-06-04 132771/week @ 2024-06-11 125123/week @ 2024-06-18 129607/week @ 2024-06-25 131516/week @ 2024-07-02 127403/week @ 2024-07-09 148073/week @ 2024-07-16 143614/week @ 2024-07-23 125124/week @ 2024-07-30 116866/week @ 2024-08-06 116955/week @ 2024-08-13

532,944 每月下载量
用于 482 个crate(11 个直接使用)

MIT/Apache

17KB
257

memfd

Build Status crates.io Documentation

一个用于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)
}

更多示例可在此处找到。

许可证

许可如下之一

任选。

依赖关系

~1–10MB
~109K SLoC