o
    à›h¡  ã                   @   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_COUNTERSZReadOperationCountZWriteOperationCountZOtherOperationCountZReadTransferCountZWriteTransferCountZOtherTransferCountN)Ú__name__Ú
__module__Ú__qualname__Ú	ULONGLONGÚ_fields_© r   r   úMc:\Users\shubh\Videos\agent\nova\Lib\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_INFORMATIONZPerProcessUserTimeLimitZPerJobUserTimeLimitZ
LimitFlagsZMinimumWorkingSetSizeZMaximumWorkingSetSizeZActiveProcessLimitZAffinityZPriorityClassZ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_INFORMATIONZBasicLimitInformationZIoInfoZProcessMemoryLimitZJobMemoryLimitZPeakProcessMemoryUsedZ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   )r!   r"   r   r    r   Ú	_errcheck?   s   r#   c                 C   ó   | dkS ©Nr   r   r   r   r   r   r   P   ó    c                 C   r$   r%   r   r   r   r   r   r   T   r&   ))r   Zctypes.wintypesr   r   r   r   r   r   Zdebugpy.commonr   Úc_intZJOBOBJECTCLASSÚPOINTERÚLPDWORDÚc_void_pÚLPVOIDÚc_size_tr   Úc_ulonglongr   Ú	Structurer	   r   r   Z!JobObjectExtendedLimitInformationZJOB_OBJECT_LIMIT_BREAKAWAY_OKZ"JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSEZPROCESS_TERMINATEZPROCESS_SET_QUOTAr#   ÚwindllÚkernel32ZAssignProcessToJobObjectÚerrcheckÚrestypeÚargtypesZCreateJobObjectAÚOpenProcessZQueryInformationJobObjectZSetInformationJobObjectZTerminateJobObjectr   r   r   r   Ú<module>   sR    


û

