Your IP : 3.15.181.250


Current Path : /opt/alt/python313/lib64/python3.13/__pycache__/
Upload File :
Current File : //opt/alt/python313/lib64/python3.13/__pycache__/pty.cpython-313.pyc

�

*}g����SrSSKJr SSKrSSKrSSKrSSKJrJr SSKJrJrJ	r	 /SQr
SrSrSr
SrS	rS
rSrSrS
rSr\\4Sjr\\4Sjrg)zPseudo terminal utilities.�)�selectN)�close�waitpid)�setraw�	tcgetattr�	tcsetattr)�openpty�fork�spawn��c��[R"5$![[4a Of=f[	5up[U5nX4$)z`openpty() -> (master_fd, slave_fd)
Open a pty master/slave pair, using os.openpty() if possible.)�osr	�AttributeError�OSError�_open_terminal�
slave_open)�	master_fd�
slave_name�slave_fds   �*/opt/alt/python313/lib64/python3.13/pty.pyr	r	sH��
��z�z�|����G�$�
��
��*�,��I��*�%�H���s��*�*c��SSKnURS[SS9 [R"5up[R
"U5n[R"U5 X4$![[4a [5$f=f)z�master_open() -> (master_fd, slave_name)
Open a pty master and return the fd, and the filename of the slave end.
Deprecated, use openpty() instead.rN�Use pty.openpty() instead.r
��
stacklevel)
�warnings�warn�DeprecationWarningrr	�ttynamerrrr)rrrrs    r�master_openr &sw��
��M�M�.�0B�q�M�Q�%� �j�j�l��	��Z�Z��)�
�
������$�$��
�G�$�
�����
�s�A!�!A=�<A=c���SHFnSH=nSU-U-n[R"U[R5nUSU-U-4s s $ MH [S5e![a M]f=f)z1Open pty master and return (master_fd, tty_name).�pqrstuvwxyzPQRST�0123456789abcdefz/dev/ptyz/dev/ttyzout of pty devices)r�open�O_RDWRr)�x�y�pty_name�fds    rrr9su��
��#�A�!�A�~��)�H�
��W�W�X�r�y�y�1���
�Q���*�+�+�
$� ��&�
'�'���
��
�s�%A�
A&�%A&c��SSKnURS[SS9 [R"U[R
5nSSKJnJn U"X$S5 U"X$S5 U$![a Us$f=f![a U$f=f)	z�slave_open(tty_name) -> slave_fd
Open the pty slave and acquire the controlling terminal, returning
opened filedescriptor.
Deprecated, use openpty() instead.rNrr
r)�ioctl�I_PUSH�ptem�ldterm)rrrrr$r%�fcntlr+r,�ImportErrorr)�tty_namer�resultr+r,s     rrrEs�����M�M�.�0B�q�M�Q�
�W�W�X�r�y�y�
)�F��'�
�
�f�f�%�
�f�h�'��M�����
���
�
���M�
�s$�A�	A/�A,�+A,�/
A=�<A=c��[R"5upU[:Xa[R"5 X4$X4$![a X4$f=f![
[4a Of=f[
5up#[R"5nU[:Xa/[R"U5 [R"U5 X4$[R"U5 X4$)z`fork() -> (pid, master_fd)
Fork and make the child a session leader with a controlling terminal.)
r�forkpty�CHILD�setsidrrr	r
r�	login_tty)�pidr)rrs    rr
r
Zs�����*�*�,����%�<�
��	�	���w��s�w����
���w��
��

�G�$�
��
��"�)��I�
�'�'�)�C�
�e�|�
�����
���X��
�>��	������>�s �A�?�
A�
A�A$�#A$c�0�[R"US5$)zDefault read function.i)r�read)r)s r�_readr;vs��
�7�7�2�t���c���[R"U5(a:[R"US5 [XUS9 [R"US5 gSnU[:gnU[
:gnSnSn/n/n	U(a$[
U5U:aUR[5 U(a [
U5U:aURU5 U(a$[
U5S:�aU	R[
5 [
U5S:�aU	RU5 [X�/5up�n
[
U	;a [R"[
U5nX{SnX;aU"U5nU(dgX|-
nX	;a[R"X5nXkSnU(a$[U;aU"[5nU(dSnOXl-
nGMA![R"US5 f=f![a SnN�f=f![a SnN�f=f)z�Parent copy loop.
Copies
        pty master -> standard output   (master_read)
        standard input -> pty master    (stdin_read)F)�master_read�
stdin_readTNir<r)r�get_blocking�set_blocking�_copy�STDIN_FILENO�
STDOUT_FILENO�len�appendr�writer)
rr>r?�high_waterlevel�stdin_avail�stdout_avail�i_buf�o_buf�rfds�wfds�_xfds�n�datas
             rrBrBzs���

���y�!�!�	���	�5�)�	-��)��L�
�O�O�I�t�,���O��|�+�K��
�-�L��E��E�
������3�u�:��7��K�K��%��C��J��8��K�K�	�"��C��J��N��K�K�
�&��u�:��>��K�K�	�"�"�4�r�2���E��D� �
%��H�H�]�E�2���b�	����
�"�9�-�����M�E�������*�A��"�I�E��<�4�/��l�+�D��#���
��U��
�O�O�I�t�,��2�
%�$��
%���
���
�s/�
F0�*G�G�0G	�G�G�G-�,G-c�,�[U[5(aU4n[R"SU5 [	5up4U[
:Xa[R"US/UQ76 [[5n[[5 Sn[XAU5 U(a[[[RW5 [!U5 [#US5S$![Ra SnNef=f!U(a [[[RW5 ff=f)zCreate a spawned process.z	pty.spawnrTFr)�
isinstance�str�sys�auditr
r5r�execlprrCr�tty�errorrBr�	TCSAFLUSHrr)�argvr>r?r8r�mode�restores       rrr�s����$�����w���I�I�k�4� ��V�N�C�
�e�|�
�	�	�$�q�'�!�D�!����&���|����9�
�i�j�1���l�C�M�M�4�8�	�)���3��?�1�����9�9��������l�C�M�M�4�8��s�! C�C*�C'�&C'�*)D)�__doc__rrrUrXrrrrr�__all__rCrD�
STDERR_FILENOr5r	r rrr
r;rBr�r<r�<module>rbsq�� ��	�
�
��,�,�
&�����
��
�	��
��&
(��*�8�"'�5�?�B"�e�r<

?>