blob: 2f4662ff6c3aa1d7a99d2a9a3cfd3112e42ddc6e [file] [log] [blame]
/*
* include/asm-xtensa/stat.h
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2001 - 2005 Tensilica Inc.
*/
#ifndef _XTENSA_STAT_H
#define _XTENSA_STAT_H
#include <linux/types.h>
struct __old_kernel_stat {
unsigned short st_dev;
unsigned short st_ino;
unsigned short st_mode;
unsigned short st_nlink;
unsigned short st_uid;
unsigned short st_gid;
unsigned short st_rdev;
unsigned long st_size;
unsigned long st_atime;
unsigned long st_mtime;
unsigned long st_ctime;
};
#define STAT_HAVE_NSEC 1
struct stat {
unsigned short st_dev;
unsigned short __pad1;
unsigned long st_ino;
unsigned short st_mode;
unsigned short st_nlink;
unsigned short st_uid;
unsigned short st_gid;
unsigned short st_rdev;
unsigned short __pad2;
unsigned long st_size;
unsigned long st_blksize;
unsigned long st_blocks;
unsigned long st_atime;
unsigned long st_atime_nsec;
unsigned long st_mtime;
unsigned long st_mtime_nsec;
unsigned long st_ctime;
unsigned long st_ctime_nsec;
unsigned long __unused4;
unsigned long __unused5;
};
/* This matches struct stat64 in glibc-2.2.3. */
struct stat64 {
#ifdef __XTENSA_EL__
unsigned short st_dev; /* Device */
unsigned char __pad0[10];
#else
unsigned char __pad0[6];
unsigned short st_dev;
unsigned char __pad1[2];
#endif
#define STAT64_HAS_BROKEN_ST_INO 1
unsigned long __st_ino; /* 32bit 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. */
#ifdef __XTENSA_EL__
unsigned short st_rdev; /* Device number, if device. */
unsigned char __pad3[10];
#else
unsigned char __pad2[6];
unsigned short st_rdev;
unsigned char __pad3[2];
#endif
long long int st_size; /* Size of file, in bytes. */
long int st_blksize; /* Optimal block size for I/O. */
#ifdef __XTENSA_EL__
unsigned long st_blocks; /* Number 512-byte blocks allocated. */
unsigned long __pad4;
#else
unsigned long __pad4;
unsigned long st_blocks;
#endif
unsigned long __pad5;
long int st_atime; /* Time of last access. */
unsigned long st_atime_nsec;
long int st_mtime; /* Time of last modification. */
unsigned long st_mtime_nsec;
long int st_ctime; /* Time of last status change. */
unsigned long st_ctime_nsec;
unsigned long long int st_ino; /* File serial number. */
};
#endif /* _XTENSA_STAT_H */