… | |
… | |
7 | #if defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT) |
7 | #if defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT) |
8 | # if defined(PTYS_ARE_GETPT) || defined(PTYS_ARE_POSIX) || defined(PTYS_ARE_PTMX) |
8 | # if defined(PTYS_ARE_GETPT) || defined(PTYS_ARE_POSIX) || defined(PTYS_ARE_PTMX) |
9 | # define NO_SETOWNER_TTYDEV 1 |
9 | # define NO_SETOWNER_TTYDEV 1 |
10 | # endif |
10 | # endif |
11 | #endif |
11 | #endif |
12 | #if defined(__CYGWIN32__) |
12 | #if defined(__CYGWIN__) || defined(PTYS_ARE_OPENPTY) |
13 | # define NO_SETOWNER_TTYDEV 1 |
13 | # define NO_SETOWNER_TTYDEV 1 |
14 | #endif |
14 | #endif |
15 | |
15 | |
16 | #if UTMP_SUPPORT |
16 | #if UTMP_SUPPORT |
17 | # if !defined(RXVT_UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) |
17 | # if !defined(RXVT_UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) || defined(__GLIBC__) |
18 | # undef HAVE_UTMPX_H |
18 | # undef HAVE_UTMPX_H |
19 | # undef HAVE_STRUCT_UTMPX |
19 | # undef HAVE_STRUCT_UTMPX |
20 | # endif |
20 | # endif |
21 | # if !defined(RXVT_UTMP_FILE) || !defined(HAVE_STRUCT_UTMP) |
21 | # if !defined(RXVT_UTMP_FILE) || !defined(HAVE_STRUCT_UTMP) |
22 | # undef HAVE_UTMP_H |
22 | # undef HAVE_UTMP_H |
… | |
… | |
49 | # endif |
49 | # endif |
50 | # endif |
50 | # endif |
51 | |
51 | |
52 | #endif |
52 | #endif |
53 | |
53 | |
54 | struct rxvt_ptytty_base : rxvt_ptytty |
|
|
55 | { |
|
|
56 | virtual void put () = 0; |
|
|
57 | }; |
|
|
58 | |
|
|
59 | struct rxvt_ptytty_unix : rxvt_ptytty_base |
54 | struct rxvt_ptytty_unix : rxvt_ptytty |
60 | { |
55 | { |
61 | char *name; |
56 | char *name; |
62 | |
57 | |
63 | #ifndef RESET_TTY_TO_COMMON_DEFAULTS |
|
|
64 | struct stat savestat; /* original status of our tty */ |
|
|
65 | #endif |
|
|
66 | #ifndef NO_SETOWNER_TTYDEV |
|
|
67 | void privileges (rxvt_privaction action); |
|
|
68 | bool saved; |
|
|
69 | #endif |
|
|
70 | public: |
58 | public: |
71 | |
59 | |
72 | rxvt_ptytty_unix (); |
60 | rxvt_ptytty_unix (); |
73 | ~rxvt_ptytty_unix (); |
61 | ~rxvt_ptytty_unix (); |
|
|
62 | |
|
|
63 | bool get (); |
|
|
64 | void put (); |
74 | |
65 | |
75 | #if UTMP_SUPPORT |
66 | #if UTMP_SUPPORT |
76 | int utmp_pos; |
67 | int utmp_pos; |
77 | int cmd_pid; |
68 | int cmd_pid; |
78 | bool login_shell; |
69 | bool login_shell; |
… | |
… | |
85 | #endif |
76 | #endif |
86 | #if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX) |
77 | #if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX) |
87 | char ut_id[5]; |
78 | char ut_id[5]; |
88 | #endif |
79 | #endif |
89 | |
80 | |
90 | bool get (); |
|
|
91 | void put (); |
|
|
92 | |
|
|
93 | void login (int cmd_pid, bool login_shell, const char *hostname); |
81 | void login (int cmd_pid, bool login_shell, const char *hostname); |
94 | void logout (); |
82 | void logout (); |
95 | #endif |
83 | #endif |
96 | }; |
84 | }; |
97 | |
85 | |