python (3.11.7)
    e                        d Z ddlZej        dk    r ed          ddlZddlZddlZddlZddlZddl	Z	ddl
Z
dZdZej
        Z
ej        Z ej                    Zdded	d
Z G d d          Z G d
 dej                  ZdS )z)Various Windows specific bits and pieces.    Nwin32z
win32 only)pipePopenPIPE
PipeHandlei    F)TT)duplex
overlappedbufsizec           
      R   t          j        d                    t          j                    t          t                                        }| r*t          j        }t          j	        t          j
        z  }||}}nt          j        }t          j
        }d|}}|t          j        z  }|d         r|t          j
        z  }|d         r
t          j
        }nd}dx}	}
	 t          j        ||t          j        d||t          j        t          j                  }	t          j        ||dt          j        t          j        |t          j                  }
t          j        |	d          }|                    d           |	|
fS #  |	t          j        |	           |
t          j        |
            xY w)zELike os.pipe() but with overlapped support and using handles not fds.z\\.\pipe\python-pipe-{:d}-{:d}-)prefixr      NTr	   )tempfilemktempformatosgetpidnext
_mmap_counter_winapiPIPE_ACCESS_DUPLEXGENERIC_READ
GENERIC_WRITEPIPE_ACCESS_INBOUNDFILE_FLAG_FIRST_PIPE_INSTANCEFILE_FLAG_OVERLAPPEDCreateNamedPipe	PIPE_WAITNMPWAIT_WAIT_FOREVERNULL
CreateFile
OPEN_EXISTINGConnectNamedPipeGetOverlappedResultCloseHandle)r   r	   r
   addressopenmodeaccessobsizeibsizeflags_and_attribsh1h2ovs               I/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/asyncio/windows_utils.pyr   r       s   o188IKKm,,. ./ / /G  $-%(== '.&G55H!} 1G00!} #8NB
$Xw0
vvw;W\K K 
VQg.Cw|- - 
%bT
:
:
:
t$$$2v
>###
>###
s
   BE7 7/F&c                   p    e Zd ZdZd Zd Zed             Zd Ze	j
        ddZej
        fdZd	 Zd
 ZdS )r   zWrapper for an overlapped pipe handle which is vaguely file-object like.
    The IOCP event loop can use these instead of socket objects.
    c                     || _         d S N_handleselfhandles     r/   __init__zPipeHandle.__init__V   s
        c                 P    | j         d| j         }nd}d| j        j         d| dS )Nzhandle=closed< >)r4   	__class____name__r5   s     r/   __repr__zPipeHandle.__repr__Y   s>