summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/x86_64/bits/stat.h
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2002-03-04 13:40:44 +0000
committerAndreas Jaeger <aj@suse.de>2002-03-04 13:40:44 +0000
commit76d81302250475cbca24bb3d257a446b044bc343 (patch)
tree203aa32e7087871cbd119b51fa4f31b63ef3606f /sysdeps/unix/sysv/linux/x86_64/bits/stat.h
parenta06bb7ce8829e123c996c50302b557af803bd1de (diff)
Update.
2002-03-04 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/kernel-features.h: Add defines for x86-64. * sysdeps/unix/sysv/linux/x86_64/bits/socket.h: New. * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h: New. * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: New. * sysdeps/x86_64/bits/setjmp.h: New. * sysdeps/unix/sysv/linux/x86_64/bits/sem.h: New. * sysdeps/unix/sysv/linux/x86_64/bits/resource.h: New. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Add compatibilty for x86. * sysdeps/unix/sysv/linux/x86_64/bits/msq.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/types.h: Likewise. 2002-02-28 Bo Thorsen <bo@suse.de> * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Merge with i386 version.
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86_64/bits/stat.h')
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/bits/stat.h73
1 files changed, 67 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/stat.h b/sysdeps/unix/sysv/linux/x86_64/bits/stat.h
index 818a58b585..8c74b3ff53 100644
--- a/sysdeps/unix/sysv/linux/x86_64/bits/stat.h
+++ b/sysdeps/unix/sysv/linux/x86_64/bits/stat.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2001, 2002 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
@@ -25,44 +25,101 @@
#define _STAT_VER_LINUX 1
#define _STAT_VER _STAT_VER_LINUX
-/* Versions of the `xmknod' interface. */
-#define _MKNOD_VER_LINUX 0
+#if __WORDSIZE == 32
+# define _STAT_VER_SVR4 2
+# define _STAT_VER_LINUX 3
+
+/* i386 versions of the `xmknod' interface. */
+# define _MKNOD_VER_LINUX 1
+# define _MKNOD_VER_SVR4 2
+# define _MKNOD_VER _MKNOD_VER_LINUX /* The bits defined below. */
+#else
+/* x86-64 versions of the `xmknod' interface. */
+# define _MKNOD_VER_LINUX 0
+#endif
struct stat
{
__dev_t st_dev; /* Device. */
+#if __WORDSIZE == 32
+ unsigned short int __pad1;
+#endif
+#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
__ino_t st_ino; /* File serial number. */
+#else
+ __ino_t __st_ino; /* 32bit file serial number. */
+#endif
+#if __WORDSIZE == 32
+ __mode_t st_mode; /* File mode. */
+ __nlink_t st_nlink; /* Link count. */
+#else
__nlink_t st_nlink; /* Link count. */
__mode_t st_mode; /* File mode. */
+#endif
__uid_t st_uid; /* User ID of the file's owner. */
__gid_t st_gid; /* Group ID of the file's group.*/
+#if __WORDSIZE == 64
int pad0;
+#endif
__dev_t st_rdev; /* Device number, if device. */
- __off_t st_size; /* Size of file, in bytes. */
+#if __WORDSIZE == 32
+ unsigned short int __pad2;
+#endif
+#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
+ __off_t st_size; /* Size of file, in bytes. */
+#else
+ __off64_t st_size; /* Size of file, in bytes. */
+#endif
__blksize_t st_blksize; /* Optimal block size for I/O. */
- __blkcnt_t st_blocks; /* Nr. 512-byte blocks allocated. */
+#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
+ __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
+#else
+ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+#endif
__time_t st_atime; /* Time of last access. */
long int __reserved0; /* Reserved for atime.nanoseconds. */
__time_t st_mtime; /* Time of last modification. */
long int __reserved1; /* Reserved for mtime.nanoseconds. */
__time_t st_ctime; /* Time of last status change. */
long int __reserved2; /* Reserved for ctime.nanoseconds. */
+#if __WORDSIZE == 64
long int __unused[3];
+#else
+# ifndef __USE_FILE_OFFSET64
+ unsigned long int __unused4;
+ unsigned long int __unused5;
+# else
+ __ino64_t st_ino; /* File serial number. */
+# endif
+#endif
};
#ifdef __USE_LARGEFILE64
-/* Note stat64 has the same shape as stat. */
+/* Note stat64 has the same shape as stat for x86-64. */
struct stat64
{
__dev_t st_dev; /* Device. */
+#if __WORDSIZE == 64
__ino64_t st_ino; /* File serial number. */
__nlink_t st_nlink; /* Link count. */
__mode_t st_mode; /* File mode. */
+#else
+ unsigned int __pad1;
+ __ino_t __st_ino; /* 32bit file serial number. */
+ __mode_t st_mode; /* File mode. */
+ __nlink_t st_nlink; /* Link count. */
+#endif
__uid_t st_uid; /* User ID of the file's owner. */
__gid_t st_gid; /* Group ID of the file's group.*/
+#if __WORDSIZE == 64
int pad0;
__dev_t st_rdev; /* Device number, if device. */
__off_t st_size; /* Size of file, in bytes. */
+#else
+ __dev_t st_rdev; /* Device number, if device. */
+ unsigned int __pad2;
+ __off64_t st_size; /* Size of file, in bytes. */
+#endif
__blksize_t st_blksize; /* Optimal block size for I/O. */
__blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
__time_t st_atime; /* Time of last access. */
@@ -71,7 +128,11 @@ struct stat64
long int __reserved1; /* Reserved for mtime.nanoseconds. */
__time_t st_ctime; /* Time of last status change. */
long int __reserved2; /* Reserved for ctime.nanoseconds. */
+#if __WORDSIZE == 64
long int __unused[3];
+#else
+ __ino64_t st_ino; /* File serial number. */
+#endif
};
#endif