Function nc::flistxattr [−][src]
pub fn flistxattr(fd: i32, list: usize, size: size_t) -> Result<ssize_t, Errno>
Expand description
List extended attribute names.
let path = "/tmp/nc-flistxattr"; let ret = nc::open(path, nc::O_WRONLY | nc::O_CREAT, 0o644); assert!(ret.is_ok()); let fd = ret.unwrap(); let attr_name = "user.creator"; let attr_value = "nc-0.0.1"; //let flags = 0; let flags = nc::XATTR_CREATE; let ret = nc::setxattr( path, &attr_name, attr_value.as_ptr() as usize, attr_value.len(), flags, ); assert!(ret.is_ok()); let mut buf = [0_u8; 16]; let buf_len = buf.len(); let ret = nc::flistxattr(fd, buf.as_mut_ptr() as usize, buf_len); let attr_len = ret.unwrap() as usize; assert_eq!(&buf[..attr_len - 1], attr_name.as_bytes()); assert!(nc::close(fd).is_ok()); assert!(nc::unlink(path).is_ok());