[XTENSA] Clean up stat structs.

Avoid using typedefs for stat fields.
Make stat64.st_blocks an unsigned long long to avoid endian-specific
padding with 32-bit values.
Clean up signed vs. unsigned and int vs. long types to be consistent
with other uses of these values.

Signed-off-by: Bob Wilson <bob.wilson@acm.org>
Signed-off-by: Chris Zankel <chris@zankel.net>
This commit is contained in:
Bob Wilson 2007-10-16 16:43:00 -07:00 committed by Chris Zankel
parent 36dffadb7f
commit 71d28e6c28

View file

@ -5,25 +5,23 @@
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2001 - 2005 Tensilica Inc.
* Copyright (C) 2001 - 2007 Tensilica Inc.
*/
#ifndef _XTENSA_STAT_H
#define _XTENSA_STAT_H
#include <linux/types.h>
#define STAT_HAVE_NSEC 1
struct stat {
unsigned long st_dev;
ino_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
unsigned int st_rdev;
off_t st_size;
unsigned long st_ino;
unsigned int st_mode;
unsigned int st_nlink;
unsigned int st_uid;
unsigned int st_gid;
unsigned long st_rdev;
long st_size;
unsigned long st_blksize;
unsigned long st_blocks;
unsigned long st_atime;
@ -36,8 +34,6 @@ struct stat {
unsigned long __unused5;
};
/* This matches struct stat64 in glibc-2.3 */
struct stat64 {
unsigned long long st_dev; /* Device */
unsigned long long st_ino; /* File serial number */
@ -47,20 +43,14 @@ struct stat64 {
unsigned int st_gid; /* Group ID of the file's group. */
unsigned long long st_rdev; /* Device number, if device. */
long long st_size; /* Size of file, in bytes. */
long st_blksize; /* Optimal block size for I/O. */
unsigned long st_blksize; /* Optimal block size for I/O. */
unsigned long __unused2;
#ifdef __XTENSA_EB__
unsigned long __unused3;
long st_blocks; /* Number 512-byte blocks allocated. */
#else
long st_blocks; /* Number 512-byte blocks allocated. */
unsigned long __unused3;
#endif
long st_atime; /* Time of last access. */
unsigned long long st_blocks; /* Number 512-byte blocks allocated. */
unsigned long st_atime; /* Time of last access. */
unsigned long st_atime_nsec;
long st_mtime; /* Time of last modification. */
unsigned long st_mtime; /* Time of last modification. */
unsigned long st_mtime_nsec;
long st_ctime; /* Time of last status change. */
unsigned long st_ctime; /* Time of last status change. */
unsigned long st_ctime_nsec;
unsigned long __unused4;
unsigned long __unused5;