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.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_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
15enum rxvt_privaction { IGNORE = 'i', SAVE = 's', RESTORE = 'r' }; 14#if UTMP_SUPPORT
15# if !defined(UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) || defined(__GLIBC__)
16# undef HAVE_UTMPX_H
17# undef HAVE_STRUCT_UTMPX
18# endif
19# if !defined(UTMP_FILE) || !defined(HAVE_STRUCT_UTMP)
20# undef HAVE_UTMP_H
21# undef HAVE_STRUCT_UTMP
22# endif
16 23
17struct rxvt_ptytty { 24# ifdef HAVE_UTMPX_H
18#ifndef RESET_TTY_TO_COMMON_DEFAULTS 25# include <utmpx.h>
19 struct stat savestat; /* original status of our tty */ 26# endif
27# ifdef HAVE_UTMP_H
28# include <utmp.h>
29# endif
30
31# if ! defined(HAVE_STRUCT_UTMPX) && ! defined(HAVE_STRUCT_UTMP)
32# error cannot build with utmp support - no utmp or utmpx struct found
33# endif
34
35# ifdef HAVE_LASTLOG_H
36# include <lastlog.h>
37# endif
38
39# include <pwd.h>
40
41# ifdef UTMP_SYSV
42# ifndef USER_PROCESS
43# define USER_PROCESS 7
44# endif
45# ifndef DEAD_PROCESS
46# define DEAD_PROCESS 8
47# endif
48# endif
49
20#endif 50#endif
21#ifndef NO_SETOWNER_TTYDEV 51
22 void privileges (rxvt_privaction action); 52#define fatal(msg) do { write (2, msg, sizeof (msg) - 1); _exit (255); } while (0)
23 bool saved; 53
24#endif 54struct ptytty_unix : ptytty
25public: 55{
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
30 rxvt_ptytty (); 58public:
31 ~rxvt_ptytty (); 59
60 ptytty_unix ();
61 ~ptytty_unix ();
32 62
33 bool get (); 63 bool get ();
34 void put (); 64 void put ();
35 65
36 void close_tty (); 66 void login (int cmd_pid, bool login_shell, const char *hostname);
37 67
38 bool make_controlling_tty (); 68#if UTMP_SUPPORT
39 void set_utf8_mode (bool on); 69 int utmp_pos;
70 int cmd_pid;
71 bool login_shell;
72
73#ifdef HAVE_STRUCT_UTMP
74 struct utmp ut;
75#endif
76#ifdef HAVE_STRUCT_UTMPX
77 struct utmpx utx;
78#endif
79#if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX)
80 char ut_id[5];
81#endif
82
83 void logout ();
84#endif
40}; 85};
41 86
42#endif 87#endif
43 88

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines