summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/mips/bits/stat.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/mips/bits/stat.h')
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/stat.h51
1 files changed, 49 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/mips/bits/stat.h b/sysdeps/unix/sysv/linux/mips/bits/stat.h
index a797b34c38..f27a75eb9a 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/stat.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/stat.h
@@ -39,14 +39,22 @@ struct stat
{
unsigned long int st_dev;
long int st_pad1[3];
+#ifndef __USE_FILE_OFFSET64
__ino_t st_ino; /* File serial number. */
+#else
+ __ino64_t st_ino; /* File serial number. */
+#endif
__mode_t st_mode; /* File mode. */
__nlink_t st_nlink; /* Link count. */
__uid_t st_uid; /* User ID of the file's owner. */
__gid_t st_gid; /* Group ID of the file's group.*/
unsigned long int st_rdev; /* Device number, if device. */
long int st_pad2[2];
+#ifndef __USE_FILE_OFFSET64
__off_t st_size; /* Size of file, in bytes. */
+#else
+ __off64_t st_size; /* Size of file, in bytes. */
+#endif
/* SVR4 added this extra long to allow for expansion of off_t. */
long int st_pad3;
/*
@@ -60,8 +68,11 @@ struct stat
__time_t st_ctime; /* Time of last status change. */
long int __reserved2;
long int st_blksize; /* Optimal block size for I/O. */
-#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */
- long int st_blocks; /* Number of 512-byte blocks allocated. */
+#ifndef __USE_FILE_OFFSET64
+ __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */
+#else
+ __blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */
+#endif
char st_fstype[16]; /* Filesystem type name */
long int st_pad4[8];
/* Linux specific fields */
@@ -69,6 +80,42 @@ struct stat
unsigned int st_gen;
};
+#ifdef __USE_LARGEFILE64
+struct stat64
+ {
+ unsigned long int st_dev;
+ long int st_pad1[3];
+ __ino64_t st_ino; /* File serial number. */
+ __mode_t st_mode; /* File mode. */
+ __nlink_t st_nlink; /* Link count. */
+ __uid_t st_uid; /* User ID of the file's owner. */
+ __gid_t st_gid; /* Group ID of the file's group.*/
+ unsigned long int st_rdev; /* Device number, if device. */
+ long int st_pad2[2];
+ __off64_t st_size; /* Size of file, in bytes. */
+ /* SVR4 added this extra long to allow for expansion of off_t. */
+ long int st_pad3;
+ /*
+ * Actually this should be timestruc_t st_atime, st_mtime and
+ * st_ctime but we don't have it under Linux.
+ */
+ __time_t st_atime; /* Time of last access. */
+ long int __reserved0;
+ __time_t st_mtime; /* Time of last modification. */
+ long int __reserved1;
+ __time_t st_ctime; /* Time of last status change. */
+ long int __reserved2;
+ long int st_blksize; /* Optimal block size for I/O. */
+ __blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */
+ char st_fstype[16]; /* Filesystem type name */
+ long int st_pad4[8];
+ /* Linux specific fields */
+ unsigned int st_flags;
+ unsigned int st_gen;
+ };
+#endif
+
+#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */
/* Encoding of the file mode. */