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.9 by root, Tue Jan 17 11:02:10 2006 UTC vs.
Revision 1.20 by root, Sun Jan 22 04:01:52 2006 UTC

1// This file is part of libptytty. Do not make local modifications.
2// http://software.schmorp.de/pkg/libptytty
3
1#ifndef PTYTTY_H 4#ifndef PTYTTY_H
2#define PTYTTY_H 5#define PTYTTY_H
3 6
4#include "feature.h" 7#include "libptytty.h"
8#include "ptytty_conf.h"
5 9
6#if defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT) 10#if defined(HAVE__GETPTY) || defined(HAVE_OPENPTY) || defined(UNIX98_PTY)
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 11# define NO_SETOWNER_TTYDEV 1
13#endif 12#endif
14 13
15#if UTMP_SUPPORT 14#if UTMP_SUPPORT
16# if !defined(RXVT_UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) 15# if !defined(UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) || defined(__GLIBC__)
17# undef HAVE_UTMPX_H 16# undef HAVE_UTMPX_H
18# undef HAVE_STRUCT_UTMPX 17# undef HAVE_STRUCT_UTMPX
19# endif 18# endif
20# if !defined(RXVT_UTMP_FILE) || !defined(HAVE_STRUCT_UTMP) 19# if !defined(UTMP_FILE) || !defined(HAVE_STRUCT_UTMP)
21# undef HAVE_UTMP_H 20# undef HAVE_UTMP_H
22# undef HAVE_STRUCT_UTMP 21# undef HAVE_STRUCT_UTMP
23# endif 22# endif
24 23
25# ifdef HAVE_UTMPX_H 24# ifdef HAVE_UTMPX_H
37# include <lastlog.h> 36# include <lastlog.h>
38# endif 37# endif
39 38
40# include <pwd.h> 39# include <pwd.h>
41 40
42# ifdef RXVT_UTMP_SYSV 41# ifdef UTMP_SYSV
43# ifndef USER_PROCESS 42# ifndef USER_PROCESS
44# define USER_PROCESS 7 43# define USER_PROCESS 7
45# endif 44# endif
46# ifndef DEAD_PROCESS 45# ifndef DEAD_PROCESS
47# define DEAD_PROCESS 8 46# define DEAD_PROCESS 8
48# endif 47# endif
49# endif 48# endif
50 49
51#endif 50#endif
52 51
53enum rxvt_privaction { IGNORE = 'i', SAVE = 's', RESTORE = 'r' }; 52#define fatal(msg) do { write (2, msg, sizeof (msg) - 1); _exit (255); } while (0)
54 53
55struct rxvt_ptytty {
56 int pty; // pty file descriptor; connected to rxvt
57 int tty; // tty file descriptor; connected to child
58
59 virtual ~rxvt_ptytty ()
60 {
61 //
62 }
63
64 virtual bool get () = 0;
65 virtual void put () = 0;
66
67 virtual void login (int cmd_pid, bool login_shell, const char *hostname) = 0;
68 virtual void logout () = 0;
69
70 void close_tty ();
71
72 bool make_controlling_tty ();
73 void set_utf8_mode (bool on);
74};
75
76struct rxvt_ptytty_unix : rxvt_ptytty { 54struct ptytty_unix : ptytty
55{
77 char *name; 56 char *name;
78 57
79#ifndef RESET_TTY_TO_COMMON_DEFAULTS
80 struct stat savestat; /* original status of our tty */
81#endif
82#ifndef NO_SETOWNER_TTYDEV
83 void privileges (rxvt_privaction action);
84 bool saved;
85#endif
86public: 58public:
87 59
88 rxvt_ptytty_unix (); 60 ptytty_unix ();
89 ~rxvt_ptytty_unix (); 61 ~ptytty_unix ();
62
63 bool get ();
64 void put ();
65
66 void login (int cmd_pid, bool login_shell, const char *hostname);
90 67
91#if UTMP_SUPPORT 68#if UTMP_SUPPORT
92 int utmp_pos; 69 int utmp_pos;
93 int cmd_pid; 70 int cmd_pid;
94 bool login_shell; 71 bool login_shell;
101#endif 78#endif
102#if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX) 79#if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX)
103 char ut_id[5]; 80 char ut_id[5];
104#endif 81#endif
105 82
106 bool get ();
107 void put ();
108
109 void login (int cmd_pid, bool login_shell, const char *hostname);
110 void logout (); 83 void logout ();
111#endif 84#endif
112}; 85};
113 86
114#endif 87#endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines