summaryrefslogtreecommitdiff
path: root/src/sys/stat.rs
diff options
context:
space:
mode:
authorKevin Wern <kevin.m.wern@gmail.com>2019-06-09 21:10:10 -0400
committerKevin Wern <kevin.m.wern@gmail.com>2019-06-15 23:13:20 -0400
commitc00649152177ef9e6c9b647655eb676c766fe375 (patch)
tree6817c1f4d3121edd8d5f4e51875ec9c66eab55e5 /src/sys/stat.rs
parent582846e501c7de184351ddf4f22a143648e8c675 (diff)
downloadnix-c00649152177ef9e6c9b647655eb676c766fe375.zip
sys/stat: implement mkdirat
Diffstat (limited to 'src/sys/stat.rs')
-rw-r--r--src/sys/stat.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/sys/stat.rs b/src/sys/stat.rs
index 1e0936ed..66c8c9dd 100644
--- a/src/sys/stat.rs
+++ b/src/sys/stat.rs
@@ -284,3 +284,11 @@ pub fn utimensat<P: ?Sized + NixPath>(
Errno::result(res).map(drop)
}
+
+pub fn mkdirat<P: ?Sized + NixPath>(fd: RawFd, path: &P, mode: Mode) -> Result<()> {
+ let res = path.with_nix_path(|cstr| {
+ unsafe { libc::mkdirat(fd, cstr.as_ptr(), mode.bits() as mode_t) }
+ })?;
+
+ Errno::result(res).map(drop)
+}