use core::ffi::CStr;
use super::abi::*;
use crate::{
gid_t,
uid_t,
unit_result_from_value,
};
#[inline]
pub fn chown(filename: &CStr, uid: uid_t, gid: gid_t) -> crate::Result<()> {
// SAFETY: `filename` refers to a valid pointer.
let ret =
unsafe { syscall_3(92, filename.as_ptr() as usize, uid as usize, gid as usize) as u32 };
unit_result_from_value(ret)
}