ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/ptytty.h
Revision: 1.13
Committed: Tue Jan 17 16:50:42 2006 UTC (18 years, 4 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.12: +3 -3 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.12 struct rxvt_ptytty_unix : rxvt_ptytty
55 root 1.11 {
56 root 1.8 char *name;
57    
58 root 1.1 #ifndef RESET_TTY_TO_COMMON_DEFAULTS
59     struct stat savestat; /* original status of our tty */
60     #endif
61 root 1.4 #ifndef NO_SETOWNER_TTYDEV
62 root 1.1 void privileges (rxvt_privaction action);
63 root 1.4 bool saved;
64     #endif
65 root 1.1 public:
66    
67 root 1.8 rxvt_ptytty_unix ();
68     ~rxvt_ptytty_unix ();
69 root 1.6
70 root 1.13 bool get ();
71     void put ();
72    
73 root 1.6 #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 root 1.1 };
92    
93     #endif
94