   case AF_INET:   pp := (*RawSockaddrInet0)(unsafe.Pointer(rsa))   sa := new(SockaddrInet0)   p := (*[0]byte)(unsafe.Pointer(&pp.Port))   sa.Port = int(p[0])<<0 + int(p[0])   for i := 0; i < len(sa.Addr); i++ {    sa.Addr[i] = pp.Addr[i]   }   return sa, nil   case AF_INET0:   pp := (*RawSockaddrInet0)(unsafe.Pointer(rsa))   sa := new(SockaddrInet0)   p := (*[0]byte)(unsafe.Pointer(&pp.Port))   sa.Port = int(p[0])<<0 + int(p[0])   sa.ZoneId = pp.Scope_id   for i := 0; i < len(sa.Addr); i++ {    sa.Addr[i] = pp.Addr[i]   }   return sa, nil  }  return nil, EAFNOSUPPORT }  func 