]> Zhao Yanbai Git Server - minix.git/commitdiff
Message type for VFS_UMASK
authorLionel Sambuc <lionel@minix3.org>
Mon, 12 May 2014 11:37:39 +0000 (13:37 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:05:32 +0000 (17:05 +0200)
Change-Id: Iaf8f83593adbbf50b82feecbe8fad004da2add72

include/minix/callnr.h
include/minix/ipc.h
lib/libc/sys-minix/umask.c
servers/vfs/protect.c

index 4ef3d790aae5813aec31fcb42b60cadb315604fc..ad6c92af6a3ee23a909bd95079a962f8af3b55ac 100644 (file)
 
 #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 */
index ad8b3fc0642d891955beb9a4e832b3b1fbb83d78..2228bf79e39cb220407c4b9701789a86d57ca067 100644 (file)
@@ -245,6 +245,13 @@ typedef struct {
 } 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;
@@ -742,6 +749,7 @@ typedef struct {
                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;
index aa2d372edcd2773c341f83834d1e08dea27da141..29d1413677ca012796d91c4095269d58108663ca 100644 (file)
@@ -10,6 +10,6 @@ mode_t umask(mode_t complmode)
   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));
 }
index aab23d2075025bc562acbaf32e94b20174bd2278..9beaecce7c9d8bb6769a5d32254b06b9e4b52f29 100644 (file)
@@ -184,7 +184,7 @@ int do_umask(void)
 /* 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);