Initial std library support for NuttX · qinheping/verify-rust-std@c47920f (original) (raw)

``

1

`+

#![stable(feature = "metadata_ext", since = "1.1.0")]

`

``

2

+

``

3

`+

use crate::fs::Metadata;

`

``

4

`+

use crate::sys_common::AsInner;

`

``

5

+

``

6

`+

#[stable(feature = "metadata_ext", since = "1.1.0")]

`

``

7

`+

pub trait MetadataExt {

`

``

8

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

9

`+

fn st_dev(&self) -> u64;

`

``

10

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

11

`+

fn st_ino(&self) -> u64;

`

``

12

`+

#[stable(feature = "metadata_ext", since = "1.1.0")]

`

``

13

`+

fn st_mode(&self) -> u32;

`

``

14

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

15

`+

fn st_nlink(&self) -> u64;

`

``

16

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

17

`+

fn st_uid(&self) -> u32;

`

``

18

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

19

`+

fn st_gid(&self) -> u32;

`

``

20

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

21

`+

fn st_rdev(&self) -> u64;

`

``

22

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

23

`+

fn st_size(&self) -> u64;

`

``

24

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

25

`+

fn st_atime(&self) -> i64;

`

``

26

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

27

`+

fn st_atime_nsec(&self) -> i64;

`

``

28

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

29

`+

fn st_mtime(&self) -> i64;

`

``

30

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

31

`+

fn st_mtime_nsec(&self) -> i64;

`

``

32

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

33

`+

fn st_ctime(&self) -> i64;

`

``

34

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

35

`+

fn st_ctime_nsec(&self) -> i64;

`

``

36

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

37

`+

fn st_blksize(&self) -> u64;

`

``

38

`+

#[stable(feature = "metadata_ext2", since = "1.8.0")]

`

``

39

`+

fn st_blocks(&self) -> u64;

`

``

40

`+

}

`

``

41

+

``

42

`+

#[stable(feature = "metadata_ext", since = "1.1.0")]

`

``

43

`+

impl MetadataExt for Metadata {

`

``

44

`+

fn st_dev(&self) -> u64 {

`

``

45

`+

self.as_inner().as_inner().st_dev as u64

`

``

46

`+

}

`

``

47

`+

fn st_ino(&self) -> u64 {

`

``

48

`+

self.as_inner().as_inner().st_ino as u64

`

``

49

`+

}

`

``

50

`+

fn st_mode(&self) -> u32 {

`

``

51

`+

self.as_inner().as_inner().st_mode as u32

`

``

52

`+

}

`

``

53

`+

fn st_nlink(&self) -> u64 {

`

``

54

`+

self.as_inner().as_inner().st_nlink as u64

`

``

55

`+

}

`

``

56

`+

fn st_uid(&self) -> u32 {

`

``

57

`+

self.as_inner().as_inner().st_uid as u32

`

``

58

`+

}

`

``

59

`+

fn st_gid(&self) -> u32 {

`

``

60

`+

self.as_inner().as_inner().st_gid as u32

`

``

61

`+

}

`

``

62

`+

fn st_rdev(&self) -> u64 {

`

``

63

`+

self.as_inner().as_inner().st_rdev as u64

`

``

64

`+

}

`

``

65

`+

fn st_size(&self) -> u64 {

`

``

66

`+

self.as_inner().as_inner().st_size as u64

`

``

67

`+

}

`

``

68

`+

fn st_atime(&self) -> i64 {

`

``

69

`+

self.as_inner().as_inner().st_atim.tv_sec as i64

`

``

70

`+

}

`

``

71

`+

fn st_atime_nsec(&self) -> i64 {

`

``

72

`+

self.as_inner().as_inner().st_atim.tv_nsec as i64

`

``

73

`+

}

`

``

74

`+

fn st_mtime(&self) -> i64 {

`

``

75

`+

self.as_inner().as_inner().st_mtim.tv_sec as i64

`

``

76

`+

}

`

``

77

`+

fn st_mtime_nsec(&self) -> i64 {

`

``

78

`+

self.as_inner().as_inner().st_mtim.tv_nsec as i64

`

``

79

`+

}

`

``

80

`+

fn st_ctime(&self) -> i64 {

`

``

81

`+

self.as_inner().as_inner().st_ctim.tv_sec as i64

`

``

82

`+

}

`

``

83

`+

fn st_ctime_nsec(&self) -> i64 {

`

``

84

`+

self.as_inner().as_inner().st_ctim.tv_nsec as i64

`

``

85

`+

}

`

``

86

`+

fn st_blksize(&self) -> u64 {

`

``

87

`+

self.as_inner().as_inner().st_blksize as u64

`

``

88

`+

}

`

``

89

`+

fn st_blocks(&self) -> u64 {

`

``

90

`+

self.as_inner().as_inner().st_blocks as u64

`

``

91

`+

}

`

``

92

`+

}

`