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