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

# 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.8 struct rxvt_ptytty_unix : rxvt_ptytty {
55     char *name;
56    
57 root 1.1 #ifndef RESET_TTY_TO_COMMON_DEFAULTS
58     struct stat savestat; /* original status of our tty */
59     #endif
60 root 1.4 #ifndef NO_SETOWNER_TTYDEV
61 root 1.1 void privileges (rxvt_privaction action);
62 root 1.4 bool saved;
63     #endif
64 root 1.1 public:
65    
66 root 1.8 rxvt_ptytty_unix ();
67     ~rxvt_ptytty_unix ();
68 root 1.6
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 root 1.8 bool get ();
85     void put ();
86    
87 root 1.6 void login (int cmd_pid, bool login_shell, const char *hostname);
88     void logout ();
89     #endif
90 root 1.1 };
91    
92     #endif
93