old_tc
tcgetattr(0, &old_tc);
new_tc = old_tc;
memcpy(new_tc.c_cc, old_tc.c_cc, sizeof(old_tc.c_cc));
tmp_tc.c_cflag |= old_tc.c_cflag & (CSIZE|PARENB);
tmp_tc = old_tc;
out = cfgetospeed(&old_tc);
in = cfgetispeed(&old_tc);
struct termio old_tc = { 0, 0, 0, 0, {}, 0, 0 };