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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines