o
    ¹i9  ã                   @   sŒ  d dl Z d dlmZmZmZmZmZmZ d dlm	Z	 e j
Ze  e¡Ze jZe jZe jZG dd„ de jƒZG dd„ de jƒZG dd	„ d	e jƒZed
ƒZdZdZdZdZdd„ fdd„Ze jjZeƒ ej _!eej _"eefej _#edd„ ƒej$_!eej$_"eefej$_#edd„ ƒej%_!eej%_"eeefej%_#eƒ ej&_!eej&_"eeeeefej&_#eƒ ej'_!eej'_"eeeefej'_#eƒ ej(_!eej(_"eefej(_#dS )é    N)ÚBOOLÚDWORDÚHANDLEÚLARGE_INTEGERÚLPCSTRÚUINT)Úlogc                   @   s4   e Zd ZdefdefdefdefdefdefgZdS )ÚIO_COUNTERSÚReadOperationCountÚWriteOperationCountÚOtherOperationCountÚReadTransferCountÚWriteTransferCountÚOtherTransferCountN)Ú__name__Ú
__module__Ú__qualname__Ú	ULONGLONGÚ_fields_© r   r   úR/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/debugpy/launcher/winapi.pyr	      ó    úr	   c                
   @   sF   e Zd Zdefdefdefdefdefdefdefdefd	efg	Zd
S )Ú!JOBOBJECT_BASIC_LIMIT_INFORMATIONÚPerProcessUserTimeLimitÚPerJobUserTimeLimitÚ
LimitFlagsÚMinimumWorkingSetSizeÚMaximumWorkingSetSizeÚActiveProcessLimitÚAffinityÚPriorityClassÚSchedulingClassN)r   r   r   r   r   ÚSIZE_Tr   r   r   r   r   r      s    ÷r   c                   @   s4   e Zd ZdefdefdefdefdefdefgZdS )Ú$JOBOBJECT_EXTENDED_LIMIT_INFORMATIONÚBasicLimitInformationÚIoInfoÚProcessMemoryLimitÚJobMemoryLimitÚPeakProcessMemoryUsedÚPeakJobMemoryUsedN)r   r   r   r   r	   r"   r   r   r   r   r   r#   +   r   r#   é	   i   i    é   é   c                 C   s   |  S )Nr   ©Úresultr   r   r   Ú<lambda>?   s    r/   c                    s   ‡ fdd„}|S )Nc                    s$   ˆ | ƒrt  d|j| ¡ t ¡ ‚| S )Nz{0} returned {1})r   Údebugr   ÚctypesÚWinError)r.   ÚfuncÚargs©Úis_error_resultr   r   Úimpl@   s   z_errcheck.<locals>.implr   )r6   r7   r   r5   r   Ú	_errcheck?   s   r8   c                 C   ó   | dkS ©Nr   r   r-   r   r   r   r/   P   ó    c                 C   r9   r:   r   r-   r   r   r   r/   T   r;   ))r1   Úctypes.wintypesr   r   r   r   r   r   Údebugpy.commonr   Úc_intÚJOBOBJECTCLASSÚPOINTERÚLPDWORDÚc_void_pÚLPVOIDÚc_size_tr"   Úc_ulonglongr   Ú	Structurer	   r   r#   Ú!JobObjectExtendedLimitInformationÚJOB_OBJECT_LIMIT_BREAKAWAY_OKÚ"JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSEÚPROCESS_TERMINATEÚPROCESS_SET_QUOTAr8   ÚwindllÚkernel32ÚAssignProcessToJobObjectÚerrcheckÚrestypeÚargtypesÚCreateJobObjectAÚOpenProcessÚQueryInformationJobObjectÚSetInformationJobObjectÚTerminateJobObjectr   r   r   r   Ú<module>   sR    


û

