ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/ptytty.h
Revision: 1.15
Committed: Thu Jan 19 16:40:13 2006 UTC (18 years, 4 months ago) by ayin
Content type: text/plain
Branch: MAIN
CVS Tags: rel-7_1
Changes since 1.14: +2 -9 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(__CYGWIN__) || defined(PTYS_ARE_OPENPTY)
13 # define NO_SETOWNER_TTYDEV 1
14 #endif
15
16 #if UTMP_SUPPORT
17 # if !defined(RXVT_UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) || defined(__GLIBC__)
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 {
56 char *name;
57
58 public:
59
60 rxvt_ptytty_unix ();
61 ~rxvt_ptytty_unix ();
62
63 bool get ();
64 void put ();
65
66 #if UTMP_SUPPORT
67 int utmp_pos;
68 int cmd_pid;
69 bool login_shell;
70
71 #ifdef HAVE_STRUCT_UTMP
72 struct utmp ut;
73 #endif
74 #ifdef HAVE_STRUCT_UTMPX
75 struct utmpx utx;
76 #endif
77 #if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX)
78 char ut_id[5];
79 #endif
80
81 void login (int cmd_pid, bool login_shell, const char *hostname);
82 void logout ();
83 #endif
84 };
85
86 #endif
87