/* * XXX it probably doesn't matter what the entries other than the l_open * entry are here. The l_nullioctl and ttymodem entries still look fishy. * Reconsider the removal of nullmodem anyway. It was too much like * ttymodem, but a completely null version might be useful. */ #define NODISC(n) \ { l_noopen, l_noclose, l_noread, l_nowrite, \ l_nullioctl, l_norint, l_nostart, ttymodem } struct linesw linesw[MAXLDISC] = { /* 0- termios */ { ttyopen, ttylclose, ttread, ttwrite, l_nullioctl, ttyinput, ttstart, ttymodem }, NODISC(1), /* 1- defunct */ /* 2- NTTYDISC */ #ifdef COMPAT_43 { ttyopen, ttylclose, ttread, ttwrite, l_nullioctl, ttyinput, ttstart, ttymodem }, #else NODISC(2), #endif NODISC(3), /* TABLDISC */ NODISC(4), /* SLIPDISC */ NODISC(5), /* PPPDISC */ NODISC(6), /* loadable */ NODISC(7), /* loadable */ }; int nlinesw = sizeof (linesw) / sizeof (linesw[0]);
#define FL_ORCVXOF 0x10 /* XOFF has been received */ #define FL_OSTOP 0x20 /* output has been stopped due to XOFF */ #define FL_MDRTS 0x100 /* input controlled with RTS/CTS handshake */ #define FL_MDXON 0x200 /* input controlled with XON/XOFF protocol */ #define FL_MDXOF 0x400 /* output controlled with XON/XOFF protocol */ #define NODISC(n) \ { NULL, NULL, NULL, NULL, \ NULL, NULL, NULL, NULL } /* * FIXME: change rtems_termios_linesw entries consistant with rtems_termios_linesw entry usage... */ struct rtems_termios_linesw rtems_termios_linesw[MAXLDISC] = { NODISC(0), /* 0- termios-built-in */ NODISC(1), /* 1- defunct */ NODISC(2), /* 2- NTTYDISC */ NODISC(3), /* TABLDISC */ NODISC(4), /* SLIPDISC */ NODISC(5), /* PPPDISC */ NODISC(6), /* loadable */ NODISC(7), /* loadable */ }; int rtems_termios_nlinesw = sizeof (rtems_termios_linesw) / sizeof (rtems_termios_linesw[0]); extern struct rtems_termios_tty *rtems_termios_ttyHead; extern struct rtems_termios_tty *rtems_termios_ttyTail; extern rtems_id rtems_termios_ttyMutex;