diff options
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/sysdeps/linux/alpha/bits/kernel_stat.h | 17 | ||||
| -rw-r--r-- | libc/sysdeps/linux/arm/bits/kernel_stat.h | 29 | ||||
| -rw-r--r-- | libc/sysdeps/linux/common/bits/kernel_stat.h | 28 | ||||
| -rw-r--r-- | libc/sysdeps/linux/m68k/bits/kernel_stat.h | 30 | ||||
| -rw-r--r-- | libc/sysdeps/linux/mips/bits/kernel_stat.h | 48 | ||||
| -rw-r--r-- | libc/sysdeps/linux/powerpc/bits/kernel_stat.h | 46 | ||||
| -rw-r--r-- | libc/sysdeps/linux/sh/bits/kernel_stat.h | 55 | ||||
| -rw-r--r-- | libc/sysdeps/linux/sparc/bits/kernel_stat.h | 53 | 
8 files changed, 304 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/alpha/bits/kernel_stat.h b/libc/sysdeps/linux/alpha/bits/kernel_stat.h index 46bd9c471..cca4e71fa 100644 --- a/libc/sysdeps/linux/alpha/bits/kernel_stat.h +++ b/libc/sysdeps/linux/alpha/bits/kernel_stat.h @@ -21,6 +21,23 @@ struct stat {  	unsigned int	st_flags;  	unsigned int	st_gen;  }; +struct stat64 { +	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; +};  #endif	/*  _BITS_STAT_STRUCT_H */ diff --git a/libc/sysdeps/linux/arm/bits/kernel_stat.h b/libc/sysdeps/linux/arm/bits/kernel_stat.h index 8a3ad1591..567b4a4d7 100644 --- a/libc/sysdeps/linux/arm/bits/kernel_stat.h +++ b/libc/sysdeps/linux/arm/bits/kernel_stat.h @@ -4,6 +4,8 @@  /* This file provides whatever this particular arch's kernel thinks    * struct stat should look like...  It turns out each arch has a    * different opinion on the subject... */ + +#ifndef __USE_FILE_OFFSET64  struct stat {  	unsigned short st_dev;  	unsigned short __pad1; @@ -26,6 +28,32 @@ struct stat {  	unsigned long  __unused4;  	unsigned long  __unused5;  }; +#else +struct stat { +	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 +  #ifdef __USE_LARGEFILE64  struct stat64 {  	unsigned short	st_dev; @@ -52,6 +80,5 @@ struct stat64 {  };  #endif -  #endif	/*  _BITS_STAT_STRUCT_H */ diff --git a/libc/sysdeps/linux/common/bits/kernel_stat.h b/libc/sysdeps/linux/common/bits/kernel_stat.h index 48ffdd290..b338e3d5c 100644 --- a/libc/sysdeps/linux/common/bits/kernel_stat.h +++ b/libc/sysdeps/linux/common/bits/kernel_stat.h @@ -6,6 +6,7 @@   * different opinion on the subject... */  #warning please verify struct stat for your architecture matches struct stat for x86... +#ifndef __USE_FILE_OFFSET64  struct stat {  	unsigned short st_dev;  	unsigned short __pad1; @@ -28,6 +29,32 @@ struct stat {  	unsigned long  __unused4;  	unsigned long  __unused5;  }; +#else +struct stat { +	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 +  #ifdef __USE_LARGEFILE64  struct stat64 {  	unsigned short	st_dev; @@ -54,6 +81,5 @@ struct stat64 {  };  #endif -  #endif	/*  _BITS_STAT_STRUCT_H */ diff --git a/libc/sysdeps/linux/m68k/bits/kernel_stat.h b/libc/sysdeps/linux/m68k/bits/kernel_stat.h index 6911eebce..5ca018eac 100644 --- a/libc/sysdeps/linux/m68k/bits/kernel_stat.h +++ b/libc/sysdeps/linux/m68k/bits/kernel_stat.h @@ -4,6 +4,8 @@  /* This file provides whatever this particular arch's kernel thinks    * struct stat should look like...  It turns out each arch has a    * different opinion on the subject... */ + +#ifndef __USE_FILE_OFFSET64  struct stat {  	unsigned short st_dev;  	unsigned short __pad1; @@ -26,6 +28,34 @@ struct stat {  	unsigned long  __unused4;  	unsigned long  __unused5;  }; +#else +struct stat { +	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 +  #ifdef __USE_LARGEFILE64  struct stat64 {  	unsigned char	__pad0[6]; diff --git a/libc/sysdeps/linux/mips/bits/kernel_stat.h b/libc/sysdeps/linux/mips/bits/kernel_stat.h index 21083215b..314676456 100644 --- a/libc/sysdeps/linux/mips/bits/kernel_stat.h +++ b/libc/sysdeps/linux/mips/bits/kernel_stat.h @@ -26,7 +26,31 @@ struct stat {  	unsigned long	st_pad2;  	long long	st_blocks;  }; +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; +}; +  #else + +#ifndef __USE_FILE_OFFSET64  struct stat {  	unsigned int	st_dev;  	long		st_pad1[3];		/* Reserved for network id */ @@ -49,6 +73,30 @@ struct stat {  	long		st_blocks;  	long		st_pad4[14];  }; +#else +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; +}; +#endif +  #ifdef __USE_LARGEFILE64  struct stat64 {  	unsigned long	st_dev; diff --git a/libc/sysdeps/linux/powerpc/bits/kernel_stat.h b/libc/sysdeps/linux/powerpc/bits/kernel_stat.h index 16c699e26..ca3017828 100644 --- a/libc/sysdeps/linux/powerpc/bits/kernel_stat.h +++ b/libc/sysdeps/linux/powerpc/bits/kernel_stat.h @@ -26,7 +26,29 @@ struct stat {  	unsigned long int __unused4;  	unsigned long int __unused5;  }; +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; +};  #else +#ifndef __USE_FILE_OFFSET64  struct stat {  	unsigned int	st_dev;  	unsigned int	st_ino; @@ -47,6 +69,30 @@ struct stat {  	unsigned long  	__unused4;  	unsigned long  	__unused5;  }; +#else +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; +}; +#endif +  #ifdef __USE_LARGEFILE64  struct stat64 {  	unsigned long long st_dev; 	/* Device.  */ diff --git a/libc/sysdeps/linux/sh/bits/kernel_stat.h b/libc/sysdeps/linux/sh/bits/kernel_stat.h index a932a8b79..3dc6ebdbf 100644 --- a/libc/sysdeps/linux/sh/bits/kernel_stat.h +++ b/libc/sysdeps/linux/sh/bits/kernel_stat.h @@ -6,6 +6,7 @@   * different opinion on the subject... */  #include <endian.h> +#ifndef __USE_FILE_OFFSET64  struct stat {  	unsigned short st_dev;  	unsigned short __pad1; @@ -28,6 +29,60 @@ struct stat {  	unsigned long  __unused4;  	unsigned long  __unused5;  }; +#else +struct stat { +#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 +  #ifdef __USE_LARGEFILE64  struct stat64 {  #if defined(__BIG_ENDIAN__) diff --git a/libc/sysdeps/linux/sparc/bits/kernel_stat.h b/libc/sysdeps/linux/sparc/bits/kernel_stat.h index 339325f6b..b476abb60 100644 --- a/libc/sysdeps/linux/sparc/bits/kernel_stat.h +++ b/libc/sysdeps/linux/sparc/bits/kernel_stat.h @@ -29,7 +29,33 @@ struct stat {  	unsigned int	__unused4;  	unsigned int	__unused5;  }; +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; +}; +  #else +#ifndef __USE_FILE_OFFSET64  struct stat {  	unsigned short	st_dev;  	unsigned long	st_ino; @@ -49,6 +75,33 @@ struct stat {  	long		st_blocks;  	unsigned long	__unused4[2];  }; +#else +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; +}; +#endif +  #ifdef __USE_LARGEFILE64  struct stat64 {  	unsigned char	__pad0[6];  | 
