+#include <sys/ioctl.h>
+#include <termios.h>
+
+
+/* borrowed from detachtty's detachtty.c, in turn borrowed from APUE
+ * example code found at
+ * http://www.yendor.com/programming/unix/apue/pty/main.c
+
+-brkint
+
+ */
+
+int set_noecho(int fd)
+{
+ struct termios stermios;
+
+ if (tcgetattr(fd, &stermios) < 0) return 0;
+
+ stermios.c_lflag &= ~( ECHO | /* ECHOE | ECHOK | */ ECHONL);
+ stermios.c_oflag |= (ONLCR);
+ stermios.c_iflag &= ~(BRKINT);
+ stermios.c_iflag |= (ICANON|ICRNL);
+
+ stermios.c_cc[VERASE]=0177;
+ if (tcsetattr(fd, TCSANOW, &stermios) < 0) return 0;
+ return 1;
+}
+