add (nonstandard) cfmakeraw function
[musl] / src / termios / cfmakeraw.c
diff --git a/src/termios/cfmakeraw.c b/src/termios/cfmakeraw.c
new file mode 100644 (file)
index 0000000..a3daa09
--- /dev/null
@@ -0,0 +1,12 @@
+#include <termios.h>
+
+void cfmakeraw(struct termios *t)
+{
+       t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
+       t->c_oflag &= ~OPOST;
+       t->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
+       t->c_cflag &= ~(CSIZE|PARENB);
+       t->c_cflag |= CS8;
+       t->c_cc[VMIN] = 1;
+       t->c_cc[VTIME] = 0;
+}