Commit 71d28e6c authored by Bob Wilson's avatar Bob Wilson Committed by Chris Zankel

[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: default avatarBob Wilson <bob.wilson@acm.org>
Signed-off-by: default avatarChris Zankel <chris@zankel.net>
parent 36dffadb
......@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment