File: //opt/alt/python37/lib64/python3.7/site-packages/guppy/etc/__pycache__/xterm.cpython-37.opt-1.pyc
B
    �]=	  �               @   sR   d dl Z d dlZd dlZd\ZZZdd� Zdd� Zddd	�Zdd
d�Z	dd
� Z
dS )�    N)r   �   �   c           
   C   s�   ydd l } W n tk
r    Y nPX y| �tjdd�\}}W n, tk
rf } zt�|��W d d }~X Y nX ||fS x`dD ]X}xRdD ]J}d| | }yt�|tj�}W n tjk
r�   w�Y nX |d| | fS W qvW t�d��d S )Nr   i�  ZpqrstuvwxyzPQRSTZ0123456789abcdefz/dev/ptyz/dev/ttyzout of pty devices)	�sgi�ImportErrorZ_getpty�fcntl�O_RDWR�IOError�os�error�open)r   �tty_name�	master_fd�msg�x�yZpty_name�fd� r   �B/opt/alt/python37/lib64/python3.7/site-packages/guppy/etc/xterm.py�master_open   s$    
r   c             C   s   t �| tj�S )N)r	   r   r   r   )r   r   r   r   �
slave_open.   s    r   � c             C   s�   t � \}}t�� }|rxt|�}t�|t� t�|t� t�|t� |tkrTt�|� t�|� t	j
��  | d k	r�| �  n(t��  d||dd � |f }t�
|� |S )Nzxterm %s -S%s%d���)r   r	   �forkr   �dup2�STDIN_FILENO�
STDOUT_FILENO�
STDERR_FILENO�close�sys�stdin�readline�setsid�system)�prog�optionsr
   r   �pidZslave_fd�cmdr   r   r   �xterm2   s"