module netio import os fn C.getnameinfo(voidptr, i32, &char, i32, &char, i32, i32) i32 pub fn name(sa SocketAddr) !(string, string) { mut addr := []u8{len: 16} mut srv := []u8{len: 2} if C.getnameinfo(sa.ptr(), sa.size(), addr.data, 16, srv.data, 2, C.NI_NUMERICHOST) == -1 { return os.last_error() } return addr.str(), '' }