aboutsummaryrefslogtreecommitdiff
path: root/src/appl/telnet/telnetd/termios-tn.c
blob: 3e5488371c5a4e337b68c8d8de02a8da085ecfce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* handle having mutually exclusive termio vs. termios */
/* return 0 if handled */
#ifdef	STREAMSPTY
#include <sys/types.h>
#include <sys/stream.h>
#include <sys/ioctl.h>
#include <termios.h>
#if !defined(TCSETS) && defined(_AIX) /* kludge for AIX */
#include <termio.h>
#endif

int readstream_termios(cmd, ibuf, vstop, vstart, ixon)
     int cmd;
     char *ibuf;
     char *vstop, *vstart;
     int *ixon;
{
  struct termios *tsp;
  switch (cmd) {
  case TCSETS:
  case TCSETSW:
  case TCSETSF:
    tsp = (struct termios *)
      (ibuf+1 + sizeof(struct iocblk));
    *vstop = tsp->c_cc[VSTOP];
    *vstart = tsp->c_cc[VSTART];
    *ixon = tsp->c_iflag & IXON;
    return 0;
  }
  return -1;
}

#else
int silence_warnings_about_empty_source_file_termios = 42;
#endif /* STREAMSPTY */