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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines