ntp_tty.h revision 82499
1/*
2 * ntp_tty.h - header file for serial lines handling
3 */
4
5#ifndef NTP_TTY_H
6#define NTP_TTY_H
7
8#if defined(HAVE_BSD_TTYS)
9#include <sgtty.h>
10#define TTY	struct sgttyb
11#endif /* HAVE_BSD_TTYS */
12
13#if defined(HAVE_SYSV_TTYS)
14#include <termio.h>
15#define TTY	struct termio
16#ifndef tcsetattr
17#define tcsetattr(fd, cmd, arg) ioctl(fd, cmd, arg)
18#endif
19#ifndef TCSANOW
20#define TCSANOW	TCSETA
21#endif
22#ifndef TCIFLUSH
23#define TCIFLUSH 0
24#endif
25#ifndef TCOFLUSH
26#define TCOFLUSH 1
27#endif
28#ifndef TCIOFLUSH
29#define TCIOFLUSH 2
30#endif
31#ifndef tcflush
32#define tcflush(fd, arg) ioctl(fd, TCFLSH, arg)
33#endif
34#endif /* HAVE_SYSV_TTYS */
35
36#if defined(HAVE_TERMIOS)
37# ifdef TERMIOS_NEEDS__SVID3
38#  define _SVID3
39# endif
40# include <termios.h>
41# ifdef TERMIOS_NEEDS__SVID3
42#  undef _SVID3
43# endif
44#define TTY	struct termios
45#endif
46
47#if defined(HAVE_SYS_MODEM_H)
48#include <sys/modem.h>
49#endif
50
51#if !defined(SYSV_TTYS) && !defined(STREAM) & !defined(BSD_TTYS)
52#define BSD_TTYS
53#endif /* SYSV_TTYS STREAM BSD_TTYS */
54
55/*
56 * Line discipline flags. These require line discipline or streams
57 * modules to be installed/loaded in the kernel. If specified, but not
58 * installed, the code runs as if unspecified.
59 */
60#define LDISC_STD	0x0	/* standard */
61#define LDISC_CLK	0x1	/* tty_clk \n intercept */
62#define LDISC_CLKPPS	0x2	/* tty_clk \377 intercept */
63#define LDISC_ACTS	0x4	/* tty_clk #* intercept */
64#define LDISC_CHU	0x8	/* depredated */
65#define LDISC_PPS	0x10	/* ppsclock, ppsapi */
66#define LDISC_RAW	0x20	/* raw binary */
67
68#endif /* NTP_TTY_H */
69