1 | #ifndef PTYTTY_H |
1 | #ifndef PTYTTY_H |
2 | #define PTYTTY_H |
2 | #define PTYTTY_H |
3 | |
3 | |
4 | #include "rxvt.h" |
4 | #include "libptytty.h" |
5 | #include "feature.h" |
|
|
6 | |
5 | |
7 | #if defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT) |
6 | #include "ptytty_conf.h" |
8 | # if defined(PTYS_ARE_GETPT) || defined(PTYS_ARE_POSIX) || defined(PTYS_ARE_PTMX) |
7 | |
9 | # define NO_SETOWNER_TTYDEV 1 |
8 | #if defined(HAVE__GETPTY) || defined(HAVE_OPENPTY) || defined(UNIX98_PTY) |
10 | # endif |
|
|
11 | #endif |
|
|
12 | #if defined(__CYGWIN32__) |
|
|
13 | # define NO_SETOWNER_TTYDEV 1 |
9 | # define NO_SETOWNER_TTYDEV 1 |
14 | #endif |
10 | #endif |
15 | |
11 | |
16 | #if UTMP_SUPPORT |
12 | #if UTMP_SUPPORT |
17 | # if !defined(RXVT_UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) |
13 | # if !defined(UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) || defined(__GLIBC__) |
18 | # undef HAVE_UTMPX_H |
14 | # undef HAVE_UTMPX_H |
19 | # undef HAVE_STRUCT_UTMPX |
15 | # undef HAVE_STRUCT_UTMPX |
20 | # endif |
16 | # endif |
21 | # if !defined(RXVT_UTMP_FILE) || !defined(HAVE_STRUCT_UTMP) |
17 | # if !defined(UTMP_FILE) || !defined(HAVE_STRUCT_UTMP) |
22 | # undef HAVE_UTMP_H |
18 | # undef HAVE_UTMP_H |
23 | # undef HAVE_STRUCT_UTMP |
19 | # undef HAVE_STRUCT_UTMP |
24 | # endif |
20 | # endif |
25 | |
21 | |
26 | # ifdef HAVE_UTMPX_H |
22 | # ifdef HAVE_UTMPX_H |
… | |
… | |
38 | # include <lastlog.h> |
34 | # include <lastlog.h> |
39 | # endif |
35 | # endif |
40 | |
36 | |
41 | # include <pwd.h> |
37 | # include <pwd.h> |
42 | |
38 | |
43 | # ifdef RXVT_UTMP_SYSV |
39 | # ifdef UTMP_SYSV |
44 | # ifndef USER_PROCESS |
40 | # ifndef USER_PROCESS |
45 | # define USER_PROCESS 7 |
41 | # define USER_PROCESS 7 |
46 | # endif |
42 | # endif |
47 | # ifndef DEAD_PROCESS |
43 | # ifndef DEAD_PROCESS |
48 | # define DEAD_PROCESS 8 |
44 | # define DEAD_PROCESS 8 |
49 | # endif |
45 | # endif |
50 | # endif |
46 | # endif |
51 | |
47 | |
52 | #endif |
48 | #endif |
53 | |
49 | |
54 | struct rxvt_ptytty_unix : rxvt_ptytty |
50 | struct ptytty_unix : ptytty |
55 | { |
51 | { |
56 | char *name; |
52 | char *name; |
57 | |
53 | |
58 | #ifndef RESET_TTY_TO_COMMON_DEFAULTS |
|
|
59 | struct stat savestat; /* original status of our tty */ |
|
|
60 | #endif |
|
|
61 | #ifndef NO_SETOWNER_TTYDEV |
|
|
62 | void privileges (rxvt_privaction action); |
|
|
63 | bool saved; |
|
|
64 | #endif |
|
|
65 | public: |
54 | public: |
66 | |
55 | |
67 | rxvt_ptytty_unix (); |
56 | ptytty_unix (); |
68 | ~rxvt_ptytty_unix (); |
57 | ~ptytty_unix (); |
69 | |
58 | |
70 | bool get (); |
59 | bool get (); |
71 | void put (); |
60 | void put (); |
|
|
61 | |
|
|
62 | void login (int cmd_pid, bool login_shell, const char *hostname); |
72 | |
63 | |
73 | #if UTMP_SUPPORT |
64 | #if UTMP_SUPPORT |
74 | int utmp_pos; |
65 | int utmp_pos; |
75 | int cmd_pid; |
66 | int cmd_pid; |
76 | bool login_shell; |
67 | bool login_shell; |
… | |
… | |
83 | #endif |
74 | #endif |
84 | #if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX) |
75 | #if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX) |
85 | char ut_id[5]; |
76 | char ut_id[5]; |
86 | #endif |
77 | #endif |
87 | |
78 | |
88 | void login (int cmd_pid, bool login_shell, const char *hostname); |
|
|
89 | void logout (); |
79 | void logout (); |
90 | #endif |
80 | #endif |
91 | }; |
81 | }; |
92 | |
82 | |
93 | #endif |
83 | #endif |