Add stat LFS extensions.
authordrepper <drepper>
Mon, 6 Oct 1997 02:19:45 +0000 (02:19 +0000)
committerdrepper <drepper>
Mon, 6 Oct 1997 02:19:45 +0000 (02:19 +0000)
sysdeps/unix/sysv/linux/mips/bits/stat.h

index a797b34..f27a75e 100644 (file)
@@ -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.  */