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.19 by root, Sun Jan 22 01:00:46 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__) || defined(PTYS_ARE_OPENPTY)
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); 52struct ptytty_unix : ptytty
23 bool saved; 53{
24#endif
25public:
26 int pty; // pty file descriptor; connected to rxvt
27 int tty; // tty file descriptor; connected to child
28 char *name; 54 char *name;
29 55
30 rxvt_ptytty (); 56public:
31 ~rxvt_ptytty (); 57
58 ptytty_unix ();
59 ~ptytty_unix ();
32 60
33 bool get (); 61 bool get ();
34 void put (); 62 void put ();
35 63
36 void close_tty (); 64 void login (int cmd_pid, bool login_shell, const char *hostname);
37 65
38 bool make_controlling_tty (); 66#if UTMP_SUPPORT
39 void set_utf8_mode (bool on); 67 int utmp_pos;
68 int cmd_pid;
69 bool login_shell;
70
71#ifdef HAVE_STRUCT_UTMP
72 struct utmp ut;
73#endif
74#ifdef HAVE_STRUCT_UTMPX
75 struct utmpx utx;
76#endif
77#if (defined(HAVE_STRUCT_UTMP) && defined(HAVE_UTMP_PID)) || defined(HAVE_STRUCT_UTMPX)
78 char ut_id[5];
79#endif
80
81 void logout ();
82#endif
40}; 83};
41 84
42#endif 85#endif
43 86

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines