Finite fexecve e execveat
[gapil.git] / listati / statx.h
1 struct statx {
2     __u32 stx_mask;        /* Mask of bits indicating filled fields */
3     __u32 stx_blksize;     /* Preferred block size for filesystem I/O */
4     __u64 stx_attributes;  /* Extra file attribute indicators */
5     __u32 stx_nlink;       /* Number of hard links */
6     __u32 stx_uid;         /* User ID of owner */
7     __u32 stx_gid;         /* Group ID of owner */
8     __u16 stx_mode;        /* File type and mode */
9     __u16 __spare0[1];
10     __u64 stx_ino;         /* Inode number */
11     __u64 stx_size;        /* File size in bytes */
12     __u64 stx_blocks;      /* Number of 512-byte blocks allocated */
13     __u64 stx_attributes_mask; 
14                            /* Mask to show what's supported in stx_attributes */
15     /* The following fields are file timestamps */
16     struct statx_timestamp stx_atime;  /* Last access time */
17     struct statx_timestamp stx_btime;  /* File creation time */
18     struct statx_timestamp stx_ctime;  /* Last status change time */
19     struct statx_timestamp stx_mtime;  /* Last data modification time */
20     /* If this file represents a device, then the next two
21        fields contain the ID of the device */
22     __u32 stx_rdev_major;  /* Major ID */
23     __u32 stx_rdev_minor;  /* Minor ID */
24     /* The next two fields contain the ID of the device
25        containing the filesystem where the file resides */
26     __u32 stx_dev_major;   /* Major ID */
27     __u32 stx_dev_minor;   /* Minor ID */
28     __u64 __spare2[14];    /* Spare space for future expansion */
29 };