ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/ptytty.h
Revision: 1.12
Committed: Tue Jan 17 15:17:39 2006 UTC (18 years, 4 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.11: +1 -6 lines
Log Message:
logging.C

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     #if UTMP_SUPPORT
71     int utmp_pos;
72     int cmd_pid;
73     bool login_shell;
74    
75     #ifdef HAVE_STRUCT_UTMP
76     struct utmp ut;
77     #endif
78     #ifdef HAVE_STRUCT_UTMPX
79     struct utmpx utx;
80     #endif
81     #if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX)
82     char ut_id[5];
83     #endif
84    
85 root 1.8 bool get ();
86     void put ();
87    
88 root 1.6 void login (int cmd_pid, bool login_shell, const char *hostname);
89     void logout ();
90     #endif
91 root 1.1 };
92    
93     #endif
94