• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* copied from kernel definition, but with padding replaced
2  * by the corresponding correctly-sized userspace types. */
3 
4 struct stat {
5 	dev_t st_dev;
6 	int __st_dev_padding;
7 	long __st_ino_truncated;
8 	mode_t st_mode;
9 	nlink_t st_nlink;
10 	uid_t st_uid;
11 	gid_t st_gid;
12 	dev_t st_rdev;
13 	int __st_rdev_padding;
14 	off_t st_size;
15 	blksize_t st_blksize;
16 	blkcnt_t st_blocks;
17 	struct {
18 		long tv_sec;
19 		long tv_nsec;
20 	} __st_atim32, __st_mtim32, __st_ctim32;
21 	ino_t st_ino;
22 	struct timespec st_atim;
23 	struct timespec st_mtim;
24 	struct timespec st_ctim;
25 };
26 
27 #define __NEED_uint16_t
28 #define __NEED_uint32_t
29 #define __NEED_uint64_t
30 #define __NEED_int32_t
31 #define __NEED_int64_t
32 #include <bits/alltypes.h>
33 struct statx {
34 	uint32_t stx_mask;
35 	uint32_t stx_blksize;
36 	uint64_t stx_attributes;
37 	uint32_t stx_nlink;
38 	uint32_t stx_uid;
39 	uint32_t stx_gid;
40 	uint16_t stx_mode;
41 	uint16_t pad1;
42 	uint64_t stx_ino;
43 	uint64_t stx_size;
44 	uint64_t stx_blocks;
45 	uint64_t stx_attributes_mask;
46 	struct {
47 		int64_t tv_sec;
48 		uint32_t tv_nsec;
49 		int32_t pad;
50 	} stx_atime, stx_btime, stx_ctime, stx_mtime;
51 	uint32_t stx_rdev_major;
52 	uint32_t stx_rdev_minor;
53 	uint32_t stx_dev_major;
54 	uint32_t stx_dev_minor;
55 	uint64_t spare[14];
56 };