Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 #ifndef _ASMARM_STAT_H
0003 #define _ASMARM_STAT_H
0004 
0005 struct __old_kernel_stat {
0006     unsigned short st_dev;
0007     unsigned short st_ino;
0008     unsigned short st_mode;
0009     unsigned short st_nlink;
0010     unsigned short st_uid;
0011     unsigned short st_gid;
0012     unsigned short st_rdev;
0013     unsigned long  st_size;
0014     unsigned long  st_atime;
0015     unsigned long  st_mtime;
0016     unsigned long  st_ctime;
0017 };
0018 
0019 #define STAT_HAVE_NSEC 
0020 
0021 struct stat {
0022 #if defined(__ARMEB__)
0023     unsigned short st_dev;
0024     unsigned short __pad1;
0025 #else
0026     unsigned long  st_dev;
0027 #endif
0028     unsigned long  st_ino;
0029     unsigned short st_mode;
0030     unsigned short st_nlink;
0031     unsigned short st_uid;
0032     unsigned short st_gid;
0033 #if defined(__ARMEB__)
0034     unsigned short st_rdev;
0035     unsigned short __pad2;
0036 #else
0037     unsigned long  st_rdev;
0038 #endif
0039     unsigned long  st_size;
0040     unsigned long  st_blksize;
0041     unsigned long  st_blocks;
0042     unsigned long  st_atime;
0043     unsigned long  st_atime_nsec;
0044     unsigned long  st_mtime;
0045     unsigned long  st_mtime_nsec;
0046     unsigned long  st_ctime;
0047     unsigned long  st_ctime_nsec;
0048     unsigned long  __unused4;
0049     unsigned long  __unused5;
0050 };
0051 
0052 /* This matches struct stat64 in glibc2.1, hence the absolutely
0053  * insane amounts of padding around dev_t's.
0054  * Note: The kernel zero's the padded region because glibc might read them
0055  * in the hope that the kernel has stretched to using larger sizes.
0056  */
0057 struct stat64 {
0058     unsigned long long  st_dev;
0059     unsigned char   __pad0[4];
0060 
0061 #define STAT64_HAS_BROKEN_ST_INO    1
0062     unsigned long   __st_ino;
0063     unsigned int    st_mode;
0064     unsigned int    st_nlink;
0065 
0066     unsigned long   st_uid;
0067     unsigned long   st_gid;
0068 
0069     unsigned long long  st_rdev;
0070     unsigned char   __pad3[4];
0071 
0072     long long   st_size;
0073     unsigned long   st_blksize;
0074     unsigned long long st_blocks;   /* Number 512-byte blocks allocated. */
0075 
0076     unsigned long   st_atime;
0077     unsigned long   st_atime_nsec;
0078 
0079     unsigned long   st_mtime;
0080     unsigned long   st_mtime_nsec;
0081 
0082     unsigned long   st_ctime;
0083     unsigned long   st_ctime_nsec;
0084 
0085     unsigned long long  st_ino;
0086 };
0087 
0088 #endif