AnotherTest 4 лет назад
Родитель
Сommit
9e2c37a8b2
2 измененных файлов с 13 добавлено и 0 удалено
  1. 12 0
      Userland/Libraries/LibC/termios.cpp
  2. 1 0
      Userland/Libraries/LibC/termios.h

+ 12 - 0
Userland/Libraries/LibC/termios.cpp

@@ -145,4 +145,16 @@ int cfsetospeed(struct termios* tp, speed_t speed)
     }
     __RETURN_WITH_ERRNO(ospeed, 0, -1);
 }
+
+void cfmakeraw(struct termios* tp)
+{
+    if (!tp)
+        return;
+
+    auto& termios = *tp;
+    termios.c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON);
+    termios.c_lflag &= ~OPOST;
+    termios.c_cflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN);
+    termios.c_cflag |= CS8;
+}
 }

+ 1 - 0
Userland/Libraries/LibC/termios.h

@@ -56,6 +56,7 @@ speed_t cfgetispeed(const struct termios*);
 speed_t cfgetospeed(const struct termios*);
 int cfsetispeed(struct termios*, speed_t);
 int cfsetospeed(struct termios*, speed_t);
+void cfmakeraw(struct termios*);
 
 /* c_cc characters */
 #define VINTR 0