aboutsummaryrefslogtreecommitdiffstats
path: root/tools/console
diff options
context:
space:
mode:
Diffstat (limited to 'tools/console')
-rw-r--r--tools/console/client/main.c15
-rw-r--r--tools/console/daemon/main.c2
2 files changed, 17 insertions, 0 deletions
diff --git a/tools/console/client/main.c b/tools/console/client/main.c
index 509e44bf91..6fb41114b6 100644
--- a/tools/console/client/main.c
+++ b/tools/console/client/main.c
@@ -71,6 +71,21 @@ static void usage(const char *program) {
, program);
}
+#ifdef __sun__
+void cfmakeraw (struct termios *termios_p)
+{
+ termios_p->c_iflag &=
+ ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
+ termios_p->c_oflag &= ~OPOST;
+ termios_p->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
+ termios_p->c_cflag &= ~(CSIZE|PARENB);
+ termios_p->c_cflag |= CS8;
+
+ termios_p->c_cc[VMIN] = 0;
+ termios_p->c_cc[VTIME] = 0;
+}
+#endif
+
static int get_pty_fd(struct xs_handle *xs, char *path, int seconds)
/* Check for a pty in xenstore, open it and return its fd.
* Assumes there is already a watch set in the store for this path. */
diff --git a/tools/console/daemon/main.c b/tools/console/daemon/main.c
index c1529d0ac2..60faa4bb2a 100644
--- a/tools/console/daemon/main.c
+++ b/tools/console/daemon/main.c
@@ -86,7 +86,9 @@ int main(int argc, char **argv)
version(argv[0]);
exit(0);
case 'v':
+#ifndef __sun__
syslog_option |= LOG_PERROR;
+#endif
syslog_mask = LOG_DEBUG;
break;
case 'i':