mips: FIx clone3 implementation (BZ 31325)
[glibc.git] / sysdeps / unix / sysv / linux / mips / kernel_stat.h
blob19524f7ea4421d0261ca2c04affcdf4806ec4559
1 #ifndef _KERNEL_STAT_H
2 #define _KERNEL_STAT_H
4 #include <sgidefs.h>
5 /* As tempting as it is to define XSTAT_IS_XSTAT64 for n64, the
6 userland data structures are not identical, because of different
7 padding. */
8 /* Definition of `struct stat' used in the kernel. */
9 #if _MIPS_SIM != _ABIO32
10 struct kernel_stat
12 unsigned int st_dev;
13 unsigned int __pad1[3];
14 unsigned long long st_ino;
15 unsigned int st_mode;
16 unsigned int st_nlink;
17 int st_uid;
18 int st_gid;
19 unsigned int st_rdev;
20 unsigned int __pad2[3];
21 long long st_size;
22 unsigned int st_atime_sec;
23 unsigned int st_atime_nsec;
24 unsigned int st_mtime_sec;
25 unsigned int st_mtime_nsec;
26 unsigned int st_ctime_sec;
27 unsigned int st_ctime_nsec;
28 unsigned int st_blksize;
29 unsigned int __pad3;
30 unsigned long long st_blocks;
32 #else
33 struct kernel_stat
35 unsigned long int st_dev;
36 long int __pad1[3]; /* Reserved for network id */
37 unsigned long int st_ino;
38 unsigned long int st_mode;
39 unsigned long int st_nlink;
40 long int st_uid;
41 long int st_gid;
42 unsigned long int st_rdev;
43 long int __pad2[2];
44 long int st_size;
45 long int __pad3;
46 unsigned int st_atime_sec;
47 unsigned int st_atime_nsec;
48 unsigned int st_mtime_sec;
49 unsigned int st_mtime_nsec;
50 unsigned int st_ctime_sec;
51 unsigned int st_ctime_nsec;
52 long int st_blksize;
53 long int st_blocks;
54 char st_fstype[16]; /* Filesystem type name, unsupported */
55 long st_pad4[8];
56 /* Linux specific fields */
57 unsigned int st_flags;
58 unsigned int st_gen;
60 #endif
62 #define STAT_IS_KERNEL_STAT 0
63 #define STAT64_IS_KERNEL_STAT64 0
64 #define XSTAT_IS_XSTAT64 0
65 #if _MIPS_SIM == _ABI64
66 # define STATFS_IS_STATFS64 1
67 #else
68 # define STATFS_IS_STATFS64 0
69 #endif
70 /* MIPS64 has unsigned 32 bit timestamps fields, so use statx as well. */
71 #if _MIPS_SIM == _ABI64
72 # define STAT_HAS_TIME32
73 #endif
75 #endif