ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/ptytty.h
(Generate patch)

Comparing rxvt-unicode/src/ptytty.h (file contents):
Revision 1.5 by root, Wed Jan 4 02:01:38 2006 UTC vs.
Revision 1.15 by ayin, Thu Jan 19 16:40:13 2006 UTC

1#ifndef PTYTTY_H 1#ifndef PTYTTY_H
2#define PTYTTY_H 2#define PTYTTY_H
3 3
4#include "rxvt.h"
4#include "feature.h" 5#include "feature.h"
5 6
6#if defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT) 7#if defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT)
7# if defined(PTYS_ARE_GETPT) || defined(PTYS_ARE_PTMX) 8# if defined(PTYS_ARE_GETPT) || defined(PTYS_ARE_POSIX) || defined(PTYS_ARE_PTMX)
8# define NO_SETOWNER_TTYDEV 1 9# define NO_SETOWNER_TTYDEV 1
9# endif 10# endif
10#endif 11#endif
11#if defined(__CYGWIN32__) 12#if defined(__CYGWIN__) || defined(PTYS_ARE_OPENPTY)
12# define NO_SETOWNER_TTYDEV 1 13# define NO_SETOWNER_TTYDEV 1
13#endif 14#endif
14 15
15enum rxvt_privaction { IGNORE = 'i', SAVE = 's', RESTORE = 'r' }; 16#if UTMP_SUPPORT
17# if !defined(RXVT_UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) || defined(__GLIBC__)
18# undef HAVE_UTMPX_H
19# undef HAVE_STRUCT_UTMPX
20# endif
21# if !defined(RXVT_UTMP_FILE) || !defined(HAVE_STRUCT_UTMP)
22# undef HAVE_UTMP_H
23# undef HAVE_STRUCT_UTMP
24# endif
16 25
17struct rxvt_ptytty { 26# ifdef HAVE_UTMPX_H
18#ifndef RESET_TTY_TO_COMMON_DEFAULTS 27# include <utmpx.h>
19 struct stat savestat; /* original status of our tty */ 28# endif
29# ifdef HAVE_UTMP_H
30# include <utmp.h>
31# endif
32
33# if ! defined(HAVE_STRUCT_UTMPX) && ! defined(HAVE_STRUCT_UTMP)
34# error cannot build with utmp support - no utmp or utmpx struct found
35# endif
36
37# ifdef HAVE_LASTLOG_H
38# include <lastlog.h>
39# endif
40
41# include <pwd.h>
42
43# ifdef RXVT_UTMP_SYSV
44# ifndef USER_PROCESS
45# define USER_PROCESS 7
46# endif
47# ifndef DEAD_PROCESS
48# define DEAD_PROCESS 8
49# endif
50# endif
51
20#endif 52#endif
21#ifndef NO_SETOWNER_TTYDEV 53
22 void privileges (rxvt_privaction action); 54struct rxvt_ptytty_unix : rxvt_ptytty
23 bool saved; 55{
24#endif
25public:
26 int pty; // pty file descriptor; connected to rxvt
27 int tty; // tty file descriptor; connected to child
28 char *name; 56 char *name;
29 57
58public:
59
30 rxvt_ptytty (); 60 rxvt_ptytty_unix ();
31 ~rxvt_ptytty (); 61 ~rxvt_ptytty_unix ();
32 62
33 bool get (); 63 bool get ();
34 void put (); 64 void put ();
35 65
36 void close_tty (); 66#if UTMP_SUPPORT
67 int utmp_pos;
68 int cmd_pid;
69 bool login_shell;
37 70
38 bool make_controlling_tty (); 71#ifdef HAVE_STRUCT_UTMP
39 void set_utf8_mode (bool on); 72 struct utmp ut;
73#endif
74#ifdef HAVE_STRUCT_UTMPX
75 struct utmpx utx;
76#endif
77#if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX)
78 char ut_id[5];
79#endif
80
81 void login (int cmd_pid, bool login_shell, const char *hostname);
82 void logout ();
83#endif
40}; 84};
41 85
42#endif 86#endif
43 87

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines