pub trait Syscall {
Show 32 methods
// Required methods
fn as_any(&self) -> &dyn Any;
fn pivot_rootfs(&self, path: &Path) -> Result<(), SyscallError>;
fn chroot(&self, path: &Path) -> Result<(), SyscallError>;
fn set_ns(&self, rawfd: i32, nstype: CloneFlags) -> Result<(), SyscallError>;
fn set_id(&self, uid: Uid, gid: Gid) -> Result<(), SyscallError>;
fn unshare(&self, flags: CloneFlags) -> Result<(), SyscallError>;
fn set_capability(
&self,
cset: CapSet,
value: &CapsHashSet,
) -> Result<(), SyscallError>;
fn set_hostname(&self, hostname: &str) -> Result<(), SyscallError>;
fn set_domainname(&self, domainname: &str) -> Result<(), SyscallError>;
fn set_rlimit(&self, rlimit: &PosixRlimit) -> Result<(), SyscallError>;
fn get_pwuid(&self, uid: u32) -> Option<Arc<OsStr>>;
fn mount(
&self,
source: Option<&Path>,
target: &Path,
fstype: Option<&str>,
flags: MsFlags,
data: Option<&str>,
) -> Result<(), SyscallError>;
fn mount_from_fd(
&self,
source_fd: &OwnedFd,
target: &Path,
) -> Result<(), SyscallError>;
fn move_mount(
&self,
from_dirfd: BorrowedFd<'_>,
from_path: Option<&str>,
to_dirfd: BorrowedFd<'_>,
to_path: Option<&str>,
flags: u32,
) -> Result<(), SyscallError>;
fn fsopen(
&self,
fstype: Option<&str>,
flags: u32,
) -> Result<OwnedFd, SyscallError>;
fn fsconfig(
&self,
fsfd: BorrowedFd<'_>,
cmd: u32,
key: Option<&str>,
val: Option<&str>,
aux: c_int,
) -> Result<(), SyscallError>;
fn fsmount(
&self,
fsfd: BorrowedFd<'_>,
flags: u32,
attr_flags: Option<u64>,
) -> Result<OwnedFd, SyscallError>;
fn open_tree(
&self,
dirfd: RawFd,
path: Option<&str>,
flags: u32,
) -> Result<OwnedFd, SyscallError>;
fn symlink(&self, original: &Path, link: &Path) -> Result<(), SyscallError>;
fn mknod(
&self,
path: &Path,
kind: SFlag,
perm: Mode,
dev: u64,
) -> Result<(), SyscallError>;
fn chown(
&self,
path: &Path,
owner: Option<Uid>,
group: Option<Gid>,
) -> Result<(), SyscallError>;
fn set_groups(&self, groups: &[Gid]) -> Result<(), SyscallError>;
fn close_range(&self, preserve_fds: i32) -> Result<(), SyscallError>;
fn mount_setattr(
&self,
dirfd: BorrowedFd<'_>,
pathname: &Path,
flags: u32,
mount_attr: &MountAttr,
size: size_t,
) -> Result<(), SyscallError>;
fn set_io_priority(
&self,
class: i64,
priority: i64,
) -> Result<(), SyscallError>;
fn set_mempolicy(
&self,
mode: i32,
nodemask: &[c_ulong],
maxnode: u64,
) -> Result<(), SyscallError>;
fn umount2(
&self,
target: &Path,
flags: MntFlags,
) -> Result<(), SyscallError>;
fn get_uid(&self) -> Uid;
fn get_gid(&self) -> Gid;
fn get_euid(&self) -> Uid;
fn get_egid(&self) -> Gid;
fn personality(&self, domain: PersonalityDomain) -> Result<(), SyscallError>;
}Expand description
This specifies various kernel/other functionalities required for container management