public static unsafe SocketError GetAvailable(SafeCloseSocket handle, out int available) { int value = 0; Interop.Error err = Interop.Sys.GetBytesAvailable(handle, &value); available = value; return err == Interop.Error.SUCCESS ? SocketError.Success : GetSocketErrorForErrorCode(err); }