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

include/minix/callnr.h
include/minix/ipc.h
lib/libc/sys-minix/stat.c
servers/vfs/stadir.c

index c4915d08e893e9a90c49a64c308cb652bbdacdab..4501b012a455d6572a413cce37b4a0d5b838d79e 100644 (file)
 
 #define NR_VFS_CALLS           49      /* highest number from base plus one */
 
-/* Field names for the fstat(2) call. */
-#define VFS_FSTAT_FD           m1_i1   /* int */
-#define VFS_FSTAT_BUF          m1_p1   /* struct stat * */
-
 /* Field names for the fcntl(2) call. */
 #define VFS_FCNTL_FD           m1_i1   /* int */
 #define VFS_FCNTL_CMD          m1_i2   /* int */
index 42bea3f58bd01683368bbaf9264a346444275948..5721a6337e206789e39a7276b43deddae1944b5b 100644 (file)
@@ -146,6 +146,14 @@ typedef struct {
 } mess_sigcalls;
 _ASSERT_MSG_SIZE(mess_sigcalls);
 
+typedef struct {
+       int fd;
+       vir_bytes buf;          /* struct stat * */
+
+       uint8_t padding[48];
+} mess_lc_vfs_fstat;
+_ASSERT_MSG_SIZE(mess_lc_vfs_fstat);
+
 typedef struct {
        int fd;
 
@@ -769,6 +777,7 @@ typedef struct {
                mess_fs_vfs_readsuper   m_fs_vfs_readsuper;
                mess_fs_vfs_readwrite   m_fs_vfs_readwrite;
 
+               mess_lc_vfs_fstat       m_lc_vfs_fstat;
                mess_lc_vfs_fsync       m_lc_vfs_fsync;
                mess_lc_vfs_getvfsstat  m_lc_vfs_getvfsstat;
                mess_lc_vfs_ioctl       m_lc_vfs_ioctl;
index 371de65a8937cbf37d29eb41b4d0b7633b07aa30..cd425f97dcd6127bf6ccd2b035d50893500d359a 100644 (file)
@@ -32,8 +32,8 @@ int fstat(int fd, struct stat *buffer)
   message m;
 
   memset(&m, 0, sizeof(m));
-  m.VFS_FSTAT_FD = fd;
-  m.VFS_FSTAT_BUF = (char *) buffer;
+  m.m_lc_vfs_fstat.fd = fd;
+  m.m_lc_vfs_fstat.buf = (vir_bytes)buffer;
 
   return _syscall(VFS_PROC_NR, VFS_FSTAT, &m);
 }
index e85be00753a26e1c5c41dd4e039b8976f434b152..c57de4fd626d22a7d920f2ddb5d8518b0afb2fef 100644 (file)
@@ -177,8 +177,8 @@ int do_fstat(void)
   int r, rfd;
   vir_bytes statbuf;
 
-  statbuf = (vir_bytes) job_m_in.VFS_FSTAT_BUF;
-  rfd = job_m_in.VFS_FSTAT_FD;
+  statbuf = job_m_in.m_lc_vfs_fstat.buf;
+  rfd = job_m_in.m_lc_vfs_fstat.fd;
 
   /* Is the file descriptor valid? */
   if ((rfilp = get_filp(rfd, VNODE_READ)) == NULL) return(err_code);