ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/ptytty.h
Revision: 1.22
Committed: Wed Jul 21 08:47:15 2010 UTC (13 years, 10 months ago) by sf-exg
Content type: text/plain
Branch: MAIN
CVS Tags: rel-9_11, rel-9_10, rel-9_09
Changes since 1.21: +1 -1 lines
Log Message:
libptytty sync

File Contents

# User Rev Content
1 root 1.19 // This file is part of libptytty. Do not make local modifications.
2     // http://software.schmorp.de/pkg/libptytty
3    
4 root 1.1 #ifndef PTYTTY_H
5     #define PTYTTY_H
6    
7 root 1.18 #include "libptytty.h"
8     #include "ptytty_conf.h"
9 root 1.4
10 root 1.21 #if PTYTTY_REENTRANT
11     # define PTYTTY_NO_PID_CHECK 1
12     #endif
13    
14 ayin 1.16 #if defined(HAVE__GETPTY) || defined(HAVE_OPENPTY) || defined(UNIX98_PTY)
15 root 1.4 # define NO_SETOWNER_TTYDEV 1
16     #endif
17 root 1.1
18 root 1.6 #if UTMP_SUPPORT
19 sf-exg 1.22 # if !defined(HAVE_STRUCT_UTMPX) || defined(__GLIBC__)
20 root 1.6 # undef HAVE_UTMPX_H
21     # undef HAVE_STRUCT_UTMPX
22     # endif
23 root 1.18 # if !defined(UTMP_FILE) || !defined(HAVE_STRUCT_UTMP)
24 root 1.6 # undef HAVE_UTMP_H
25     # undef HAVE_STRUCT_UTMP
26     # endif
27    
28     # ifdef HAVE_UTMPX_H
29     # include <utmpx.h>
30     # endif
31     # ifdef HAVE_UTMP_H
32     # include <utmp.h>
33     # endif
34    
35     # if ! defined(HAVE_STRUCT_UTMPX) && ! defined(HAVE_STRUCT_UTMP)
36     # error cannot build with utmp support - no utmp or utmpx struct found
37     # endif
38    
39     # ifdef HAVE_LASTLOG_H
40     # include <lastlog.h>
41     # endif
42    
43     # include <pwd.h>
44    
45 root 1.18 # ifdef UTMP_SYSV
46 root 1.6 # ifndef USER_PROCESS
47     # define USER_PROCESS 7
48     # endif
49     # ifndef DEAD_PROCESS
50     # define DEAD_PROCESS 8
51     # endif
52     # endif
53    
54     #endif
55    
56 root 1.20 #define fatal(msg) do { write (2, msg, sizeof (msg) - 1); _exit (255); } while (0)
57    
58 root 1.18 struct ptytty_unix : ptytty
59 root 1.11 {
60 root 1.8 char *name;
61    
62 root 1.1 public:
63    
64 root 1.18 ptytty_unix ();
65     ~ptytty_unix ();
66 root 1.6
67 root 1.13 bool get ();
68     void put ();
69    
70 root 1.17 void login (int cmd_pid, bool login_shell, const char *hostname);
71    
72 root 1.6 #if UTMP_SUPPORT
73     int utmp_pos;
74     int cmd_pid;
75     bool login_shell;
76    
77     #ifdef HAVE_STRUCT_UTMP
78     struct utmp ut;
79     #endif
80     #ifdef HAVE_STRUCT_UTMPX
81     struct utmpx utx;
82     #endif
83     #if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX)
84     char ut_id[5];
85     #endif
86    
87     void logout ();
88     #endif
89 root 1.1 };
90    
91     #endif
92