about summary refs log tree commit diff stats
path: root/src/libtools/myalign64_32.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-08-30 13:22:38 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-08-30 13:22:48 +0200
commit3fb50522232028e55ea97ccbc9a6bd55b031ff08 (patch)
treec72aa2496be3fd1a4ebf3638f26d06e549da1f8d /src/libtools/myalign64_32.c
parent62b93a0785802120250423fcc4acae9a51555126 (diff)
downloadbox64-3fb50522232028e55ea97ccbc9a6bd55b031ff08.tar.gz
box64-3fb50522232028e55ea97ccbc9a6bd55b031ff08.zip
[BOX32] More 32bits wrapped functions and fixes
Diffstat (limited to 'src/libtools/myalign64_32.c')
-rwxr-xr-xsrc/libtools/myalign64_32.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/libtools/myalign64_32.c b/src/libtools/myalign64_32.c
index 0369099e..77418da1 100755
--- a/src/libtools/myalign64_32.c
+++ b/src/libtools/myalign64_32.c
@@ -4,6 +4,7 @@
 #include <stdint.h>
 #include <asm/stat.h>
 #include <sys/vfs.h>
+#include <sys/statvfs.h>
 
 #include "x64emu.h"
 #include "emu/x64emu_private.h"
@@ -77,6 +78,26 @@ void UnalignStatFS64_32(const void* source, void* dest)
     i386st->f_spare[2]  = st->f_spare[2];
     i386st->f_spare[3]  = st->f_spare[3];
 }
+
+void UnalignStatVFS64_32(const void* source, void* dest)
+{
+    struct i386_statvfs64 *i386st = (struct i386_statvfs64*)dest;
+    struct statvfs *st = (struct statvfs*) source;
+
+    i386st->f_bsize     = st->f_bsize;
+    i386st->f_frsize    = st->f_frsize;
+    i386st->f_blocks    = st->f_blocks;
+    i386st->f_bfree     = st->f_bfree;
+    i386st->f_bavail    = st->f_bavail;
+    i386st->f_files     = st->f_files;
+    i386st->f_ffree     = st->f_ffree;
+    i386st->f_favail    = st->f_favail;
+    i386st->f_fsid      = st->f_fsid;
+    i386st->f_flag      = st->f_flag;
+    i386st->f_namemax   = st->f_namemax;
+    i386st->f_type      = st->f_type;
+}
+
 #define TRANSFERT   \
 GO(l_type)          \
 GO(l_whence)        \