Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/site-packages/psutil/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/site-packages/psutil/__pycache__/_pswindows.cpython-35.pyc



Cs[,��;@s�dZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
yddl	mZWn�e
k
rZzlee�j�jd�r�ej�ddkr�d	Zed
7Zed7Zed7Zee��n�WYddZ[XnXdd
l
mZddl
mZddl
mZddl
mZddl
mZddl
mZddl
mZddl
mZddl
mZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddl$m%Z%ddl$m&Z&ddl$m'Z'ddlm(Z(ddlm)Z)dd lm*Z*dd!lm+Z+dd"lm,Z,dd#lm-Z-ej.d�kr�ddl/Z/ndZ/d&d'd(d)d*d+d,d-d.d/g
Z0d0Z1e2ej3ej4ej5g�Z6e2ej7ej8g�Z9e/dkrd�Z:n!e/j;d1d/d�i�Z<e<j:Z:ej=e
j>ej?e
j@ejAe
jBejCe
jDejEe
jFejGe
jHejIe
jJejKe
jLejMe
jNejOe
jPejQe
jRejSe1ejTe
jUi
ZVe/dk	rGd2d3�d3e/j;�ZWeX�jYeWjZ�e[d4dd5dd6d7d8d$d9d%d:d;d<dd=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZ�Z\ed[d\d]d^d_d`g�Z]edadbdcdddedfg�Z^edgdhdidGdIdKdMdOdjdkdUdWdlg�Z_edme_j`d��Zaedodpdhg�Zbedqdrdsjcebj`��Zdedtdudvdwdxdydzg�Zee d{d|�d}d~��Zfdd��Zgd�d��Zhd�d��ZiejjZjd�d��Zkd�d��Zld�d��Zmd�d��Znd�d��Zod�d��Zpd�d��Zqd�d��Zrd�d�d��Zsd�d��Ztd�d��Zud�d��Zvd�d��Zwdaxd�d��Zyd�d��Zzd�d&�Z{d�d'�Z|Gd�d��d�e}�Z~ejZej�Z�ej�Z�d�d��Z�Gd�d��d�e}�Z�dS)�z Windows platform implementation.�N)�
namedtuple�)�_common)�_psutil_windowszdll load failed�z3this Windows version is too old (< Windows Vista); z:psutil 3.4.2 is the latest version which supports Windows z92000, XP and 2003 server; it may be possible that psutil z)will work if compiled from sources though)�	conn_tmap)�ENCODING)�
ENCODING_ERRS)�
isfile_strict)�memoize_when_activated)�parse_environ_block)�sockfam_to_enum)�socktype_to_enum)�
usage_percent)�long)�	lru_cache)�PY3)�unicode)�xrange)�AccessDenied)�
NoSuchProcess)�TimeoutExpired)�ABOVE_NORMAL_PRIORITY_CLASS)�BELOW_NORMAL_PRIORITY_CLASS)�HIGH_PRIORITY_CLASS)�IDLE_PRIORITY_CLASS)�NORMAL_PRIORITY_CLASS)�REALTIME_PRIORITY_CLASS���win_service_iter�win_service_getrrrrrr�CONN_DELETE_TCB�AF_LINKZ
DELETE_TCB�
AddressFamilyc@s4eZdZeZeZeZeZeZeZdS)�PriorityN)	�__name__�
__module__�__qualname__rrrrrr�r)r)�D/opt/alt/python35/lib64/python3.5/site-packages/psutil/_pswindows.pyr%osr%�num_handles�ctx_switches�	user_time��kernel_time�create_time�num_threads��	io_rcount�	io_wcount��	io_rbytes��	io_wbytes�	�io_count_others�
�io_bytes_others��num_page_faults��	peak_wset�
�wset��peak_paged_pool��
paged_pool��peak_non_paged_pool��non_paged_pool��pagefile��
peak_pagefile��mem_private��	scputimes�user�system�idle�	interrupt�dpc�svmem�total�	available�percent�used�free�pmem�rss�vmsZpeak_nonpaged_poolZ
nonpaged_poolZprivate�pfullmem�uss�
pmmap_grouped�path�	pmmap_extzaddr perms � �pio�
read_count�write_count�
read_bytes�write_bytes�other_countZother_bytes�maxsizeicCsTdj|jd�dd��}tj|�}tjj||t|�d��S)z�Convert paths using native DOS format like:
        "\Device\HarddiskVolume1\Windows\systemew\file.txt"
    into:
        "C:\Windows\systemew\file.txt"
    �\Nr)�join�split�cextZwin32_QueryDosDevice�osrd�len)�sZrawdriveZdriveletterr)r)r*�convert_dos_path�s"rucCs1tr
|St|t�r|S|jtt�SdS)zmEncode a unicode string to a byte string by using the default fs
    encoding + "replace" error handler.
    N)r�
isinstance�str�encoderr	)rtr)r)r*�
py2_strencode�s
rycCsotj�}|\}}}}}}|}|}|}	||}
t|||dd�}t||||
|	�S)z&System virtual memory as a namedtuple.�round_r)rq�virtual_memrrX)�memZtotphysZ	availphysZtotpagefZ
availpagefZtotvirtZfreevirtrYZavailr]r\r[r)r)r*�virtual_memory�s
r}cCs[tj�}|d}|d}||}t||dd�}tj||||dd�S)z=Swap system memory as a (total, used, free, sin, sout) tuple.r.rrzrr)rqr{rr�sswap)r|rYr]r\r[r)r)r*�swap_memory�s


rcCsttr*t|t�r*|jtdd�}tj|�\}}||}t||dd�}tj	||||�S)z'Return disk usage associated with path.�errors�strictrzr)
rrv�bytes�decoderrq�
disk_usagerr�
sdiskusage)rdrYr]r\r[r)r)r*r��s
r�cCs tj|�}dd�|D�S)zReturn disk partitions.cSsg|]}tj|��qSr))r�	sdiskpart)�.0�xr)r)r*�
<listcomp>s	z#disk_partitions.<locals>.<listcomp>)rq�disk_partitions)�all�rawlistr)r)r*r��sr�cCsVtj�\}}}tdd�ttj��D��}t||||j|j�S)z)Return system CPU times as a named tuple.cSsg|]}t|��qSr))�sum)r��nr)r)r*r�s	zcpu_times.<locals>.<listcomp>)rq�	cpu_timesrR�zip�
per_cpu_timesrVrW)rSrTrUZ
percpu_summedr)r)r*r�	s%r�cCsUg}xHtj�D]:\}}}}}t|||||�}|j|�qW|S)z6Return system per-CPU times as a list of named tuples.)rqr�rR�append)�retrSrTrUrVrW�itemr)r)r*r�s
"r�cCs
tj�S)z0Return the number of logical CPUs in the system.)rq�cpu_count_logicalr)r)r)r*r�sr�cCs
tj�S)z6Return the number of physical CPU cores in the system.)rqZcpu_count_physr)r)r)r*�cpu_count_physical"sr�cCs4tj�\}}}}d}tj||||�S)zReturn CPU statistics.r)rq�	cpu_statsr�	scpustats)r,�
interruptsZdpcs�syscalls�soft_interruptsr)r)r*r�'sr�cCs:tj�\}}d}tjt|�|t|��gS)zMReturn CPU frequency.
    On Windows per-cpu frequency is not supported.
    g)rq�cpu_freqr�scpufreq�float)�currZmax_Zmin_r)r)r*r�/sr�c	CsC|tkr8td|djdd�tD��f��t|\}}tj|||�}t�}x�|D]�}|\}}}	}
}}}
|
r�tj|
�}
|r�tj|�}t|}t	|�}t
|	�}	|dkr
tj|||	|
|||
�}ntj|||	|
||�}|j
|�qmWt|�S)z�Return socket connections.  If pid == -1 return system-wide
    connections (as opposed to connections opened by one process only).
    z+invalid %r kind argument; choose between %sz, cSsg|]}t|��qSr))�repr)r�r�r)r)r*r�Cs	z#net_connections.<locals>.<listcomp>r���)r�
ValueErrorrorq�net_connections�setr�addr�TCP_STATUSESr
r�sconn�pconn�add�list)�kind�_pidZfamilies�typesr�r�r��fdZfam�type�laddr�raddr�status�pid�ntr)r)r*r�=s(&	

$r�cCs�i}tj�}x�|j�D]�\}}ts^t|t�sRtt|���t|�}|\}}}}t	t
d�r�t
j|�}t
j||||�||<qW|S)z)Get NIC stats (isup, duplex, speed, mtu).�	NicDuplex)
rq�net_if_stats�itemsrrvr�AssertionErrorr�ry�hasattrrr��	snicstats)r�Zrawdict�namer��isup�duplex�speed�mtur)r)r*r�Xs! r�cCs)tj�}tdd�|j�D��S)zsReturn network I/O statistics for every network interface
    installed on the system as a dict of raw tuples.
    cSs(g|]\}}t|�|f�qSr))ry)r��k�vr)r)r*r�ls	z#net_io_counters.<locals>.<listcomp>)rq�net_io_counters�dictr�)r�r)r)r*r�gsr�cCsNg}xAtj�D]3}t|�}t|d�|d<|j|�qW|S)z,Return the addresses associated to each NIC.r)rq�net_if_addrsr�ryr�)r�r�r)r)r*r�osr�cCs�tj�\}}}}|dk}t|d@�}t|d@�}|rNdS|sZ|rftj}n|dkr{tj}tj|||�S)zReturn battery information.r�r7Nr�)rq�sensors_battery�boolr�POWER_TIME_UNLIMITED�POWER_TIME_UNKNOWN�sbattery)Z
acline_status�flagsr[�secsleft�
power_pluggedZ
no_batteryZchargingr)r)r*r�~s	r�cCs:ttj��}t|t�dkr,tS|a|SdS)z:The system boot time expressed in seconds since the epoch.rN)r�rq�	boot_time�abs�_last_btime)r�r)r)r*r��s
r�cCsjg}tj�}xQ|D]I}|\}}}t|�}tj|d||d�}|j|�qW|S)z:Return currently connected users as a list of namedtuples.N)rq�usersryr�suserr�)�retlistr�r�rS�hostnameZtstampr�r)r)r*r��s
r�ccs;x4tj�D]&\}}tt|�t|��Vq
WdS)z*Yields a list of WindowsService instances.N)rqZwinservice_enumerate�WindowsServicery)r��display_namer)r)r*r �scCs&t|d�}|j�d|_|S)zBOpen a Windows service and return it as a WindowsService instance.Nr�)r��
_query_config�
_display_name)r�Zservicer)r)r*r!�sc@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
ejdd��Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$S)%r�z(Represents an installed Windows service.cCs||_||_dS)N)�_namer�)�selfr�r�r)r)r*�__init__�s	zWindowsService.__init__cCs*d|j|jf}d|jj|fS)Nz(name=%r, display_name=%r)z%s%s)r�r��	__class__r&)r��detailsr)r)r*�__str__�szWindowsService.__str__cCsd|j�t|�fS)Nz
<%s at %s>)r��id)r�r)r)r*�__repr__�szWindowsService.__repr__cCs#t|t�stS|j|jkS)N)rvr��NotImplementedr�)r��otherr)r)r*�__eq__�szWindowsService.__eq__cCs||kS)Nr))r�r�r)r)r*�__ne__�szWindowsService.__ne__cCsi|j��#tj|j�\}}}}WdQRXtdt|�dt|�dt|�dt|��S)Nr��binpath�username�
start_type)�_wrap_exceptionsrqZwinservice_query_configr�r�ry)r�r�r�r�r�r)r)r*r��s
%zWindowsService._query_configcCsQ|j��tj|j�\}}WdQRX|dkr>d}td|d|�S)Nrr�r�)r�rqZwinservice_query_statusr�r�)r�r�r�r)r)r*�
_query_status�s

zWindowsService._query_statusccs�y	dVWn�tk
r�}z�|jtkrUtddd|jdd|j��nI|jtkss|jtkr�tddd|jdd|j��n�WYdd}~XnXdS)z{Ctx manager which translates bare OSError and WindowsError
        exceptions into NoSuchProcess and AccessDenied.
        Nr�r��msgz2service %r is not querable (not enough privileges)zservice %r does not exist))ZWindowsError�errno�ACCESS_DENIED_ERRSETrr��NO_SUCH_SERVICE_ERRSET�winerrorr)r��errr)r)r*r��s	zWindowsService._wrap_exceptionscCs|jS)z�The service name. This string is how a service is referenced
        and can be passed to win_service_get() to get a new
        WindowsService instance.
        )r�)r�r)r)r*r�szWindowsService.namecCs|jS)z_The service display name. The value is cached when this class
        is instantiated.
        )r�)r�r)r)r*r�szWindowsService.display_namecCs|j�dS)zwThe fully qualified path to the service binary/exe file as
        a string, including command line arguments.
        r�)r�)r�r)r)r*r�szWindowsService.binpathcCs|j�dS)z,The name of the user that owns this service.r�)r�)r�r)r)r*r�szWindowsService.usernamecCs|j�dS)zRA string which can either be "automatic", "manual" or
        "disabled".
        r�)r�)r�r)r)r*r�szWindowsService.start_typecCs|j�dS)zzThe process PID, if any, else None. This can be passed
        to Process class to control the service's process.
        r�)r�)r�r)r)r*r�'szWindowsService.pidcCs|j�dS)zService status as a string.r�)r�)r�r)r)r*r�-szWindowsService.statuscCsttj|j���S)zService long description.)ryrqZwinservice_query_descrr�)r�r)r)r*�description1szWindowsService.descriptioncCsS|j�}|j|j��|j�|d<|j�|d<|j�|d<|S)zUUtility method retrieving all the information above as a
        dictionary.
        r�r�r�)r��updater�r�r�r�)r��dr)r)r*�as_dict7szWindowsService.as_dictN)r&r'r(�__doc__r�r�r�r�r�r�r��
contextlib�contextmanagerr�r�r�r�r�r�r�r�r�r�r)r)r)r*r��s$r�cs%tj���fdd��}|S)zqDecorator which translates bare OSError and WindowsError
    exceptions into NoSuchProcess and AccessDenied.
    cs�y�|||�SWnstk
r�}zS|jtkrMt|j|j��|jtjkrtt|j|j���WYdd}~XnXdS)N)�OSErrorr�r�rr�r��ESRCHr)r��args�kwargsr�)�funr)r*�wrapperxsz wrap_exceptions.<locals>.wrapper)�	functools�wraps)r�r�r))r�r*�wrap_exceptionsts!
r�c@s�eZdZdZdddgZdd�Zdd�Zd	d
�Zedd��Z	e
d
d��Ze
dd��Ze
dd��Z
e
dd��Zdd�Zdd�Ze
dd��Ze
dd��Zdd�Ze
dd ��Ze
d!d"��Ze
d#d$d%��Ze
d&d'��Ze
d(d)��Ze
d*d+��Ze
d,d-��Ze
d.d/��Ze
d0d1��Ze
d2d3��Ze
d4d5��Ze
d6d7��Ze
d8d9d:��Z e
d;d<��Z!e
d=d>��Z"e#e$d?�r.e
d@dA��Z%e
dBdC��Z&e
dDdE��Z'e
dFdG��Z(e
dHdI��Z)e
dJdK��Z*e
dLdM��Z+e
dNdO��Z,d#S)P�Processz1Wrapper class around underlying C implementation.r�r��_ppidcCs||_d|_d|_dS)N)r�r�r)r�r�r)r)r*r��s		zProcess.__init__cCs|jj�dS)N)�oneshot_info�cache_activate)r�r)r)r*�
oneshot_enter�szProcess.oneshot_entercCs|jj�dS)N)r�cache_deactivate)r�r)r)r*�oneshot_exit�szProcess.oneshot_exitcCs4tj|j�}t|�tt�ks0t�|S)zOReturn multiple information about this process as a
        raw tuple.
        )rqZ	proc_infor�rs�	pinfo_mapr�)r�r�r)r)r*r�szProcess.oneshot_infocCsu|jdkrdS|jdkr&dSy ttjj|j���SWn(tk
rpttj|j��SYnXdS)zbReturn process name, which on Windows is always the final
        part of the executable.
        rzSystem Idle Processr�SystemN)	r�ryrrrd�basename�exerrqZ	proc_name)r�r)r)r*r��s 
zProcess.namecCs@|jdkr$t|j|j��tttj|j���S)Nrr)rr)r�rr�ryrurqZproc_exe)r�r)r)r*r
�szProcess.execCs1tj|j�}tr|Sdd�|D�SdS)NcSsg|]}t|��qSr))ry)r�rtr)r)r*r��s	z#Process.cmdline.<locals>.<listcomp>)rqZproc_cmdliner�r)r�r�r)r)r*�cmdline�szProcess.cmdlinecCsPtj|j�}|r@tr@t|t�s@tt|���tt	|��S)N)
rqZproc_environr�rrvrr�r�rry)r�Zustrr)r)r*�environ�s
!zProcess.environcCs@yt�|jSWn'tk
r;t|j|j��YnXdS)N)�ppid_mapr��KeyErrorrr�)r�r)r)r*�ppid�s
zProcess.ppidcCs�ytj|j�SWn�tk
r�}z�|jtkr�|j�}|td|td|td|td|td|td|td|td|td	|td
f
S�WYdd}~XnXdS)Nr>r@rBrDrFrHrJrLrNrP)rqZproc_memory_infor�r�r�r�rr)r�r��infor)r)r*�_get_raw_meminfo�s zProcess._get_raw_meminfocCs4|j�}|d}|d}t||f|�S)Nr.r5)rr^)r��tr_r`r)r)r*�memory_info�s

zProcess.memory_infocCs/|j�}tj|j�}t||f�S)N)rrqZproc_memory_ussr�ra)r�Z	basic_memrbr)r)r*�memory_full_info�szProcess.memory_full_infoccs	ytj|j�}Wnstk
r�}zS|jtkrOt|j|j��|jtjkrvt	|j|j���WYdd}~XnzXxv|D]n\}}}}t
|�}ts�t|t
�s�tt|���t|�}t|�}||||fVq�WdS)N)rqZproc_memory_mapsr�r�r�r�rr�r�rrurrvrr�r�ry�hex)r��rawr�r�Zpermrdr_r)r)r*�memory_maps�s!zProcess.memory_mapscCstj|j�S)N)rqZ	proc_killr�)r�r)r)r*�killszProcess.killcCstj|j|�dS)N)rrrr�)r��sigr)r)r*�send_signalszProcess.send_signalNcCs6|dkrtj}nt|d�}ttdtj�}|dk	rV|�|nd}ytj|j|�}WnGtjk
r�t||j|j��Yntj	k
r�d}YnXd}xjt
|j�s�|S|r|�|krt|d|jd|j��tj|�t|dd�}q�WdS)Ni��	monotonicg-C��6?r�r�r.g{�G�z�?)
rqZINFINITE�int�getattr�timeZ	proc_waitr�rr�ZTimeoutAbandoned�
pid_exists�sleep�min)r��timeoutZcext_timeoutZtimerZstop_atZ	exit_code�delayr)r)r*�waits&	
zProcess.waitcCsC|jdkrdStj|j�\}}t|�dt|�S)NrrzNT AUTHORITY\SYSTEMrn)rr)r�rqZ
proc_usernamery)r��domainrSr)r)r*r�AszProcess.usernamecCsz|jdkrt�Sytj|j�SWnItk
ru}z)|jtkr`|j�tdS�WYdd}~XnXdS)Nrrr0)rr)	r�r�rqZproc_create_timer�r�r�rr)r�r�r)r)r*r0HszProcess.create_timecCs|j�tdS)Nr1)rr)r�r)r)r*r1TszProcess.num_threadscCsXtj|j�}g}x9|D]1\}}}tj|||�}|j|�qW|S)N)rqZproc_threadsr�r�pthreadr�)r�r�r�Z	thread_id�utimeZstime�ntupler)r)r*�threadsXszProcess.threadscCs�ytj|j�\}}Wnbtk
r�}zB|jtkrk|j�}|td}|td}n�WYdd}~XnXtj	||dd�S)Nr-r/g)
rqZproc_cpu_timesr�r�r�r�rrr�	pcputimes)r�rSrTr�rr)r)r*r�aszProcess.cpu_timescCstj|j�S)N)rqZproc_suspendr�)r�r)r)r*�suspendoszProcess.suspendcCstj|j�S)N)rqZproc_resumer�)r�r)r)r*�resumesszProcess.resumecCsL|jdkr$t|j|j��tj|j�}ttjj|��S)Nrr)rr)	r�rr�rqZproc_cwdryrrrd�normpath)r�rdr)r)r*�cwdwszProcess.cwdcCs�|jdkrgSt�}tj|j�}xW|D]O}t|�}t|�r5tset|�}tj	|d�}|j
|�q5Wt|�S)Nrrr)rrr�)r�r�rqZproc_open_filesrur
rryr�	popenfiler�r�)r�r�Zraw_file_names�_filer(r)r)r*�
open_files�s	
zProcess.open_files�inetcCst|d|j�S)Nr�)r�r�)r�r�r)r)r*�connections�szProcess.connectionscCs.tj|j�}tdk	r*t|�}|S)N)rqZproc_priority_getr��enumr%)r��valuer)r)r*�nice_get�szProcess.nice_getcCstj|j|�S)N)rqZproc_priority_setr�)r�r5r)r)r*�nice_set�szProcess.nice_set�proc_io_priority_getcCstj|j�S)N)rqr8r�)r�r)r)r*�
ionice_get�szProcess.ionice_getcCsA|rtd��|dkr.td|��tj|j|�S)Nz<set_proc_ionice() on Windows takes only 1 argument (2 given)r.rrz9value must be 2 (normal), 1 (low) or 0 (very low); got %r)r.rr)�	TypeErrorr�rqZproc_io_priority_setr�)r�r5�_r)r)r*�
ionice_set�s
zProcess.ionice_setcCs�ytj|j�}Wn�tk
r�}zn|jtkr�|j�}|td|td|td|td|td|tdf}n�WYdd}~XnXt|�S)Nr3r4r6r8r:r<)	rqZproc_io_countersr�r�r�r�rrrg)r�r�r�rr)r)r*�io_counters�szProcess.io_counterscCs*tj|j�}|rtjStjSdS)N)rqZproc_is_suspendedr�r�STATUS_STOPPED�STATUS_RUNNING)r��	suspendedr)r)r*r��szProcess.statuscCs(dd�}tj|j�}||�S)Ncs�fdd�td�D�S)Ncs$g|]}d|>�@r|�qS)rr))r��i)r�r)r*r��s	zBProcess.cpu_affinity_get.<locals>.from_bitmask.<locals>.<listcomp>�@)r)r�r))r�r*�from_bitmask�sz.Process.cpu_affinity_get.<locals>.from_bitmask)rqZproc_cpu_affinity_getr�)r�rC�bitmaskr)r)r*�cpu_affinity_get�szProcess.cpu_affinity_getcCs�dd�}tttt����}xR|D]J}||kr.t|ttf�shtd|��q.td|��q.W||�}t	j
|j|�dS)NcSs?|std|��d}x|D]}|d|O}q#W|S)Nzinvalid argument %rrr.)r�)�l�out�br)r)r*�
to_bitmask�s
z,Process.cpu_affinity_set.<locals>.to_bitmaskz&invalid CPU %r; an integer is requiredzinvalid CPU %r)r��rangersr�rvrrr:r�rqZproc_cpu_affinity_setr�)r�r5rIZallcpusZcpurDr)r)r*�cpu_affinity_set�s
zProcess.cpu_affinity_setcCsdytj|j�SWnItk
r_}z)|jtkrJ|j�tdS�WYdd}~XnXdS)Nr+)rqZproc_num_handlesr�r�r�r�rr)r�r�r)r)r*r+�szProcess.num_handlescCs$|j�td}tj|d�S)Nr,r)rrr�pctxsw)r�r,r)r)r*�num_ctx_switches�szProcess.num_ctx_switches)-r&r'r(r��	__slots__r�rrrrr�r�r
rrrrrrrrrr$r�r0r1r)r�r+r,r.r1r3r6r7r�rqr9r<r=r�rErKr+rMr)r)r)r*r�sR	
*		
	r)rrr�r�)rbr�)�r�r�r�r�rr�sysr�collectionsr�rrrq�ImportErrorr�rw�lower�
startswith�getwindowsversionr��RuntimeErrorrrr	r
rrr
rr�_compatrrrrr�_exceptionsrrrrrrrrr�version_infor4Z__extra__all__r"�	frozenset�EPERM�EACCESZERROR_ACCESS_DENIEDr�ZERROR_INVALID_NAMEZERROR_SERVICE_DOES_NOT_EXISTr�r#�IntEnumr$ZMIB_TCP_STATE_ESTAB�CONN_ESTABLISHEDZMIB_TCP_STATE_SYN_SENT�
CONN_SYN_SENTZMIB_TCP_STATE_SYN_RCVD�
CONN_SYN_RECVZMIB_TCP_STATE_FIN_WAIT1�CONN_FIN_WAIT1ZMIB_TCP_STATE_FIN_WAIT2�CONN_FIN_WAIT2ZMIB_TCP_STATE_TIME_WAIT�CONN_TIME_WAITZMIB_TCP_STATE_CLOSED�
CONN_CLOSEZMIB_TCP_STATE_CLOSE_WAIT�CONN_CLOSE_WAITZMIB_TCP_STATE_LAST_ACK�
CONN_LAST_ACKZMIB_TCP_STATE_LISTEN�CONN_LISTENZMIB_TCP_STATE_CLOSING�CONN_CLOSINGZMIB_TCP_STATE_DELETE_TCBZPSUTIL_CONN_NONE�	CONN_NONEr�r%�globalsr��__members__r�rrRrXr^�_fieldsrarcrorergruryr}rZdisk_io_countersr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r r!�objectr�Zpidsrr
r�rr)r)r)r*�<module>s


						
		
		�