// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. #include "platform/globals.h" #if defined(TARGET_OS_ANDROID) #include // NOLINT #include "bin/stdin.h" namespace dart { namespace bin { int Stdin::ReadByte() { int c = getchar(); if (c == EOF) { c = -1; } return c; } void Stdin::SetEchoMode(bool enabled) { struct termios term; tcgetattr(fileno(stdin), &term); if (enabled) { term.c_lflag |= ECHO|ECHONL; } else { term.c_lflag &= ~(ECHO|ECHONL); } tcsetattr(fileno(stdin), TCSANOW, &term); } void Stdin::SetLineMode(bool enabled) { struct termios term; tcgetattr(fileno(stdin), &term); if (enabled) { term.c_lflag |= ICANON; } else { term.c_lflag &= ~(ICANON); } tcsetattr(fileno(stdin), TCSANOW, &term); } } // namespace bin } // namespace dart #endif // defined(TARGET_OS_ANDROID)