#define NR_VFS_CALLS 49 /* highest number from base plus one */
-/* Field names for the umask(2) call. */
-#define VFS_UMASK_MASK m1_i1 /* mode_t */
-
/* Field names for the link(2), symlink(2), and rename(2) call. */
#define VFS_LINK_NAME1 m1_p1 /* const char * */
#define VFS_LINK_LEN1 m1_i1 /* size_t */
} mess_lc_vfs_truncate;
_ASSERT_MSG_SIZE(mess_lc_vfs_truncate);
+typedef struct {
+ mode_t mask;
+
+ uint8_t padding[52];
+} mess_lc_vfs_umask;
+_ASSERT_MSG_SIZE(mess_lc_vfs_umask);
+
typedef struct {
vir_bytes name;
size_t namelen;
mess_lc_vfs_select m_lc_vfs_select;
mess_lc_vfs_statvfs1 m_lc_vfs_statvfs1;
mess_lc_vfs_truncate m_lc_vfs_truncate;
+ mess_lc_vfs_umask m_lc_vfs_umask;
mess_lc_vfs_umount m_lc_vfs_umount;
mess_lsys_vfs_checkperms m_lsys_vfs_checkperms;
message m;
memset(&m, 0, sizeof(m));
- m.VFS_UMASK_MASK = complmode;
+ m.m_lc_vfs_umask.mask = complmode;
return( (mode_t) _syscall(VFS_PROC_NR, VFS_UMASK, &m));
}
/* Perform the umask(2) system call. */
mode_t complement, new_umask;
- new_umask = job_m_in.VFS_UMASK_MASK;
+ new_umask = job_m_in.m_lc_vfs_umask.mask;
complement = ~fp->fp_umask; /* set 'r' to complement of old mask */
fp->fp_umask = ~(new_umask & RWX_MODES);