linux/tools/perf/util/term.c
<<
>>
Prefs
   1#include "util.h"
   2
   3void get_term_dimensions(struct winsize *ws)
   4{
   5        char *s = getenv("LINES");
   6
   7        if (s != NULL) {
   8                ws->ws_row = atoi(s);
   9                s = getenv("COLUMNS");
  10                if (s != NULL) {
  11                        ws->ws_col = atoi(s);
  12                        if (ws->ws_row && ws->ws_col)
  13                                return;
  14                }
  15        }
  16#ifdef TIOCGWINSZ
  17        if (ioctl(1, TIOCGWINSZ, ws) == 0 &&
  18            ws->ws_row && ws->ws_col)
  19                return;
  20#endif
  21        ws->ws_row = 25;
  22        ws->ws_col = 80;
  23}
  24
  25void set_term_quiet_input(struct termios *old)
  26{
  27        struct termios tc;
  28
  29        tcgetattr(0, old);
  30        tc = *old;
  31        tc.c_lflag &= ~(ICANON | ECHO);
  32        tc.c_cc[VMIN] = 0;
  33        tc.c_cc[VTIME] = 0;
  34        tcsetattr(0, TCSANOW, &tc);
  35}
  36