]> git.proxmox.com Git - rustc.git/blob - src/vendor/nix/src/sys/memfd.rs
New upstream version 1.25.0+dfsg1
[rustc.git] / src / vendor / nix / src / sys / memfd.rs
1 use libc;
2 use std::os::unix::io::RawFd;
3 use {Errno, Result};
4 use std::ffi::CStr;
5
6 bitflags!(
7 pub flags MemFdCreateFlag: libc::c_uint {
8 const MFD_CLOEXEC = 0x0001,
9 const MFD_ALLOW_SEALING = 0x0002,
10 }
11 );
12
13 pub fn memfd_create(name: &CStr, flags: MemFdCreateFlag) -> Result<RawFd> {
14 use sys::syscall::{syscall, MEMFD_CREATE};
15 let res = unsafe { syscall(MEMFD_CREATE, name.as_ptr(), flags.bits()) };
16
17 Errno::result(res).map(|r| r as RawFd)
18 }