From b4524782aa6f5ea780b5a029ef0f06b0674ef269 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Tue, 8 Dec 2020 10:14:54 +0200 Subject: initial commit --- .gitignore | 1 + Cargo.toml | 11 +++++++++++ src/lib.rs | 1 + src/main.rs | 17 +++++++++++++++++ 4 files changed, 30 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.toml create mode 100644 src/lib.rs create mode 100644 src/main.rs 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 "] +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(()) +} -- cgit v1.2.1