Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/tty.h')
-rw-r--r--winsup/cygwin/tty.h154
1 files changed, 0 insertions, 154 deletions
diff --git a/winsup/cygwin/tty.h b/winsup/cygwin/tty.h
deleted file mode 100644
index 612ed3038..000000000
--- a/winsup/cygwin/tty.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/* tty.h: shared tty info for cygwin
-
- Copyright 2000, 2001, 2002, 2003, 2004, 2006 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-/* tty tables */
-
-#define INP_BUFFER_SIZE 256
-#define OUT_BUFFER_SIZE 256
-#define NTTYS 128
-#define real_tty_attached(p) ((p)->ctty >= 0 && (p)->ctty != TTY_CONSOLE)
-
-/* Input/Output/ioctl events */
-
-#define OUTPUT_DONE_EVENT "cygtty.output.done"
-#define IOCTL_REQUEST_EVENT "cygtty.ioctl.request"
-#define IOCTL_DONE_EVENT "cygtty.ioctl.done"
-#define RESTART_OUTPUT_EVENT "cygtty.output.restart"
-#define INPUT_AVAILABLE_EVENT "cygtty.input.avail"
-#define OUTPUT_MUTEX "cygtty.output.mutex"
-#define INPUT_MUTEX "cygtty.input.mutex"
-#define TTY_SLAVE_ALIVE "cygtty.slave_alive"
-#define TTY_MASTER_ALIVE "cygtty.master_alive"
-
-#include <sys/termios.h>
-
-#ifndef MIN_CTRL_C_SLOP
-#define MIN_CTRL_C_SLOP 50
-#endif
-
-class tty_min
-{
- pid_t sid; /* Session ID of tty */
- struct status_flags
- {
- unsigned initialized : 1; /* Set if tty is initialized */
- unsigned rstcons : 1; /* Set if console needs to be set to "non-cooked" */
- } status;
-
-public:
- pid_t pgid;
- int output_stopped;
- int ntty;
- DWORD last_ctrl_c; /* tick count of last ctrl-c */
- HWND hwnd; /* Console window handle tty belongs to */
-
- IMPLEMENT_STATUS_FLAG (bool, initialized)
- IMPLEMENT_STATUS_FLAG (bool, rstcons)
-
- struct termios ti;
- struct winsize winsize;
-
- /* ioctl requests buffer */
- int cmd;
- union
- {
- struct termios termios;
- struct winsize winsize;
- int value;
- pid_t pid;
- } arg;
- /* XXX_retval variables holds master's completion codes. Error are stored as
- * -ERRNO
- */
- int ioctl_retval;
- int write_error;
-
- void setntty (int n) {ntty = n;}
- pid_t getpgid () {return pgid;}
- void setpgid (int pid) {pgid = pid;}
- int getsid () {return sid;}
- void setsid (pid_t tsid) {sid = tsid;}
- void kill_pgrp (int sig);
- HWND gethwnd () {return hwnd;}
- void sethwnd (HWND wnd) {hwnd = wnd;}
-};
-
-class fhandler_pty_master;
-
-class tty: public tty_min
-{
- HANDLE get_event (const char *fmt, BOOL manual_reset = FALSE)
- __attribute__ ((regparm (3)));
-public:
- pid_t master_pid; /* PID of tty master process */
-
- HANDLE from_master, to_master;
-
- int read_retval;
- bool was_opened; /* True if opened at least once. */
-
- void init ();
- HANDLE create_inuse (const char *);
- bool alive (const char *fmt);
- bool slave_alive ();
- bool master_alive ();
- HANDLE open_mutex (const char *mutex);
- HANDLE open_output_mutex ();
- HANDLE open_input_mutex ();
- bool exists ()
- {
- if (!master_pid)
- return false;
- HANDLE h = open_output_mutex ();
- if (h)
- {
- CloseHandle (h);
- return 1;
- }
- return slave_alive ();
- }
- void set_master_closed () {master_pid = -1;}
- static void __stdcall create_master (int);
- static void __stdcall init_session ();
- friend class fhandler_pty_master;
-};
-
-class tty_list
-{
- tty ttys[NTTYS];
- static HANDLE mutex;
-
-public:
- tty * operator [](int n) {return ttys + n;}
- int allocate (bool); /* true if allocate a tty, pty otherwise */
- int connect (int);
- void terminate ();
- void init ();
- tty_min *get_tty (int n);
- int __stdcall attach (int);
- static void __stdcall init_session ();
- friend class lock_ttys;
-};
-
-class lock_ttys
-{
- bool release_me;
-public:
- lock_ttys (DWORD = INFINITE);
- static void release ();
- void dont_release () {release_me = false;}
- ~lock_ttys ()
- {
- if (release_me)
- release ();
- }
-};
-
-extern "C" int ttyslot (void);