@@ -3,6 +3,36 @@ pub type __priority_which_t = ::c_uint;
33pub type __rlimit_resource_t = :: c_uint ;
44
55s ! {
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+
636 pub struct aiocb {
737 pub aio_fildes: :: c_int,
838 pub aio_lio_opcode: :: c_int,
@@ -942,6 +972,32 @@ pub const AF_MAX: ::c_int = 45;
942972#[ allow( deprecated) ]
943973pub const PF_MAX : :: c_int = AF_MAX ;
944974
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+
9451001cfg_if ! {
9461002 if #[ cfg( any( target_arch = "arm" , target_arch = "x86" ,
9471003 target_arch = "x86_64" ) ) ] {
@@ -992,6 +1048,8 @@ extern {
9921048 pub fn mallopt ( param : :: c_int , value : :: c_int ) -> :: c_int ;
9931049 pub fn gettimeofday ( tp : * mut :: timeval ,
9941050 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 ;
9951053}
9961054
9971055#[ link( name = "util" ) ]
0 commit comments