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

# Content
1 // This file is part of libptytty. Do not make local modifications.
2 // http://software.schmorp.de/pkg/libptytty
3
4 #ifndef PTYTTY_H
5 #define PTYTTY_H
6
7 #include "libptytty.h"
8 #include "ptytty_conf.h"
9
10 #if defined(HAVE__GETPTY) || defined(HAVE_OPENPTY) || defined(UNIX98_PTY)
11 # define NO_SETOWNER_TTYDEV 1
12 #endif
13
14 #if UTMP_SUPPORT
15 # if !defined(UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) || defined(__GLIBC__)
16 # undef HAVE_UTMPX_H
17 # undef HAVE_STRUCT_UTMPX
18 # endif
19 # if !defined(UTMP_FILE) || !defined(HAVE_STRUCT_UTMP)
20 # 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 # ifdef UTMP_SYSV
42 # 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 #define fatal(msg) do { write (2, msg, sizeof (msg) - 1); _exit (255); } while (0)
53
54 struct ptytty_unix : ptytty
55 {
56 char *name;
57
58 public:
59
60 ptytty_unix ();
61 ~ptytty_unix ();
62
63 bool get ();
64 void put ();
65
66 void login (int cmd_pid, bool login_shell, const char *hostname);
67
68 #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 };
86
87 #endif
88