aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h')
-rw-r--r--sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h53
1 files changed, 43 insertions, 10 deletions
diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h
index c6048a9277..ef93b7be27 100644
--- a/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h
+++ b/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -22,19 +22,21 @@
#include <bits/types.h>
+/* Length of array allocated for file system type name. */
+#define _ST_FSTYPSZ 16
+
+
/* Structure describing file characteristics. */
struct stat
{
- unsigned long int st_dev;
+ __dev_t st_dev;
long int st_filler1[3];
__ino_t st_ino; /* File serial number. */
- unsigned long int st_mode; /* File mode. */
- /* This is unsigned long instead of __nlink_t, since SVR4 has
- a long nlink_t, not a short one. */
- unsigned long int st_nlink; /* Link count. */
+ __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. */
+ __dev_t st_rdev; /* Device number, if device. */
long int st_filler2[2];
__off_t st_size; /* Size of file, in bytes. */
@@ -48,14 +50,45 @@ struct stat
__time_t st_ctime; /* Time of last status change. */
unsigned long int st_ctime_usec;
- __blkcnt_t st_blksize; /* Optimal block size for I/O. */
+ 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. */
- char st_fstype[16];
+ __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */
+ char st_fstype[_ST_FSTYPSZ];
long int st_filler4[8];
};
+#ifdef __USE_LARGEFILE64
+/* struct stat64 has the shape as stat */
+struct stat64
+ {
+ __dev_t st_dev; /* Device */
+ long int st_filler1[2];
+ __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.*/
+ __dev_t st_rdev; /* Device number, if device */
+ long int st_filler2;
+
+ __off64_t st_size; /* Size of file, in bytes. */
+
+ __time_t st_atime; /* Time of last access */
+ unsigned long int st_atime_usec;
+ __time_t st_mtime; /* Time of last modification */
+ unsigned long int st_mtime_usec;
+ __time_t st_ctime; /* Time of last status change */
+ unsigned long int st_ctime_usec;
+
+ long int st_blksize;
+ __blkcnt64_t st_blocks;
+ char st_fstype[_ST_FSTYPSZ];
+ long int st_filler3[8];
+};
+#endif
+
+
/* Encoding of the file mode. */
#define __S_IFMT 0170000 /* These bits determine file type. */