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.1 by root, Sun Aug 15 02:17:32 2004 UTC vs.
Revision 1.11 by root, Tue Jan 17 12:29:40 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 "rxvt.h"
5#include "feature.h"
5 6
6enum rxvt_privaction { IGNORE = 'i', SAVE = 's', RESTORE = 'r' }; 7#if defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT)
8# if defined(PTYS_ARE_GETPT) || defined(PTYS_ARE_POSIX) || defined(PTYS_ARE_PTMX)
9# define NO_SETOWNER_TTYDEV 1
10# endif
11#endif
12#if defined(__CYGWIN32__)
13# define NO_SETOWNER_TTYDEV 1
14#endif
7 15
8struct rxvt_ptytty { 16#if UTMP_SUPPORT
17# if !defined(RXVT_UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX)
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
25
26# ifdef HAVE_UTMPX_H
27# include <utmpx.h>
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
52#endif
53
54struct rxvt_ptytty_base : rxvt_ptytty
55{
56 virtual void put () = 0;
57};
58
59struct rxvt_ptytty_unix : rxvt_ptytty_base
60{
61 char *name;
62
9#ifndef RESET_TTY_TO_COMMON_DEFAULTS 63#ifndef RESET_TTY_TO_COMMON_DEFAULTS
10 struct stat savestat; /* original status of our tty */ 64 struct stat savestat; /* original status of our tty */
11#endif 65#endif
66#ifndef NO_SETOWNER_TTYDEV
12 void privileges (rxvt_privaction action); 67 void privileges (rxvt_privaction action);
68 bool saved;
69#endif
13public: 70public:
14 int pty; // pty file descriptor; connected to rxvt
15 int tty; // tty file descriptor; connected to child
16 char *name;
17 71
18 rxvt_ptytty (); 72 rxvt_ptytty_unix ();
19 ~rxvt_ptytty (); 73 ~rxvt_ptytty_unix ();
74
75#if UTMP_SUPPORT
76 int utmp_pos;
77 int cmd_pid;
78 bool login_shell;
79
80#ifdef HAVE_STRUCT_UTMP
81 struct utmp ut;
82#endif
83#ifdef HAVE_STRUCT_UTMPX
84 struct utmpx utx;
85#endif
86#if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX)
87 char ut_id[5];
88#endif
20 89
21 bool get (); 90 bool get ();
22 void put (); 91 void put ();
23 92
24 bool make_controlling_tty (); 93 void login (int cmd_pid, bool login_shell, const char *hostname);
94 void logout ();
95#endif
25}; 96};
26 97
27#endif 98#endif
28 99

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines