Skip to main content

attr/
attr.rs

1fn main() {
2    let path = "/tmp/nc-ioctl";
3    let ret = unsafe { nc::openat(nc::AT_FDCWD, path, nc::O_WRONLY | nc::O_CREAT, 0o644) };
4    assert!(ret.is_ok());
5    let fd = ret.unwrap();
6    let mut attr: i32 = 0;
7    let cmd = nc::FS_IOC_GETFLAGS;
8    let ret = unsafe { nc::ioctl(fd, cmd, &mut attr as *mut i32 as *const _) };
9    assert!(ret.is_ok());
10    println!("attr: {}", attr);
11
12    let ret = unsafe { nc::close(fd) };
13    assert!(ret.is_ok());
14    let ret = unsafe { nc::unlinkat(nc::AT_FDCWD, path, 0) };
15    assert!(ret.is_ok());
16}