--- rxvt-unicode/src/ptytty.h 2006/01/17 10:14:26 1.6 +++ rxvt-unicode/src/ptytty.h 2006/01/22 01:00:46 1.19 @@ -1,23 +1,22 @@ +// This file is part of libptytty. Do not make local modifications. +// http://software.schmorp.de/pkg/libptytty + #ifndef PTYTTY_H #define PTYTTY_H -#include "feature.h" +#include "libptytty.h" +#include "ptytty_conf.h" -#if defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT) -# if defined(PTYS_ARE_GETPT) || defined(PTYS_ARE_PTMX) -# define NO_SETOWNER_TTYDEV 1 -# endif -#endif -#if defined(__CYGWIN32__) +#if defined(HAVE__GETPTY) || defined(HAVE_OPENPTY) || defined(UNIX98_PTY) # define NO_SETOWNER_TTYDEV 1 #endif #if UTMP_SUPPORT -# if !defined(RXVT_UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) +# if !defined(UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) || defined(__GLIBC__) # undef HAVE_UTMPX_H # undef HAVE_STRUCT_UTMPX # endif -# if !defined(RXVT_UTMP_FILE) || !defined(HAVE_STRUCT_UTMP) +# if !defined(UTMP_FILE) || !defined(HAVE_STRUCT_UTMP) # undef HAVE_UTMP_H # undef HAVE_STRUCT_UTMP # endif @@ -39,7 +38,7 @@ # include -# ifdef RXVT_UTMP_SYSV +# ifdef UTMP_SYSV # ifndef USER_PROCESS # define USER_PROCESS 7 # endif @@ -48,38 +47,21 @@ # endif # endif -# ifdef __QNX__ -# include -# define ut_name ut_user -# endif - #endif -enum rxvt_privaction { IGNORE = 'i', SAVE = 's', RESTORE = 'r' }; +struct ptytty_unix : ptytty +{ + char *name; -struct rxvt_ptytty { -#ifndef RESET_TTY_TO_COMMON_DEFAULTS - struct stat savestat; /* original status of our tty */ -#endif -#ifndef NO_SETOWNER_TTYDEV - void privileges (rxvt_privaction action); - bool saved; -#endif public: - int pty; // pty file descriptor; connected to rxvt - int tty; // tty file descriptor; connected to child - char *name; - rxvt_ptytty (); - ~rxvt_ptytty (); + ptytty_unix (); + ~ptytty_unix (); bool get (); void put (); - void close_tty (); - - bool make_controlling_tty (); - void set_utf8_mode (bool on); + void login (int cmd_pid, bool login_shell, const char *hostname); #if UTMP_SUPPORT int utmp_pos; @@ -96,7 +78,6 @@ char ut_id[5]; #endif - void login (int cmd_pid, bool login_shell, const char *hostname); void logout (); #endif };