Skip to content

Commit

Permalink
[XTENSA] Clean up stat structs.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Bob Wilson authored and Chris Zankel committed Feb 14, 2008
1 parent 36dffad commit 71d28e6
Showing 1 changed file with 13 additions and 23 deletions.
36 changes: 13 additions & 23 deletions include/asm-xtensa/stat.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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 */
Expand All @@ -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;
Expand Down

0 comments on commit 71d28e6

Please sign in to comment.