linux/arch/arm/include/asm/stat.h
<<
>>
Prefs
   1#ifndef _ASMARM_STAT_H
   2#define _ASMARM_STAT_H
   3
   4struct __old_kernel_stat {
   5        unsigned short st_dev;
   6        unsigned short st_ino;
   7        unsigned short st_mode;
   8        unsigned short st_nlink;
   9        unsigned short st_uid;
  10        unsigned short st_gid;
  11        unsigned short st_rdev;
  12        unsigned long  st_size;
  13        unsigned long  st_atime;
  14        unsigned long  st_mtime;
  15        unsigned long  st_ctime;
  16};
  17
  18#define STAT_HAVE_NSEC 
  19
  20struct stat {
  21#if defined(__ARMEB__)
  22        unsigned short st_dev;
  23        unsigned short __pad1;
  24#else
  25        unsigned long  st_dev;
  26#endif
  27        unsigned long  st_ino;
  28        unsigned short st_mode;
  29        unsigned short st_nlink;
  30        unsigned short st_uid;
  31        unsigned short st_gid;
  32#if defined(__ARMEB__)
  33        unsigned short st_rdev;
  34        unsigned short __pad2;
  35#else
  36        unsigned long  st_rdev;
  37#endif
  38        unsigned long  st_size;
  39        unsigned long  st_blksize;
  40        unsigned long  st_blocks;
  41        unsigned long  st_atime;
  42        unsigned long  st_atime_nsec;
  43        unsigned long  st_mtime;
  44        unsigned long  st_mtime_nsec;
  45        unsigned long  st_ctime;
  46        unsigned long  st_ctime_nsec;
  47        unsigned long  __unused4;
  48        unsigned long  __unused5;
  49};
  50
  51/* This matches struct stat64 in glibc2.1, hence the absolutely
  52 * insane amounts of padding around dev_t's.
  53 * Note: The kernel zero's the padded region because glibc might read them
  54 * in the hope that the kernel has stretched to using larger sizes.
  55 */
  56struct stat64 {
  57        unsigned long long      st_dev;
  58        unsigned char   __pad0[4];
  59
  60#define STAT64_HAS_BROKEN_ST_INO        1
  61        unsigned long   __st_ino;
  62        unsigned int    st_mode;
  63        unsigned int    st_nlink;
  64
  65        unsigned long   st_uid;
  66        unsigned long   st_gid;
  67
  68        unsigned long long      st_rdev;
  69        unsigned char   __pad3[4];
  70
  71        long long       st_size;
  72        unsigned long   st_blksize;
  73        unsigned long long st_blocks;   /* Number 512-byte blocks allocated. */
  74
  75        unsigned long   st_atime;
  76        unsigned long   st_atime_nsec;
  77
  78        unsigned long   st_mtime;
  79        unsigned long   st_mtime_nsec;
  80
  81        unsigned long   st_ctime;
  82        unsigned long   st_ctime_nsec;
  83
  84        unsigned long long      st_ino;
  85};
  86
  87#endif
  88