struct kernel_termios k_termios;
struct __kernel_termios k_termios;
tcsetattr (fd, optional_actions, termios_p)     int fd;     int optional_actions;     const struct termios *termios_p;{  struct kernel_termios k_termios;  unsigned long int cmd;  size_t cnt;  switch (optional_actions)    {    case TCSANOW:      cmd = TCSETS;      break;    case TCSADRAIN:      cmd = TCSETSW;      break;    case TCSAFLUSH:      cmd = TCSETSF;      break;    default:      __set_errno (EINVAL);      return -1;    }  k_termios.c_iflag = termios_p->c_iflag;  k_termios.c_oflag = termios_p->c_oflag;  k_termios.c_cflag = termios_p->c_cflag;  k_termios.c_lflag = termios_p->c_lflag;  k_termios.c_line = termios_p->c_line;#ifdef _HAVE_C_ISPEED  k_termios.c_ispeed = termios_p->c_ispeed;#endif#ifdef _HAVE_C_OSPEED  k_termios.c_ospeed = termios_p->c_ospeed;#endif  for (cnt = 0; cnt < KERNEL_NCCS; ++cnt)    k_termios.c_cc[cnt] = termios_p->c_cc[cnt];  return __ioctl (fd, cmd, &k_termios);}