ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/ptytty.h
Revision: 1.14
Committed: Wed Jan 18 14:47:45 2006 UTC (18 years, 4 months ago) by ayin
Content type: text/plain
Branch: MAIN
Changes since 1.13: +1 -1 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 #ifndef PTYTTY_H
2 #define PTYTTY_H
3
4 #include "rxvt.h"
5 #include "feature.h"
6
7 #if defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT)
8 # if defined(PTYS_ARE_GETPT) || defined(PTYS_ARE_POSIX) || defined(PTYS_ARE_PTMX)
9 # define NO_SETOWNER_TTYDEV 1
10 # endif
11 #endif
12 #if defined(__CYGWIN__)
13 # define NO_SETOWNER_TTYDEV 1
14 #endif
15
16 #if UTMP_SUPPORT
17 # if !defined(RXVT_UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX)
18 # undef HAVE_UTMPX_H
19 # undef HAVE_STRUCT_UTMPX
20 # endif
21 # if !defined(RXVT_UTMP_FILE) || !defined(HAVE_STRUCT_UTMP)
22 # undef HAVE_UTMP_H
23 # undef HAVE_STRUCT_UTMP
24 # endif
25
26 # ifdef HAVE_UTMPX_H
27 # include <utmpx.h>
28 # endif
29 # ifdef HAVE_UTMP_H
30 # include <utmp.h>
31 # endif
32
33 # if ! defined(HAVE_STRUCT_UTMPX) && ! defined(HAVE_STRUCT_UTMP)
34 # error cannot build with utmp support - no utmp or utmpx struct found
35 # endif
36
37 # ifdef HAVE_LASTLOG_H
38 # include <lastlog.h>
39 # endif
40
41 # include <pwd.h>
42
43 # ifdef RXVT_UTMP_SYSV
44 # ifndef USER_PROCESS
45 # define USER_PROCESS 7
46 # endif
47 # ifndef DEAD_PROCESS
48 # define DEAD_PROCESS 8
49 # endif
50 # endif
51
52 #endif
53
54 struct rxvt_ptytty_unix : rxvt_ptytty
55 {
56 char *name;
57
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:
66
67 rxvt_ptytty_unix ();
68 ~rxvt_ptytty_unix ();
69
70 bool get ();
71 void put ();
72
73 #if UTMP_SUPPORT
74 int utmp_pos;
75 int cmd_pid;
76 bool login_shell;
77
78 #ifdef HAVE_STRUCT_UTMP
79 struct utmp ut;
80 #endif
81 #ifdef HAVE_STRUCT_UTMPX
82 struct utmpx utx;
83 #endif
84 #if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX)
85 char ut_id[5];
86 #endif
87
88 void login (int cmd_pid, bool login_shell, const char *hostname);
89 void logout ();
90 #endif
91 };
92
93 #endif
94