]> git.proxmox.com Git - mirror_edk2.git/blobdiff - AppPkg/Applications/Python/Python-2.7.2/Lib/pty.py
edk2: Remove AppPkg, StdLib, StdLibPrivateInternalFiles
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / pty.py
diff --git a/AppPkg/Applications/Python/Python-2.7.2/Lib/pty.py b/AppPkg/Applications/Python/Python-2.7.2/Lib/pty.py
deleted file mode 100644 (file)
index f3c4dcd..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-"""Pseudo terminal utilities."""\r
-\r
-# Bugs: No signal handling.  Doesn't set slave termios and window size.\r
-#       Only tested on Linux.\r
-# See:  W. Richard Stevens. 1992.  Advanced Programming in the\r
-#       UNIX Environment.  Chapter 19.\r
-# Author: Steen Lumholt -- with additions by Guido.\r
-\r
-from select import select\r
-import os\r
-import tty\r
-\r
-__all__ = ["openpty","fork","spawn"]\r
-\r
-STDIN_FILENO = 0\r
-STDOUT_FILENO = 1\r
-STDERR_FILENO = 2\r
-\r
-CHILD = 0\r
-\r
-def openpty():\r
-    """openpty() -> (master_fd, slave_fd)\r
-    Open a pty master/slave pair, using os.openpty() if possible."""\r
-\r
-    try:\r
-        return os.openpty()\r
-    except (AttributeError, OSError):\r
-        pass\r
-    master_fd, slave_name = _open_terminal()\r
-    slave_fd = slave_open(slave_name)\r
-    return master_fd, slave_fd\r
-\r
-def master_open():\r
-    """master_open() -> (master_fd, slave_name)\r
-    Open a pty master and return the fd, and the filename of the slave end.\r
-    Deprecated, use openpty() instead."""\r
-\r
-    try:\r
-        master_fd, slave_fd = os.openpty()\r
-    except (AttributeError, OSError):\r
-        pass\r
-    else:\r
-        slave_name = os.ttyname(slave_fd)\r
-        os.close(slave_fd)\r
-        return master_fd, slave_name\r
-\r
-    return _open_terminal()\r
-\r
-def _open_terminal():\r
-    """Open pty master and return (master_fd, tty_name).\r
-    SGI and generic BSD version, for when openpty() fails."""\r
-    try:\r
-        import sgi\r
-    except ImportError:\r
-        pass\r
-    else:\r
-        try:\r
-            tty_name, master_fd = sgi._getpty(os.O_RDWR, 0666, 0)\r
-        except IOError, msg:\r
-            raise os.error, msg\r
-        return master_fd, tty_name\r
-    for x in 'pqrstuvwxyzPQRST':\r
-        for y in '0123456789abcdef':\r
-            pty_name = '/dev/pty' + x + y\r
-            try:\r
-                fd = os.open(pty_name, os.O_RDWR)\r
-            except os.error:\r
-                continue\r
-            return (fd, '/dev/tty' + x + y)\r
-    raise os.error, 'out of pty devices'\r
-\r
-def slave_open(tty_name):\r
-    """slave_open(tty_name) -> slave_fd\r
-    Open the pty slave and acquire the controlling terminal, returning\r
-    opened filedescriptor.\r
-    Deprecated, use openpty() instead."""\r
-\r
-    result = os.open(tty_name, os.O_RDWR)\r
-    try:\r
-        from fcntl import ioctl, I_PUSH\r
-    except ImportError:\r
-        return result\r
-    try:\r
-        ioctl(result, I_PUSH, "ptem")\r
-        ioctl(result, I_PUSH, "ldterm")\r
-    except IOError:\r
-        pass\r
-    return result\r
-\r
-def fork():\r
-    """fork() -> (pid, master_fd)\r
-    Fork and make the child a session leader with a controlling terminal."""\r
-\r
-    try:\r
-        pid, fd = os.forkpty()\r
-    except (AttributeError, OSError):\r
-        pass\r
-    else:\r
-        if pid == CHILD:\r
-            try:\r
-                os.setsid()\r
-            except OSError:\r
-                # os.forkpty() already set us session leader\r
-                pass\r
-        return pid, fd\r
-\r
-    master_fd, slave_fd = openpty()\r
-    pid = os.fork()\r
-    if pid == CHILD:\r
-        # Establish a new session.\r
-        os.setsid()\r
-        os.close(master_fd)\r
-\r
-        # Slave becomes stdin/stdout/stderr of child.\r
-        os.dup2(slave_fd, STDIN_FILENO)\r
-        os.dup2(slave_fd, STDOUT_FILENO)\r
-        os.dup2(slave_fd, STDERR_FILENO)\r
-        if (slave_fd > STDERR_FILENO):\r
-            os.close (slave_fd)\r
-\r
-        # Explicitly open the tty to make it become a controlling tty.\r
-        tmp_fd = os.open(os.ttyname(STDOUT_FILENO), os.O_RDWR)\r
-        os.close(tmp_fd)\r
-    else:\r
-        os.close(slave_fd)\r
-\r
-    # Parent and child process.\r
-    return pid, master_fd\r
-\r
-def _writen(fd, data):\r
-    """Write all the data to a descriptor."""\r
-    while data != '':\r
-        n = os.write(fd, data)\r
-        data = data[n:]\r
-\r
-def _read(fd):\r
-    """Default read function."""\r
-    return os.read(fd, 1024)\r
-\r
-def _copy(master_fd, master_read=_read, stdin_read=_read):\r
-    """Parent copy loop.\r
-    Copies\r
-            pty master -> standard output   (master_read)\r
-            standard input -> pty master    (stdin_read)"""\r
-    while 1:\r
-        rfds, wfds, xfds = select(\r
-                [master_fd, STDIN_FILENO], [], [])\r
-        if master_fd in rfds:\r
-            data = master_read(master_fd)\r
-            os.write(STDOUT_FILENO, data)\r
-        if STDIN_FILENO in rfds:\r
-            data = stdin_read(STDIN_FILENO)\r
-            _writen(master_fd, data)\r
-\r
-def spawn(argv, master_read=_read, stdin_read=_read):\r
-    """Create a spawned process."""\r
-    if type(argv) == type(''):\r
-        argv = (argv,)\r
-    pid, master_fd = fork()\r
-    if pid == CHILD:\r
-        os.execlp(argv[0], *argv)\r
-    try:\r
-        mode = tty.tcgetattr(STDIN_FILENO)\r
-        tty.setraw(STDIN_FILENO)\r
-        restore = 1\r
-    except tty.error:    # This is the same as termios.error\r
-        restore = 0\r
-    try:\r
-        _copy(master_fd, master_read, stdin_read)\r
-    except (IOError, OSError):\r
-        if restore:\r
-            tty.tcsetattr(STDIN_FILENO, tty.TCSAFLUSH, mode)\r
-\r
-    os.close(master_fd)\r