diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Cargo.toml | 11 | ||||
-rw-r--r-- | src/lib.rs | 1 | ||||
-rw-r--r-- | src/main.rs | 17 |
4 files changed, 30 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..af2dca6 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "libc" +version = "0.1.0" +authors = ["Lars Wirzenius <liw@liw.fi>"] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +anyhow = "1" +libc = "0.2" diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1 @@ + diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..493a7ba --- /dev/null +++ b/src/main.rs @@ -0,0 +1,17 @@ +use libc::{futimens, timespec}; +use std::unix::io::AsRawFd; + +fn main() -> anyhow::Result<()> { + let f = std::fs::File::create("foo.dat")?; + let fd = f.as_raw_fd(); + let ts = timespec { + tv_sec: 1, + tv_nsec: 42, + }; + let ret = futimens(fd, &ts); + if ret == -1 { + panic!("futimens failed"); + } + + Ok(()) +} |