ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libptytty/src/ptytty.h
Revision: 1.8
Committed: Sun Jan 22 03:49:41 2006 UTC (18 years, 4 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.7: +2 -0 lines
Log Message:
*** empty log message ***

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.2 #if defined(HAVE__GETPTY) || defined(HAVE_OPENPTY) || defined(UNIX98_PTY)
11 root 1.1 # define NO_SETOWNER_TTYDEV 1
12     #endif
13    
14 root 1.2 #if UTMP_SUPPORT
15 root 1.4 # if !defined(UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) || defined(__GLIBC__)
16 root 1.2 # undef HAVE_UTMPX_H
17     # undef HAVE_STRUCT_UTMPX
18     # endif
19 root 1.4 # if !defined(UTMP_FILE) || !defined(HAVE_STRUCT_UTMP)
20 root 1.2 # 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.4 # ifdef UTMP_SYSV
42 root 1.2 # ifndef USER_PROCESS
43     # define USER_PROCESS 7
44     # endif
45     # ifndef DEAD_PROCESS
46     # define DEAD_PROCESS 8
47     # endif
48     # endif
49 root 1.1
50     #endif
51 root 1.2
52 root 1.8 #define fatal(msg) do { write (2, msg, sizeof (msg) - 1); _exit (255); } while (0)
53    
54 root 1.4 struct ptytty_unix : ptytty
55 root 1.2 {
56     char *name;
57    
58 root 1.1 public:
59    
60 root 1.4 ptytty_unix ();
61     ~ptytty_unix ();
62 root 1.1
63     bool get ();
64     void put ();
65    
66 root 1.6 void login (int cmd_pid, bool login_shell, const char *hostname);
67    
68 root 1.2 #if UTMP_SUPPORT
69     int utmp_pos;
70     int cmd_pid;
71     bool login_shell;
72 root 1.1
73 root 1.2 #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