ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/ptytty.h
Revision: 1.11
Committed: Tue Jan 17 12:29:40 2006 UTC (18 years, 4 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.10: +7 -1 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 #ifndef PTYTTY_H
2     #define PTYTTY_H
3    
4 root 1.10 #include "rxvt.h"
5 root 1.4 #include "feature.h"
6    
7     #if defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT)
8 ayin 1.7 # if defined(PTYS_ARE_GETPT) || defined(PTYS_ARE_POSIX) || defined(PTYS_ARE_PTMX)
9 root 1.4 # define NO_SETOWNER_TTYDEV 1
10     # endif
11     #endif
12 root 1.5 #if defined(__CYGWIN32__)
13 root 1.4 # define NO_SETOWNER_TTYDEV 1
14     #endif
15 root 1.1
16 root 1.6 #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 root 1.11 struct rxvt_ptytty_base : rxvt_ptytty
55     {
56     virtual void put () = 0;
57     };
58    
59     struct rxvt_ptytty_unix : rxvt_ptytty_base
60     {
61 root 1.8 char *name;
62    
63 root 1.1 #ifndef RESET_TTY_TO_COMMON_DEFAULTS
64     struct stat savestat; /* original status of our tty */
65     #endif
66 root 1.4 #ifndef NO_SETOWNER_TTYDEV
67 root 1.1 void privileges (rxvt_privaction action);
68 root 1.4 bool saved;
69     #endif
70 root 1.1 public:
71    
72 root 1.8 rxvt_ptytty_unix ();
73     ~rxvt_ptytty_unix ();
74 root 1.6
75     #if UTMP_SUPPORT
76     int utmp_pos;
77     int cmd_pid;
78     bool login_shell;
79    
80     #ifdef HAVE_STRUCT_UTMP
81     struct utmp ut;
82     #endif
83     #ifdef HAVE_STRUCT_UTMPX
84     struct utmpx utx;
85     #endif
86     #if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX)
87     char ut_id[5];
88     #endif
89    
90 root 1.8 bool get ();
91     void put ();
92    
93 root 1.6 void login (int cmd_pid, bool login_shell, const char *hostname);
94     void logout ();
95     #endif
96 root 1.1 };
97    
98     #endif
99