1 | /* |
|
|
2 | * $Id: init.h,v 1.2 2003/11/24 17:31:27 pcg Exp $ |
|
|
3 | */ |
|
|
4 | |
|
|
5 | #ifndef _INIT_H_ |
1 | #ifndef INIT_H_ |
6 | #define _INIT_H_ |
2 | #define INIT_H_ |
7 | |
3 | |
8 | #undef CERASE /* TODO */ |
4 | #undef CERASE /* TODO */ |
9 | #define CERASE '\010' /* ^H */ |
5 | #define CERASE '\010' /* ^H */ |
10 | |
6 | |
11 | #ifdef HAVE_XSETLOCALE |
7 | #ifdef HAVE_XSETLOCALE |
12 | # define X_LOCALE |
8 | # define X_LOCALE |
13 | # include <X11/Xlocale.h> |
9 | # include <X11/Xlocale.h> |
14 | #else |
10 | #else |
15 | # ifdef HAVE_SETLOCALE |
11 | # ifdef HAVE_SETLOCALE |
16 | # include <locale.h> |
12 | # include <clocale> |
17 | # endif |
13 | # endif |
18 | #endif /* HAVE_XLOCALE */ |
14 | #endif /* HAVE_XLOCALE */ |
19 | |
15 | |
20 | #if defined(PTYS_ARE_PTMX) && !defined(__CYGWIN32__) |
16 | #if defined(PTYS_ARE_PTMX) && !defined(__CYGWIN32__) |
21 | # include <sys/resource.h> /* for struct rlimit */ |
17 | # include <sys/resource.h> /* for struct rlimit */ |
22 | # define _NEW_TTY_CTRL /* to get proper defines in <termios.h> */ |
18 | # define _NEW_TTY_CTRL /* to get proper defines in <termios.h> */ |
23 | #endif |
|
|
24 | |
|
|
25 | #ifdef __QNX__ /* autoconf someday */ |
|
|
26 | # include <process.h> |
|
|
27 | #endif |
19 | #endif |
28 | |
20 | |
29 | #ifdef TTY_GID_SUPPORT |
21 | #ifdef TTY_GID_SUPPORT |
30 | # include <grp.h> |
22 | # include <grp.h> |
31 | #endif |
23 | #endif |
… | |
… | |
35 | #ifdef HAVE_TERMIOS_H |
27 | #ifdef HAVE_TERMIOS_H |
36 | /* termios interface */ |
28 | /* termios interface */ |
37 | # ifdef TCSANOW /* POSIX */ |
29 | # ifdef TCSANOW /* POSIX */ |
38 | # define GET_TERMIOS(fd,tios) tcgetattr (fd, tios) |
30 | # define GET_TERMIOS(fd,tios) tcgetattr (fd, tios) |
39 | # define SET_TERMIOS(fd,tios) \ |
31 | # define SET_TERMIOS(fd,tios) \ |
40 | cfsetospeed (tios, BAUDRATE), \ |
32 | cfsetospeed (tios, BAUDRATE), \ |
41 | cfsetispeed (tios, BAUDRATE), \ |
33 | cfsetispeed (tios, BAUDRATE), \ |
42 | tcsetattr (fd, TCSANOW, tios) |
34 | tcsetattr (fd, TCSANOW, tios) |
43 | # else |
35 | # else |
44 | # ifdef TIOCSETA |
36 | # ifdef TIOCSETA |
45 | # define GET_TERMIOS(fd,tios) ioctl (fd, TIOCGETA, tios) |
37 | # define GET_TERMIOS(fd,tios) ioctl (fd, TIOCGETA, tios) |
46 | # define SET_TERMIOS(fd,tios) \ |
38 | # define SET_TERMIOS(fd,tios) \ |
47 | tios->c_cflag |= BAUDRATE, \ |
39 | tios->c_cflag |= BAUDRATE, \ |
48 | ioctl (fd, TIOCSETA, tios) |
40 | ioctl (fd, TIOCSETA, tios) |
49 | # else |
41 | # else |
50 | # define GET_TERMIOS(fd,tios) ioctl (fd, TCGETS, tios) |
42 | # define GET_TERMIOS(fd,tios) ioctl (fd, TCGETS, tios) |
51 | # define SET_TERMIOS(fd,tios) \ |
43 | # define SET_TERMIOS(fd,tios) \ |
52 | tios->c_cflag |= BAUDRATE, \ |
44 | tios->c_cflag |= BAUDRATE, \ |
53 | ioctl (fd, TCSETS, tios) |
45 | ioctl (fd, TCSETS, tios) |
54 | # endif |
46 | # endif |
55 | # endif |
47 | # endif |
56 | # define SET_TTYMODE(fd,tios) SET_TERMIOS (fd, tios) |
48 | # define SET_TTYMODE(fd,tios) SET_TERMIOS (fd, tios) |
57 | #else |
49 | #else |
58 | /* sgtty interface */ |
50 | /* sgtty interface */ |
59 | |
51 | |
60 | # define SET_TTYMODE(fd,tt) \ |
52 | # define SET_TTYMODE(fd,tt) \ |
61 | tt->sg.sg_ispeed = tt->sg.sg_ospeed = BAUDRATE, \ |
53 | tt->sg.sg_ispeed = tt->sg.sg_ospeed = BAUDRATE, \ |
62 | ioctl (fd, TIOCSETP, &(tt->sg)), \ |
54 | ioctl (fd, TIOCSETP, & (tt->sg)), \ |
63 | ioctl (fd, TIOCSETC, &(tt->tc)), \ |
55 | ioctl (fd, TIOCSETC, & (tt->tc)), \ |
64 | ioctl (fd, TIOCSLTC, &(tt->lc)), \ |
56 | ioctl (fd, TIOCSLTC, & (tt->lc)), \ |
65 | ioctl (fd, TIOCSETD, &(tt->line)), \ |
57 | ioctl (fd, TIOCSETD, & (tt->line)), \ |
66 | ioctl (fd, TIOCLSET, &(tt->local)) |
58 | ioctl (fd, TIOCLSET, & (tt->local)) |
67 | #endif /* HAVE_TERMIOS_H */ |
59 | #endif /* HAVE_TERMIOS_H */ |
68 | |
60 | |
69 | /* use the fastest baud-rate */ |
61 | /* use the fastest baud-rate */ |
70 | #ifdef B38400 |
62 | #ifdef B38400 |
71 | # define BAUDRATE B38400 |
63 | # define BAUDRATE B38400 |
… | |
… | |
144 | #endif |
136 | #endif |
145 | |
137 | |
146 | #ifndef O_NOCTTY |
138 | #ifndef O_NOCTTY |
147 | # define O_NOCTTY 0 |
139 | # define O_NOCTTY 0 |
148 | #endif |
140 | #endif |
149 | #ifndef O_NDELAY |
|
|
150 | # define O_NDELAY O_NONBLOCK /* QNX, at least */ |
|
|
151 | #endif |
|
|
152 | #ifndef ONLCR |
141 | #ifndef ONLCR |
153 | # define ONLCR 0 /* QNX, at least */ |
142 | # define ONLCR 0 |
154 | #endif |
143 | #endif |
155 | |
144 | |
156 | #define CONSOLE "/dev/console" /* console device */ |
145 | #define CONSOLE "/dev/console" /* console device */ |
157 | |
146 | |
158 | #include "init.intpro" /* PROTOS for internal routines */ |
|
|
159 | #endif /* _INIT_H_ */ |
147 | #endif /* _INIT_H_ */ |