提交 71d28e6c 编写于 作者: B Bob Wilson 提交者: 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: NBob Wilson <bob.wilson@acm.org>
Signed-off-by: NChris Zankel <chris@zankel.net>
上级 36dffadb
...@@ -5,25 +5,23 @@ ...@@ -5,25 +5,23 @@
* License. See the file "COPYING" in the main directory of this archive * License. See the file "COPYING" in the main directory of this archive
* for more details. * for more details.
* *
* Copyright (C) 2001 - 2005 Tensilica Inc. * Copyright (C) 2001 - 2007 Tensilica Inc.
*/ */
#ifndef _XTENSA_STAT_H #ifndef _XTENSA_STAT_H
#define _XTENSA_STAT_H #define _XTENSA_STAT_H
#include <linux/types.h>
#define STAT_HAVE_NSEC 1 #define STAT_HAVE_NSEC 1
struct stat { struct stat {
unsigned long st_dev; unsigned long st_dev;
ino_t st_ino; unsigned long st_ino;
mode_t st_mode; unsigned int st_mode;
nlink_t st_nlink; unsigned int st_nlink;
uid_t st_uid; unsigned int st_uid;
gid_t st_gid; unsigned int st_gid;
unsigned int st_rdev; unsigned long st_rdev;
off_t st_size; long st_size;
unsigned long st_blksize; unsigned long st_blksize;
unsigned long st_blocks; unsigned long st_blocks;
unsigned long st_atime; unsigned long st_atime;
...@@ -36,8 +34,6 @@ struct stat { ...@@ -36,8 +34,6 @@ struct stat {
unsigned long __unused5; unsigned long __unused5;
}; };
/* This matches struct stat64 in glibc-2.3 */
struct stat64 { struct stat64 {
unsigned long long st_dev; /* Device */ unsigned long long st_dev; /* Device */
unsigned long long st_ino; /* File serial number */ unsigned long long st_ino; /* File serial number */
...@@ -47,20 +43,14 @@ struct stat64 { ...@@ -47,20 +43,14 @@ struct stat64 {
unsigned int st_gid; /* Group ID of the file's group. */ unsigned int st_gid; /* Group ID of the file's group. */
unsigned long long st_rdev; /* Device number, if device. */ unsigned long long st_rdev; /* Device number, if device. */
long long st_size; /* Size of file, in bytes. */ 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; unsigned long __unused2;
#ifdef __XTENSA_EB__ unsigned long long st_blocks; /* Number 512-byte blocks allocated. */
unsigned long __unused3; unsigned long st_atime; /* Time of last access. */
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 st_atime_nsec; 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; 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 st_ctime_nsec;
unsigned long __unused4; unsigned long __unused4;
unsigned long __unused5; unsigned long __unused5;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册