]> Zhao Yanbai Git Server - minix.git/commitdiff
Message type for VFS_CLOSE
authorLionel Sambuc <lionel@minix3.org>
Mon, 12 May 2014 15:16:00 +0000 (17:16 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:05:34 +0000 (17:05 +0200)
Change-Id: Iebe5f06b0dc95cdca61d95ab875d4fa1171f4f4c

include/minix/callnr.h
include/minix/ipc.h
lib/libc/sys-minix/close.c
servers/vfs/open.c

index cf052dbc92b8de89708ec19f5abbdfe3bc152412..cb28601838c65554ed606a37446df7125ca0c3a8 100644 (file)
 
 #define NR_VFS_CALLS           49      /* highest number from base plus one */
 
-/* Field names for the close(2) call. */
-#define VFS_CLOSE_FD           m1_i1   /* int */
-
 /* Field names for the read(2), write(2), and getdents(2) calls. */
 #define VFS_READWRITE_FD       m1_i1   /* int */
 #define VFS_READWRITE_BUF      m1_p1   /* char * */
index 37bfdfffeba136d7cced20d3a8ea3121112bfdb4..819b9c0e57b7261e9233a09a47d829c52d515cfe 100644 (file)
@@ -156,6 +156,13 @@ typedef struct {
 } mess_lc_vfs_chown;
 _ASSERT_MSG_SIZE(mess_lc_vfs_chown);
 
+typedef struct {
+       int fd;
+
+       uint8_t padding[52];
+} mess_lc_vfs_close;
+_ASSERT_MSG_SIZE(mess_lc_vfs_close);
+
 typedef struct {
        vir_bytes name;
        size_t len;
@@ -843,6 +850,7 @@ typedef struct {
                mess_fs_vfs_readwrite   m_fs_vfs_readwrite;
 
                mess_lc_vfs_chown       m_lc_vfs_chown;
+               mess_lc_vfs_close       m_lc_vfs_close;
                mess_lc_vfs_creat       m_lc_vfs_creat;
                mess_lc_vfs_fchdir      m_lc_vfs_fchdir;
                mess_lc_vfs_fchmod      m_lc_vfs_fchmod;
index 50a9d152c8050f9374e05f29a9bac9721eab48bf..f74571bde32078dda4cfb13004e5e7130fd5ee7e 100644 (file)
@@ -11,6 +11,6 @@ int fd;
   message m;
 
   memset(&m, 0, sizeof(m));
-  m.VFS_CLOSE_FD = fd;
+  m.m_lc_vfs_close.fd = fd;
   return(_syscall(VFS_PROC_NR, VFS_CLOSE, &m));
 }
index 205de3c278862369b41a8e2d56a47568c00dd9b0..cbe82893d5ca9a28f93f438b1a2a7e597e2067ac 100644 (file)
@@ -662,7 +662,7 @@ int do_lseek(void)
 int do_close(void)
 {
 /* Perform the close(fd) system call. */
-  int thefd = job_m_in.VFS_CLOSE_FD;
+  int thefd = job_m_in.m_lc_vfs_close.fd;
   return close_fd(fp, thefd);
 }