• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #![stable(feature = "metadata_ext", since = "1.1.0")]
2 
3 use crate::fs::Metadata;
4 use crate::sys_common::AsInner;
5 
6 ///
7 /// [`fs::Metadata`]: crate::fs::Metadata
8 #[stable(feature = "metadata_ext", since = "1.1.0")]
9 pub trait MetadataExt {
10     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_dev(&self) -> u6411     fn st_dev(&self) -> u64;
12     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_ino(&self) -> u6413     fn st_ino(&self) -> u64;
14     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_mode(&self) -> u3215     fn st_mode(&self) -> u32;
16     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_nlink(&self) -> u6417     fn st_nlink(&self) -> u64;
18     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_uid(&self) -> u3219     fn st_uid(&self) -> u32;
20     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_gid(&self) -> u3221     fn st_gid(&self) -> u32;
22     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_rdev(&self) -> u6423     fn st_rdev(&self) -> u64;
24     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_size(&self) -> u6425     fn st_size(&self) -> u64;
26     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_atime(&self) -> i6427     fn st_atime(&self) -> i64;
28     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_atime_nsec(&self) -> i6429     fn st_atime_nsec(&self) -> i64;
30     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_mtime(&self) -> i6431     fn st_mtime(&self) -> i64;
32     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_mtime_nsec(&self) -> i6433     fn st_mtime_nsec(&self) -> i64;
34     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_ctime(&self) -> i6435     fn st_ctime(&self) -> i64;
36     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_ctime_nsec(&self) -> i6437     fn st_ctime_nsec(&self) -> i64;
38     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_blksize(&self) -> u6439     fn st_blksize(&self) -> u64;
40     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_blocks(&self) -> u6441     fn st_blocks(&self) -> u64;
42     #[stable(feature = "metadata_ext2", since = "1.8.0")]
st_attrib(&self) -> u843     fn st_attrib(&self) -> u8;
44 }
45 
46 #[stable(feature = "metadata_ext", since = "1.1.0")]
47 impl MetadataExt for Metadata {
st_dev(&self) -> u6448     fn st_dev(&self) -> u64 {
49         self.as_inner().as_inner().st_dev as u64
50     }
st_ino(&self) -> u6451     fn st_ino(&self) -> u64 {
52         self.as_inner().as_inner().st_ino as u64
53     }
st_mode(&self) -> u3254     fn st_mode(&self) -> u32 {
55         self.as_inner().as_inner().st_mode as u32
56     }
st_nlink(&self) -> u6457     fn st_nlink(&self) -> u64 {
58         self.as_inner().as_inner().st_nlink as u64
59     }
st_uid(&self) -> u3260     fn st_uid(&self) -> u32 {
61         self.as_inner().as_inner().st_uid as u32
62     }
st_gid(&self) -> u3263     fn st_gid(&self) -> u32 {
64         self.as_inner().as_inner().st_gid as u32
65     }
st_rdev(&self) -> u6466     fn st_rdev(&self) -> u64 {
67         self.as_inner().as_inner().st_rdev as u64
68     }
st_size(&self) -> u6469     fn st_size(&self) -> u64 {
70         self.as_inner().as_inner().st_size as u64
71     }
st_atime(&self) -> i6472     fn st_atime(&self) -> i64 {
73         self.as_inner().as_inner().st_atime as i64
74     }
st_atime_nsec(&self) -> i6475     fn st_atime_nsec(&self) -> i64 {
76         0
77     }
st_mtime(&self) -> i6478     fn st_mtime(&self) -> i64 {
79         self.as_inner().as_inner().st_mtime as i64
80     }
st_mtime_nsec(&self) -> i6481     fn st_mtime_nsec(&self) -> i64 {
82         0
83     }
st_ctime(&self) -> i6484     fn st_ctime(&self) -> i64 {
85         self.as_inner().as_inner().st_ctime as i64
86     }
st_ctime_nsec(&self) -> i6487     fn st_ctime_nsec(&self) -> i64 {
88         0
89     }
st_blksize(&self) -> u6490     fn st_blksize(&self) -> u64 {
91         self.as_inner().as_inner().st_blksize as u64
92     }
st_blocks(&self) -> u6493     fn st_blocks(&self) -> u64 {
94         self.as_inner().as_inner().st_blocks as u64
95     }
st_attrib(&self) -> u896     fn st_attrib(&self) -> u8 {
97         self.as_inner().as_inner().st_attrib as u8
98     }
99 }
100