aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/aix/linux/statconv.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/aix/linux/statconv.c')
-rw-r--r--sysdeps/unix/sysv/aix/linux/statconv.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/aix/linux/statconv.c b/sysdeps/unix/sysv/aix/linux/statconv.c
new file mode 100644
index 0000000000..5333e23d7b
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/linux/statconv.c
@@ -0,0 +1,35 @@
+void
+__stat_aix_to_linux (const struct stat *aixstat, struct stat *linuxstat)
+{
+ linuxstat->st_dev = linux_makedev (major (aixstat->st_dev),
+ minor (aixstat->st_dev));
+ linuxstat->st_ino = aixstat->st_ino;
+ /* The following assumes that the mode values are the same on AIX
+ and Linux which is true in the moment. */
+ linuxstat->st_mode = aixstat->st_mode;
+ linuxstat->st_nlink = aixstat->st_nlink;
+ /* There is no st_flag field in Linux. */
+ linuxstat->st_uid = aixstat->st_uid;
+ linuxstat->st_gid = aixstat->st_gid;
+ linuxstat->st_rdev = linux_makedev (major (aixstat->st_rdev),
+ minor (aixstat->st_rdev));
+ linuxstat->st_size = aixstat->st_size;
+ linuxstat->st_atime = aixstat->st_atime;
+ linuxstat->st_mtime = aixstat->st_mtime;
+ linuxstat->st_ctime = aixstat->st_ctime;
+ linuxstat->st_blksize = aixstat->st_blksize;
+ linuxstat->st_blocks = aixstat->st_blocks;
+ /* There is no st_vfstype in Linux. */
+ /* There is no st_vfs in Linux. */
+ /* There is no st_type in Linux. */
+ /* There is no st_gen in Linux. */
+
+ /* File in the padding values with repeatable values. */
+ linuxstat->__pad1 = 0;
+ linuxstat->__pad2 = 0;
+ linuxstat->__unused1 = 0;
+ linuxstat->__unused2 = 0;
+ linuxstat->__unused3 = 0;
+ linuxstat->__unused4 = 0;
+ linuxstat->__unused5 = 0;
+}