This SO_ERROR is commonly used to check sockets for errors, for example on non-blocking connect calls.
getsockopt(sockfd, SOL_SOCKET, SO_ERROR, ...);
This is exposed in Rust as TcpStream::take_error, TcpListener::take_error, and UdpSocket::take_error via the currently not implemented std::sys::pal::hermit::net::Socket::take_error.