Sindbad~EG File Manager

Current Path : /usr/local/src/clamav-1.0.9/libclamav_rust/.cargo/vendor/rustix/src/fs/
Upload File :
Current File : //usr/local/src/clamav-1.0.9/libclamav_rust/.cargo/vendor/rustix/src/fs/openat2.rs

use crate::fd::OwnedFd;
use crate::{backend, io, path};
use backend::fd::AsFd;
use backend::fs::types::{Mode, OFlags, ResolveFlags};

/// `openat2(dirfd, path, OpenHow { oflags, mode, resolve }, sizeof(OpenHow))`
///
/// # References
///  - [Linux]
///
/// [Linux]: https://man7.org/linux/man-pages/man2/openat2.2.html
#[inline]
pub fn openat2<Fd: AsFd, P: path::Arg>(
    dirfd: Fd,
    path: P,
    oflags: OFlags,
    mode: Mode,
    resolve: ResolveFlags,
) -> io::Result<OwnedFd> {
    path.into_with_c_str(|path| {
        backend::fs::syscalls::openat2(dirfd.as_fd(), path, oflags, mode, resolve)
    })
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists