ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/ptytty.h
Revision: 1.20
Committed: Sun Jan 22 04:01:52 2006 UTC (18 years, 4 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: rel-7_2
Changes since 1.19: +2 -0 lines
Log Message:
*** empty log message ***

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