|
@@ -38,618 +38,7 @@
|
|
|
/* Pull in whatever this particular arch's kernel thinks that struct stat
|
|
|
* should look like. It turns out that each arch has a different opinion
|
|
|
* on the subject, and different kernel revs use different names... */
|
|
|
-#if defined(__alpha__)
|
|
|
-struct stat {
|
|
|
- unsigned int st_dev;
|
|
|
- unsigned int st_ino;
|
|
|
- unsigned int st_mode;
|
|
|
- unsigned int st_nlink;
|
|
|
- unsigned int st_uid;
|
|
|
- unsigned int st_gid;
|
|
|
- unsigned int st_rdev;
|
|
|
- long st_size;
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned int st_blksize;
|
|
|
- int st_blocks;
|
|
|
- unsigned int st_flags;
|
|
|
- unsigned int st_gen;
|
|
|
-};
|
|
|
-/* End of __alpha__ */
|
|
|
-#elif defined(__arm__)
|
|
|
-struct stat {
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned short __pad1;
|
|
|
- unsigned long st_ino;
|
|
|
- unsigned short st_mode;
|
|
|
- unsigned short st_nlink;
|
|
|
- unsigned short st_uid;
|
|
|
- unsigned short st_gid;
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned short __pad2;
|
|
|
- unsigned long st_size;
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned long st_blocks;
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __unused1;
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __unused2;
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __unused3;
|
|
|
- unsigned long __unused4;
|
|
|
- unsigned long __unused5;
|
|
|
-};
|
|
|
-#ifdef __USE_LARGEFILE64
|
|
|
-struct stat64 {
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned char __pad0[10];
|
|
|
-#define STAT64_HAS_BROKEN_ST_INO 1
|
|
|
- unsigned long __st_ino;
|
|
|
- unsigned int st_mode;
|
|
|
- unsigned int st_nlink;
|
|
|
- unsigned long st_uid;
|
|
|
- unsigned long st_gid;
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned char __pad3[10];
|
|
|
- long long st_size;
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
|
|
|
- unsigned long __pad4; /* future possible st_blocks high bits */
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __pad5;
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __pad6;
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __pad7; /* will be high 32 bits of ctime someday */
|
|
|
- unsigned long long st_ino;
|
|
|
-};
|
|
|
-#endif
|
|
|
-/* End of __arm__ */
|
|
|
-#elif defined(__cris__)
|
|
|
-struct stat {
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned short __pad1;
|
|
|
- unsigned long st_ino;
|
|
|
- unsigned short st_mode;
|
|
|
- unsigned short st_nlink;
|
|
|
- unsigned short st_uid;
|
|
|
- unsigned short st_gid;
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned short __pad2;
|
|
|
- unsigned long st_size;
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned long st_blocks;
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __unused1;
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __unused2;
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __unused3;
|
|
|
- unsigned long __unused4;
|
|
|
- unsigned long __unused5;
|
|
|
-};
|
|
|
-#ifdef __USE_LARGEFILE64
|
|
|
-struct stat64 {
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned char __pad0[10];
|
|
|
-#define STAT64_HAS_BROKEN_ST_INO 1
|
|
|
- unsigned long __st_ino;
|
|
|
- unsigned int st_mode;
|
|
|
- unsigned int st_nlink;
|
|
|
- unsigned long st_uid;
|
|
|
- unsigned long st_gid;
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned char __pad3[10];
|
|
|
- long long st_size;
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
|
|
|
- unsigned long __pad4; /* future possible st_blocks high bits */
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __pad5;
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __pad6;
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __pad7; /* will be high 32 bits of ctime someday */
|
|
|
- unsigned long long st_ino;
|
|
|
-};
|
|
|
-#endif
|
|
|
-/* End of __cris__ */
|
|
|
-#elif defined(__ia64__)
|
|
|
-struct stat {
|
|
|
- unsigned long st_dev;
|
|
|
- unsigned long st_ino;
|
|
|
- unsigned long st_nlink;
|
|
|
- unsigned int st_mode;
|
|
|
- unsigned int st_uid;
|
|
|
- unsigned int st_gid;
|
|
|
- unsigned int __pad0;
|
|
|
- unsigned long st_rdev;
|
|
|
- unsigned long st_size;
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __reserved0; /* reserved for atime.nanoseconds */
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __reserved1; /* reserved for mtime.nanoseconds */
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __reserved2; /* reserved for ctime.nanoseconds */
|
|
|
- unsigned long st_blksize;
|
|
|
- long st_blocks;
|
|
|
- unsigned long __unused[3];
|
|
|
-};
|
|
|
-/* End of __ia64__ */
|
|
|
-#elif defined(__mc68000__)
|
|
|
-struct stat {
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned short __pad1;
|
|
|
- unsigned long st_ino;
|
|
|
- unsigned short st_mode;
|
|
|
- unsigned short st_nlink;
|
|
|
- unsigned short st_uid;
|
|
|
- unsigned short st_gid;
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned short __pad2;
|
|
|
- unsigned long st_size;
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned long st_blocks;
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __unused1;
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __unused2;
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __unused3;
|
|
|
- unsigned long __unused4;
|
|
|
- unsigned long __unused5;
|
|
|
-};
|
|
|
-#ifdef __USE_LARGEFILE64
|
|
|
-struct stat64 {
|
|
|
- unsigned char __pad0[6];
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned char __pad1[2];
|
|
|
-#define STAT64_HAS_BROKEN_ST_INO 1
|
|
|
- unsigned long __st_ino;
|
|
|
- unsigned int st_mode;
|
|
|
- unsigned int st_nlink;
|
|
|
- unsigned long st_uid;
|
|
|
- unsigned long st_gid;
|
|
|
- unsigned char __pad2[6];
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned char __pad3[2];
|
|
|
- long long st_size;
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned long __pad4; /* future possible st_blocks high bits */
|
|
|
- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __pad5;
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __pad6;
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __pad7; /* will be high 32 bits of ctime someday */
|
|
|
- unsigned long long st_ino;
|
|
|
-};
|
|
|
-#endif
|
|
|
-/* End of __mc68000__ */
|
|
|
-#elif defined(__mips__)
|
|
|
-#if __WORDSIZE == 64
|
|
|
-struct stat {
|
|
|
- unsigned long st_dev;
|
|
|
- unsigned long st_pad0[3]; /* Reserved for st_dev expansion */
|
|
|
- unsigned long long st_ino;
|
|
|
- unsigned int st_mode;
|
|
|
- int st_nlink;
|
|
|
- int st_uid;
|
|
|
- int st_gid;
|
|
|
- unsigned long st_rdev;
|
|
|
- unsigned long st_pad1[3]; /* Reserved for st_rdev expansion */
|
|
|
- long long st_size;
|
|
|
- long st_atime;
|
|
|
- unsigned long reserved0; /* Reserved for st_atime expansion */
|
|
|
- long st_mtime;
|
|
|
- unsigned long reserved1; /* Reserved for st_mtime expansion */
|
|
|
- long st_ctime;
|
|
|
- unsigned long reserved2; /* Reserved for st_ctime expansion */
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned long st_pad2;
|
|
|
- long long st_blocks;
|
|
|
-};
|
|
|
-#else
|
|
|
-struct stat {
|
|
|
- unsigned int st_dev;
|
|
|
- long st_pad1[3]; /* Reserved for network id */
|
|
|
- unsigned long st_ino;
|
|
|
- unsigned int st_mode;
|
|
|
- int st_nlink;
|
|
|
- int st_uid;
|
|
|
- int st_gid;
|
|
|
- unsigned int st_rdev;
|
|
|
- long st_pad2[2];
|
|
|
- long st_size;
|
|
|
- long st_pad3;
|
|
|
- long st_atime;
|
|
|
- long reserved0;
|
|
|
- long st_mtime;
|
|
|
- long reserved1;
|
|
|
- long st_ctime;
|
|
|
- long reserved2;
|
|
|
- long st_blksize;
|
|
|
- long st_blocks;
|
|
|
- long st_pad4[14];
|
|
|
-};
|
|
|
-#ifdef __USE_LARGEFILE64
|
|
|
-struct stat64 {
|
|
|
- unsigned long st_dev;
|
|
|
- unsigned long st_pad0[3]; /* Reserved for st_dev expansion */
|
|
|
- unsigned long long st_ino;
|
|
|
- unsigned int st_mode;
|
|
|
- int st_nlink;
|
|
|
- int st_uid;
|
|
|
- int st_gid;
|
|
|
- unsigned long st_rdev;
|
|
|
- unsigned long st_pad1[3]; /* Reserved for st_rdev expansion */
|
|
|
- long long st_size;
|
|
|
- long st_atime;
|
|
|
- unsigned long reserved0; /* Reserved for st_atime expansion */
|
|
|
- long st_mtime;
|
|
|
- unsigned long reserved1; /* Reserved for st_mtime expansion */
|
|
|
- long st_ctime;
|
|
|
- unsigned long reserved2; /* Reserved for st_ctime expansion */
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned long st_pad2;
|
|
|
- long long st_blocks;
|
|
|
-};
|
|
|
-#endif
|
|
|
-#endif
|
|
|
-/* End of __mips__ */
|
|
|
-#elif defined(__powerpc__)
|
|
|
-#if __WORDSIZE == 64
|
|
|
-struct stat {
|
|
|
- unsigned long long st_dev; /* Device. */
|
|
|
- unsigned long long st_ino; /* File serial number. */
|
|
|
- unsigned int st_mode; /* File mode. */
|
|
|
- unsigned int st_nlink; /* Link count. */
|
|
|
- unsigned int st_uid; /* User ID of the file's owner. */
|
|
|
- unsigned int st_gid; /* Group ID of the file's group. */
|
|
|
- unsigned long long st_rdev; /* Device number, if device. */
|
|
|
- unsigned short int __pad2;
|
|
|
- long long st_size; /* Size of file, in bytes. */
|
|
|
- long st_blksize; /* Optimal block size for I/O. */
|
|
|
- long long st_blocks; /* Number 512-byte blocks allocated. */
|
|
|
- long st_atime; /* Time of last access. */
|
|
|
- unsigned long int __unused1;
|
|
|
- long st_mtime; /* Time of last modification. */
|
|
|
- unsigned long int __unused2;
|
|
|
- long st_ctime; /* Time of last status change. */
|
|
|
- unsigned long int __unused3;
|
|
|
- unsigned long int __unused4;
|
|
|
- unsigned long int __unused5;
|
|
|
-};
|
|
|
-#else
|
|
|
-struct stat {
|
|
|
- unsigned int st_dev;
|
|
|
- unsigned int st_ino;
|
|
|
- unsigned int st_mode;
|
|
|
- unsigned short st_nlink;
|
|
|
- unsigned int st_uid;
|
|
|
- unsigned int st_gid;
|
|
|
- unsigned int st_rdev;
|
|
|
- unsigned long int st_size;
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned long st_blocks;
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __unused1;
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __unused2;
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __unused3;
|
|
|
- unsigned long __unused4;
|
|
|
- unsigned long __unused5;
|
|
|
-};
|
|
|
-#ifdef __USE_LARGEFILE64
|
|
|
-struct stat64 {
|
|
|
- unsigned long long st_dev; /* Device. */
|
|
|
- unsigned long long st_ino; /* File serial number. */
|
|
|
- unsigned int st_mode; /* File mode. */
|
|
|
- unsigned int st_nlink; /* Link count. */
|
|
|
- unsigned int st_uid; /* User ID of the file's owner. */
|
|
|
- unsigned int st_gid; /* Group ID of the file's group. */
|
|
|
- unsigned long long st_rdev; /* Device number, if device. */
|
|
|
- unsigned short int __pad2;
|
|
|
- long long st_size; /* Size of file, in bytes. */
|
|
|
- long st_blksize; /* Optimal block size for I/O. */
|
|
|
- long long st_blocks; /* Number 512-byte blocks allocated. */
|
|
|
- long st_atime; /* Time of last access. */
|
|
|
- unsigned long int __unused1;
|
|
|
- long st_mtime; /* Time of last modification. */
|
|
|
- unsigned long int __unused2;
|
|
|
- long st_ctime; /* Time of last status change. */
|
|
|
- unsigned long int __unused3;
|
|
|
- unsigned long int __unused4;
|
|
|
- unsigned long int __unused5;
|
|
|
-};
|
|
|
-#endif
|
|
|
-#endif
|
|
|
-/* End of __powerpc__ */
|
|
|
-#elif defined (__s390__)
|
|
|
-struct stat {
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned short __pad1;
|
|
|
- unsigned long st_ino;
|
|
|
- unsigned short st_mode;
|
|
|
- unsigned short st_nlink;
|
|
|
- unsigned short st_uid;
|
|
|
- unsigned short st_gid;
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned short __pad2;
|
|
|
- unsigned long st_size;
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned long st_blocks;
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __unused1;
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __unused2;
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __unused3;
|
|
|
- unsigned long __unused4;
|
|
|
- unsigned long __unused5;
|
|
|
-};
|
|
|
-#ifdef __USE_LARGEFILE64
|
|
|
-struct stat64 {
|
|
|
- unsigned char __pad0[6];
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned int __pad1;
|
|
|
-#define STAT64_HAS_BROKEN_ST_INO 1
|
|
|
- unsigned long __st_ino;
|
|
|
- unsigned int st_mode;
|
|
|
- unsigned int st_nlink;
|
|
|
- unsigned long st_uid;
|
|
|
- unsigned long st_gid;
|
|
|
- unsigned char __pad2[6];
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned int __pad3;
|
|
|
- long long st_size;
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned char __pad4[4];
|
|
|
- unsigned long __pad5; /* future possible st_blocks high bits */
|
|
|
- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __pad6;
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __pad7;
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __pad8; /* will be high 32 bits of ctime someday */
|
|
|
- unsigned long long st_ino;
|
|
|
-};
|
|
|
-#endif
|
|
|
-/* End of __s390__ */
|
|
|
-#elif defined(__sh3__) || defined(__SH4__)
|
|
|
-#include <endian.h>
|
|
|
-struct stat {
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned short __pad1;
|
|
|
- unsigned long st_ino;
|
|
|
- unsigned short st_mode;
|
|
|
- unsigned short st_nlink;
|
|
|
- unsigned short st_uid;
|
|
|
- unsigned short st_gid;
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned short __pad2;
|
|
|
- unsigned long st_size;
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned long st_blocks;
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __unused1;
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __unused2;
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __unused3;
|
|
|
- unsigned long __unused4;
|
|
|
- unsigned long __unused5;
|
|
|
-};
|
|
|
-#ifdef __USE_LARGEFILE64
|
|
|
-struct stat64 {
|
|
|
-#if defined(__BIG_ENDIAN__)
|
|
|
- unsigned char __pad0b[6];
|
|
|
- unsigned short st_dev;
|
|
|
-#elif defined(__LITTLE_ENDIAN__)
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned char __pad0b[6];
|
|
|
-#else
|
|
|
-#error Must know endian to build stat64 structure!
|
|
|
-#endif
|
|
|
- unsigned char __pad0[4];
|
|
|
-
|
|
|
- unsigned long st_ino;
|
|
|
- unsigned int st_mode;
|
|
|
- unsigned int st_nlink;
|
|
|
-
|
|
|
- unsigned long st_uid;
|
|
|
- unsigned long st_gid;
|
|
|
-
|
|
|
-#if defined(__BIG_ENDIAN__)
|
|
|
- unsigned char __pad3b[6];
|
|
|
- unsigned short st_rdev;
|
|
|
-#else /* Must be little */
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned char __pad3b[6];
|
|
|
-#endif
|
|
|
- unsigned char __pad3[4];
|
|
|
-
|
|
|
- long long st_size;
|
|
|
- unsigned long st_blksize;
|
|
|
-
|
|
|
-#if defined(__BIG_ENDIAN__)
|
|
|
- unsigned long __pad4; /* Future possible st_blocks hi bits */
|
|
|
- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
|
|
|
-#else /* Must be little */
|
|
|
- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
|
|
|
- unsigned long __pad4; /* Future possible st_blocks hi bits */
|
|
|
-#endif
|
|
|
-
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __pad5;
|
|
|
-
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __pad6;
|
|
|
-
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __pad7; /* will be high 32 bits of ctime someday */
|
|
|
-
|
|
|
- unsigned long __unused1;
|
|
|
- unsigned long __unused2;
|
|
|
-};
|
|
|
-#endif
|
|
|
-#elif defined (__sparc__)
|
|
|
-#if __WORDSIZE == 64
|
|
|
-struct stat {
|
|
|
- unsigned char __pad0[6];
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned long long st_ino;
|
|
|
- unsigned int st_mode;
|
|
|
- unsigned int st_nlink;
|
|
|
- unsigned int st_uid;
|
|
|
- unsigned int st_gid;
|
|
|
- unsigned char __pad2[6];
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned char __pad3[8];
|
|
|
- long long st_size;
|
|
|
- unsigned int st_blksize;
|
|
|
- unsigned char __pad4[8];
|
|
|
- unsigned int st_blocks;
|
|
|
- unsigned int st_atime;
|
|
|
- unsigned int __unused1;
|
|
|
- unsigned int st_mtime;
|
|
|
- unsigned int __unused2;
|
|
|
- unsigned int st_ctime;
|
|
|
- unsigned int __unused3;
|
|
|
- unsigned int __unused4;
|
|
|
- unsigned int __unused5;
|
|
|
-};
|
|
|
-#else
|
|
|
-struct stat {
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned long st_ino;
|
|
|
- unsigned short st_mode;
|
|
|
- short st_nlink;
|
|
|
- unsigned short st_uid;
|
|
|
- unsigned short st_gid;
|
|
|
- unsigned short st_rdev;
|
|
|
- long st_size;
|
|
|
- long st_atime;
|
|
|
- unsigned long __unused1;
|
|
|
- long st_mtime;
|
|
|
- unsigned long __unused2;
|
|
|
- long st_ctime;
|
|
|
- unsigned long __unused3;
|
|
|
- long st_blksize;
|
|
|
- long st_blocks;
|
|
|
- unsigned long __unused4[2];
|
|
|
-};
|
|
|
-#ifdef __USE_LARGEFILE64
|
|
|
-struct stat64 {
|
|
|
- unsigned char __pad0[6];
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned long long st_ino;
|
|
|
- unsigned int st_mode;
|
|
|
- unsigned int st_nlink;
|
|
|
- unsigned int st_uid;
|
|
|
- unsigned int st_gid;
|
|
|
- unsigned char __pad2[6];
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned char __pad3[8];
|
|
|
- long long st_size;
|
|
|
- unsigned int st_blksize;
|
|
|
- unsigned char __pad4[8];
|
|
|
- unsigned int st_blocks;
|
|
|
- unsigned int st_atime;
|
|
|
- unsigned int __unused1;
|
|
|
- unsigned int st_mtime;
|
|
|
- unsigned int __unused2;
|
|
|
- unsigned int st_ctime;
|
|
|
- unsigned int __unused3;
|
|
|
- unsigned int __unused4;
|
|
|
- unsigned int __unused5;
|
|
|
-};
|
|
|
-#endif
|
|
|
-#endif
|
|
|
-/* End if __sparc__ */
|
|
|
-#elif defined(__x86_64__)
|
|
|
-struct stat {
|
|
|
- unsigned long st_dev;
|
|
|
- unsigned long st_ino;
|
|
|
- unsigned long st_nlink;
|
|
|
-
|
|
|
- unsigned int st_mode;
|
|
|
- unsigned int st_uid;
|
|
|
- unsigned int st_gid;
|
|
|
- unsigned int __pad0;
|
|
|
- unsigned long st_rdev;
|
|
|
- long st_size;
|
|
|
- long st_blksize;
|
|
|
- long st_blocks; /* Number 512-byte blocks allocated. */
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __reserved0; /* reserved for atime.nanoseconds */
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __reserved1; /* reserved for atime.nanoseconds */
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __reserved2; /* reserved for atime.nanoseconds */
|
|
|
- long __unused[3];
|
|
|
-};
|
|
|
-/* End if __x86_64__ */
|
|
|
-//#elif defined(__i386__)
|
|
|
-#else
|
|
|
-
|
|
|
-#if ! defined(__i386__)
|
|
|
-#warning please verify that struct stat for your architecture exactly matches struct stat for x86
|
|
|
-#endif
|
|
|
-
|
|
|
-struct stat {
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned short __pad1;
|
|
|
- unsigned long st_ino;
|
|
|
- unsigned short st_mode;
|
|
|
- unsigned short st_nlink;
|
|
|
- unsigned short st_uid;
|
|
|
- unsigned short st_gid;
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned short __pad2;
|
|
|
- unsigned long st_size;
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned long st_blocks;
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __unused1;
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __unused2;
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __unused3;
|
|
|
- unsigned long __unused4;
|
|
|
- unsigned long __unused5;
|
|
|
-};
|
|
|
-#ifdef __USE_LARGEFILE64
|
|
|
-struct stat64 {
|
|
|
- unsigned short st_dev;
|
|
|
- unsigned char __pad0[10];
|
|
|
-#define STAT64_HAS_BROKEN_ST_INO 1
|
|
|
- unsigned long __st_ino;
|
|
|
- unsigned int st_mode;
|
|
|
- unsigned int st_nlink;
|
|
|
- unsigned long st_uid;
|
|
|
- unsigned long st_gid;
|
|
|
- unsigned short st_rdev;
|
|
|
- unsigned char __pad3[10];
|
|
|
- long long st_size;
|
|
|
- unsigned long st_blksize;
|
|
|
- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
|
|
|
- unsigned long __pad4; /* future possible st_blocks high bits */
|
|
|
- unsigned long st_atime;
|
|
|
- unsigned long __pad5;
|
|
|
- unsigned long st_mtime;
|
|
|
- unsigned long __pad6;
|
|
|
- unsigned long st_ctime;
|
|
|
- unsigned long __pad7; /* will be high 32 bits of ctime someday */
|
|
|
- unsigned long long st_ino;
|
|
|
-};
|
|
|
-#endif
|
|
|
-/* End of __i386__ */
|
|
|
-#endif
|
|
|
+#include <bits/kernel_stat.h>
|
|
|
|
|
|
#ifdef __USE_LARGEFILE64
|
|
|
# ifdef __USE_FILE_OFFSET64
|