@@ -3,6 +3,36 @@ pub type __priority_which_t = ::c_uint;
3
3
pub type __rlimit_resource_t = :: c_uint ;
4
4
5
5
s ! {
6
+ pub struct statx {
7
+ pub stx_mask: u32 ,
8
+ pub stx_blksize: u32 ,
9
+ pub stx_attributes: u64 ,
10
+ pub stx_nlink: u32 ,
11
+ pub stx_uid: u32 ,
12
+ pub stx_gid: u32 ,
13
+ pub stx_mode: u16 ,
14
+ pub __statx_pad1: [ u16 ; 1 ] ,
15
+ pub stx_ino: u64 ,
16
+ pub stx_size: u64 ,
17
+ pub stx_blocks: u64 ,
18
+ pub stx_attributes_mask: u64 ,
19
+ pub stx_atime: :: statx_timestamp,
20
+ pub stx_btime: :: statx_timestamp,
21
+ pub stx_ctime: :: statx_timestamp,
22
+ pub stx_mtime: :: statx_timestamp,
23
+ pub stx_rdev_major: u32 ,
24
+ pub stx_rdev_minor: u32 ,
25
+ pub stx_dev_major: u32 ,
26
+ pub stx_dev_minor: u32 ,
27
+ pub __statx_pad2: [ u64 ; 14 ] ,
28
+ }
29
+
30
+ pub struct statx_timestamp {
31
+ pub tv_sec: i64 ,
32
+ pub tv_nsec: u32 ,
33
+ pub __statx_timestamp_pad1: [ i32 ; 1 ] ,
34
+ }
35
+
6
36
pub struct aiocb {
7
37
pub aio_fildes: :: c_int,
8
38
pub aio_lio_opcode: :: c_int,
@@ -942,6 +972,32 @@ pub const AF_MAX: ::c_int = 45;
942
972
#[ allow( deprecated) ]
943
973
pub const PF_MAX : :: c_int = AF_MAX ;
944
974
975
+ pub const AT_STATX_SYNC_TYPE : :: c_int = 0x6000 ;
976
+ pub const AT_STATX_SYNC_AS_STAT : :: c_int = 0x0000 ;
977
+ pub const AT_STATX_FORCE_SYNC : :: c_int = 0x2000 ;
978
+ pub const AT_STATX_DONT_SYNC : :: c_int = 0x4000 ;
979
+ pub const STATX_TYPE : :: c_uint = 0x0001 ;
980
+ pub const STATX_MODE : :: c_uint = 0x0002 ;
981
+ pub const STATX_NLINK : :: c_uint = 0x0004 ;
982
+ pub const STATX_UID : :: c_uint = 0x0008 ;
983
+ pub const STATX_GID : :: c_uint = 0x0010 ;
984
+ pub const STATX_ATIME : :: c_uint = 0x0020 ;
985
+ pub const STATX_MTIME : :: c_uint = 0x0040 ;
986
+ pub const STATX_CTIME : :: c_uint = 0x0080 ;
987
+ pub const STATX_INO : :: c_uint = 0x0100 ;
988
+ pub const STATX_SIZE : :: c_uint = 0x0200 ;
989
+ pub const STATX_BLOCKS : :: c_uint = 0x0400 ;
990
+ pub const STATX_BASIC_STATS : :: c_uint = 0x07ff ;
991
+ pub const STATX_BTIME : :: c_uint = 0x0800 ;
992
+ pub const STATX_ALL : :: c_uint = 0x0fff ;
993
+ pub const STATX__RESERVED : :: c_int = 0x80000000 ;
994
+ pub const STATX_ATTR_COMPRESSED : :: c_int = 0x0004 ;
995
+ pub const STATX_ATTR_IMMUTABLE : :: c_int = 0x0010 ;
996
+ pub const STATX_ATTR_APPEND : :: c_int = 0x0020 ;
997
+ pub const STATX_ATTR_NODUMP : :: c_int = 0x0040 ;
998
+ pub const STATX_ATTR_ENCRYPTED : :: c_int = 0x0800 ;
999
+ pub const STATX_ATTR_AUTOMOUNT : :: c_int = 0x1000 ;
1000
+
945
1001
cfg_if ! {
946
1002
if #[ cfg( any( target_arch = "arm" , target_arch = "x86" ,
947
1003
target_arch = "x86_64" ) ) ] {
@@ -992,6 +1048,8 @@ extern {
992
1048
pub fn mallopt ( param : :: c_int , value : :: c_int ) -> :: c_int ;
993
1049
pub fn gettimeofday ( tp : * mut :: timeval ,
994
1050
tz : * mut :: timezone ) -> :: c_int ;
1051
+ pub fn statx ( dirfd : :: c_int , pathname : * const c_char , flags : :: c_int ,
1052
+ mask : :: c_uint , statxbuf : * mut statx ) -> :: c_int ;
995
1053
}
996
1054
997
1055
#[ link( name = "util" ) ]
0 commit comments