Home | History | Annotate | Download | only in asm
      1 #ifndef _ASM_X86_STAT_H
      2 #define _ASM_X86_STAT_H
      3 
      4 #define STAT_HAVE_NSEC 1
      5 
      6 #ifdef __i386__
      7 struct stat {
      8 	unsigned long  st_dev;
      9 	unsigned long  st_ino;
     10 	unsigned short st_mode;
     11 	unsigned short st_nlink;
     12 	unsigned short st_uid;
     13 	unsigned short st_gid;
     14 	unsigned long  st_rdev;
     15 	unsigned long  st_size;
     16 	unsigned long  st_blksize;
     17 	unsigned long  st_blocks;
     18 	unsigned long  st_atime;
     19 	unsigned long  st_atime_nsec;
     20 	unsigned long  st_mtime;
     21 	unsigned long  st_mtime_nsec;
     22 	unsigned long  st_ctime;
     23 	unsigned long  st_ctime_nsec;
     24 	unsigned long  __unused4;
     25 	unsigned long  __unused5;
     26 };
     27 
     28 #define STAT64_HAS_BROKEN_ST_INO	1
     29 
     30 /* This matches struct stat64 in glibc2.1, hence the absolutely
     31  * insane amounts of padding around dev_t's.
     32  */
     33 struct stat64 {
     34 	unsigned long long	st_dev;
     35 	unsigned char	__pad0[4];
     36 
     37 	unsigned long	__st_ino;
     38 
     39 	unsigned int	st_mode;
     40 	unsigned int	st_nlink;
     41 
     42 	unsigned long	st_uid;
     43 	unsigned long	st_gid;
     44 
     45 	unsigned long long	st_rdev;
     46 	unsigned char	__pad3[4];
     47 
     48 	long long	st_size;
     49 	unsigned long	st_blksize;
     50 
     51 	/* Number 512-byte blocks allocated. */
     52 	unsigned long long	st_blocks;
     53 
     54 	unsigned long	st_atime;
     55 	unsigned long	st_atime_nsec;
     56 
     57 	unsigned long	st_mtime;
     58 	unsigned int	st_mtime_nsec;
     59 
     60 	unsigned long	st_ctime;
     61 	unsigned long	st_ctime_nsec;
     62 
     63 	unsigned long long	st_ino;
     64 };
     65 
     66 #else /* __i386__ */
     67 
     68 struct stat {
     69 	unsigned long	st_dev;
     70 	unsigned long	st_ino;
     71 	unsigned long	st_nlink;
     72 
     73 	unsigned int	st_mode;
     74 	unsigned int	st_uid;
     75 	unsigned int	st_gid;
     76 	unsigned int	__pad0;
     77 	unsigned long	st_rdev;
     78 	long		st_size;
     79 	long		st_blksize;
     80 	long		st_blocks;	/* Number 512-byte blocks allocated. */
     81 
     82 	unsigned long	st_atime;
     83 	unsigned long	st_atime_nsec;
     84 	unsigned long	st_mtime;
     85 	unsigned long	st_mtime_nsec;
     86 	unsigned long	st_ctime;
     87 	unsigned long   st_ctime_nsec;
     88 	long		__unused[3];
     89 };
     90 #endif
     91 
     92 /* for 32bit emulation and 32 bit kernels */
     93 struct __old_kernel_stat {
     94 	unsigned short st_dev;
     95 	unsigned short st_ino;
     96 	unsigned short st_mode;
     97 	unsigned short st_nlink;
     98 	unsigned short st_uid;
     99 	unsigned short st_gid;
    100 	unsigned short st_rdev;
    101 #ifdef __i386__
    102 	unsigned long  st_size;
    103 	unsigned long  st_atime;
    104 	unsigned long  st_mtime;
    105 	unsigned long  st_ctime;
    106 #else
    107 	unsigned int  st_size;
    108 	unsigned int  st_atime;
    109 	unsigned int  st_mtime;
    110 	unsigned int  st_ctime;
    111 #endif
    112 };
    113 
    114 #endif /* _ASM_X86_STAT_H */
    115