2005-04-16 15:20:36 -07:00
# ifndef __ASM_SH_STAT_H
# define __ASM_SH_STAT_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 ;
} ;
2007-11-21 17:28:37 +09:00
# if defined(__SH5__) || defined(CONFIG_CPU_SH5)
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 glibc2.1, hence the absolutely
* insane amounts of padding around dev_t ' s .
*/
struct stat64 {
unsigned short st_dev ;
unsigned char __pad0 [ 10 ] ;
unsigned long st_ino ;
unsigned int st_mode ;
unsigned int st_nlink ;
unsigned long st_uid ;
unsigned long st_gid ;
unsigned short st_rdev ;
unsigned char __pad3 [ 10 ] ;
long long st_size ;
unsigned long st_blksize ;
unsigned long st_blocks ; /* Number 512-byte blocks allocated. */
unsigned long __pad4 ; /* future possible st_blocks high bits */
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 ; /* will be high 32 bits of ctime someday */
unsigned long __unused1 ;
unsigned long __unused2 ;
} ;
# else
2005-04-16 15:20:36 -07:00
struct stat {
2007-03-30 14:51:44 +09:00
unsigned long st_dev ;
unsigned long st_ino ;
2005-04-16 15:20:36 -07:00
unsigned short st_mode ;
unsigned short st_nlink ;
unsigned short st_uid ;
unsigned short st_gid ;
2007-03-30 14:51:44 +09:00
unsigned long st_rdev ;
2005-04-16 15:20:36 -07:00
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 glibc2.1, hence the absolutely
* insane amounts of padding around dev_t ' s .
*/
struct stat64 {
unsigned long long st_dev ;
unsigned char __pad0 [ 4 ] ;
2007-03-30 14:51:44 +09:00
# define STAT64_HAS_BROKEN_ST_INO 1
unsigned long __st_ino ;
2005-04-16 15:20:36 -07:00
unsigned int st_mode ;
unsigned int st_nlink ;
unsigned long st_uid ;
unsigned long st_gid ;
unsigned long long st_rdev ;
unsigned char __pad3 [ 4 ] ;
long long st_size ;
unsigned long st_blksize ;
2006-03-26 01:37:51 -08:00
unsigned long long st_blocks ; /* Number 512-byte blocks allocated. */
2005-04-16 15:20:36 -07:00
unsigned long st_atime ;
unsigned long st_atime_nsec ;
unsigned long st_mtime ;
unsigned long st_mtime_nsec ;
unsigned long st_ctime ;
2007-11-21 17:28:37 +09:00
unsigned long st_ctime_nsec ;
2005-04-16 15:20:36 -07:00
2007-03-30 14:51:44 +09:00
unsigned long long st_ino ;
2005-04-16 15:20:36 -07:00
} ;
2007-03-30 14:51:44 +09:00
# define STAT_HAVE_NSEC 1
2007-11-21 17:28:37 +09:00
# endif
2007-03-30 14:51:44 +09:00
2005-04-16 15:20:36 -07:00
# endif /* __ASM_SH_STAT_H */