ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libptytty/src/ptytty.h
Revision: 1.13
Committed: Tue Jul 5 10:37:01 2011 UTC (12 years, 11 months ago) by sf-exg
Content type: text/plain
Branch: MAIN
Changes since 1.12: +0 -2 lines
Log Message:
Fix compilation on systems with bsd style utmp and no utmpx, such as
openbsd.

File Contents

# User Rev Content
1 root 1.7 // 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.5 #include "libptytty.h"
8 root 1.3 #include "ptytty_conf.h"
9 root 1.1
10 root 1.9 #if PTYTTY_REENTRANT
11     # define PTYTTY_NO_PID_CHECK 1
12     #endif
13    
14 root 1.2 #if defined(HAVE__GETPTY) || defined(HAVE_OPENPTY) || defined(UNIX98_PTY)
15 root 1.1 # define NO_SETOWNER_TTYDEV 1
16     #endif
17    
18 root 1.2 #if UTMP_SUPPORT
19 sf-exg 1.10 # if !defined(HAVE_STRUCT_UTMPX) || defined(__GLIBC__)
20 root 1.2 # undef HAVE_UTMPX_H
21     # undef HAVE_STRUCT_UTMPX
22     # endif
23 root 1.4 # if !defined(UTMP_FILE) || !defined(HAVE_STRUCT_UTMP)
24 root 1.2 # 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.1 #endif
46 root 1.2
47 root 1.4 struct ptytty_unix : ptytty
48 root 1.2 {
49     char *name;
50    
51 root 1.1 public:
52    
53 root 1.4 ptytty_unix ();
54     ~ptytty_unix ();
55 root 1.1
56     bool get ();
57     void put ();
58    
59 root 1.6 void login (int cmd_pid, bool login_shell, const char *hostname);
60    
61 root 1.2 #if UTMP_SUPPORT
62     int utmp_pos;
63     int cmd_pid;
64     bool login_shell;
65 root 1.1
66 root 1.2 #ifdef HAVE_STRUCT_UTMP
67     struct utmp ut;
68     #endif
69     #ifdef HAVE_STRUCT_UTMPX
70     struct utmpx utx;
71     #endif
72     char ut_id[5];
73    
74     void logout ();
75     #endif
76 root 1.1 };
77    
78     #endif
79