ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/ptytty.h
Revision: 1.10
Committed: Tue Jan 17 12:22:59 2006 UTC (18 years, 4 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.9: +1 -23 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(__CYGWIN32__)
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 char *name;
56
57 #ifndef RESET_TTY_TO_COMMON_DEFAULTS
58 struct stat savestat; /* original status of our tty */
59 #endif
60 #ifndef NO_SETOWNER_TTYDEV
61 void privileges (rxvt_privaction action);
62 bool saved;
63 #endif
64 public:
65
66 rxvt_ptytty_unix ();
67 ~rxvt_ptytty_unix ();
68
69 #if UTMP_SUPPORT
70 int utmp_pos;
71 int cmd_pid;
72 bool login_shell;
73
74 #ifdef HAVE_STRUCT_UTMP
75 struct utmp ut;
76 #endif
77 #ifdef HAVE_STRUCT_UTMPX
78 struct utmpx utx;
79 #endif
80 #if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX)
81 char ut_id[5];
82 #endif
83
84 bool get ();
85 void put ();
86
87 void login (int cmd_pid, bool login_shell, const char *hostname);
88 void logout ();
89 #endif
90 };
91
92 #endif
93