wasmer_wasix/journal/effector/syscalls/
fd_set_rights.rs

1use super::*;
2
3impl JournalEffector {
4    pub fn save_fd_set_rights(
5        ctx: &mut FunctionEnvMut<'_, WasiEnv>,
6        fd: Fd,
7        fs_rights_base: Rights,
8        fs_rights_inheriting: Rights,
9    ) -> anyhow::Result<()> {
10        Self::save_event(
11            ctx,
12            JournalEntry::FileDescriptorSetRightsV1 {
13                fd,
14                fs_rights_base,
15                fs_rights_inheriting,
16            },
17        )
18    }
19
20    pub fn apply_fd_set_rights(
21        ctx: &mut FunctionEnvMut<'_, WasiEnv>,
22        fd: Fd,
23        fs_rights_base: Rights,
24        fs_rights_inheriting: Rights,
25    ) -> anyhow::Result<()> {
26        crate::syscalls::fd_fdstat_set_rights_internal(ctx, fd, fs_rights_base, fs_rights_inheriting)
27            .map_err(|err| {
28                anyhow::format_err!(
29                    "journal restore error: failed to set file rights (fd={fd}, fs_rights_base={fs_rights_base:?}, fs_rights_inheriting={fs_rights_inheriting:?}) - {err}")
30            })?;
31        Ok(())
32    }
33}