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

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

index 4de7c2d43181615f8c36c517a75ecfab1565db94..b110b588cfa8826b49bd8471724d076490e0d53e 100644 (file)
 
 #define NR_VFS_CALLS           49      /* highest number from base plus one */
 
-/* Field names for the getvfsstat(2) call. */
-#define VFS_GETVFSSTAT_BUF     m1_p1   /* struct statvfs * */
-#define VFS_GETVFSSTAT_LEN     m1_i1   /* size_t */
-#define VFS_GETVFSSTAT_FLAGS   m1_i2   /* int */
-
 /* Field names for the statvfs1(2) and fstatvfs1(2) calls. */
 #define VFS_STATVFS1_LEN       m1_i1   /* size_t */
 #define VFS_STATVFS1_NAME      m1_p1   /* const char * */
index 48fa5970c36e9b067ca2a4ab3cc8aea14eaa9f73..367afb89b035c23c3e5fba4d552672a671ba1d80 100644 (file)
@@ -146,6 +146,15 @@ typedef struct {
 } mess_sigcalls;
 _ASSERT_MSG_SIZE(mess_sigcalls);
 
+typedef struct {
+       int32_t flags;
+       size_t len;
+       vir_bytes buf;          /* struct statvfs */
+
+       uint8_t padding[44];
+} mess_lc_vfs_getvfsstat;
+_ASSERT_MSG_SIZE(mess_lc_vfs_getvfsstat);
+
 typedef struct {
        uint32_t nfds;
        fd_set *readfds;
@@ -608,6 +617,7 @@ typedef struct {
                mess_fs_vfs_readsuper   m_fs_vfs_readsuper;
                mess_fs_vfs_readwrite   m_fs_vfs_readwrite;
 
+               mess_lc_vfs_getvfsstat  m_lc_vfs_getvfsstat;
                mess_lc_vfs_select      m_lc_vfs_select;
 
                mess_vfs_fs_breadwrite  m_vfs_fs_breadwrite;
index 0c8055ada897c5a6c1368fb1f885e998995428a7..5d1fd18878dd44520ef2be612202a9a71c1c871b 100644 (file)
@@ -10,8 +10,8 @@ int getvfsstat(struct statvfs *buf, size_t bufsize, int flags)
   message m;
 
   memset(&m, 0, sizeof(m));
-  m.VFS_GETVFSSTAT_BUF = (char *) buf;
-  m.VFS_GETVFSSTAT_LEN = bufsize;
-  m.VFS_GETVFSSTAT_FLAGS = flags;
+  m.m_lc_vfs_getvfsstat.buf = (vir_bytes) buf;
+  m.m_lc_vfs_getvfsstat.len = bufsize;
+  m.m_lc_vfs_getvfsstat.flags = flags;
   return(_syscall(VFS_PROC_NR, VFS_GETVFSSTAT, &m));
 }
index b8dfc087f01c470a143bdc1230730d613283b672..a95bfc8f3c34945167c6f6c9bc2cd03a9af3e1e5 100644 (file)
@@ -356,9 +356,9 @@ int do_getvfsstat(void)
   size_t bufsize;
   int r, flags, count, do_lock;
 
-  buf = (vir_bytes) job_m_in.VFS_GETVFSSTAT_BUF;
-  bufsize = job_m_in.VFS_GETVFSSTAT_LEN;
-  flags = job_m_in.VFS_GETVFSSTAT_FLAGS;
+  buf = job_m_in.m_lc_vfs_getvfsstat.buf;
+  bufsize = job_m_in.m_lc_vfs_getvfsstat.len;
+  flags = job_m_in.m_lc_vfs_getvfsstat.flags;
 
   count = 0;