HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/iotop/__pycache__/netlink.cpython-311.pyc
�

w�&by���dZddlZddlZddlZ	ejejejd��Ze�d��[d�Zd�Z	d�Z
d4d�Znb#ej$rU	ddl
Z
d	�Zd
�Z	d�Z
d4d�Zn?#e$r7ddlZejd��ZGd
�dej��Zd�Zd�Z	d�Z
d4d�ZYnwxYwYnwxYwdZdZdZdZdZdZdZdZdZGd�d��ZGd�de��ZGd�de��ZGd�d e��Z Gd!�d"e��Z!Gd#�d$e��Z"dZ#dZ$dZ%dZ&dZ'd%Z(d&Z)d'Z*dZ+d(Z,d)Z-d*Z.d+Z/d,Z0d-Z1d.Z2dZ3Gd/�d0��Z4Gd1�d2��Z5d3�Z6dS)5z�
Netlink message generation/parsing

Copyright 2007        Johannes Berg <johannes@sipsolutions.net>

GPLv2+; See copying for details.
�N)rrc�0�|�|��dS�N)�bind��
descriptor�addrs  �//usr/lib/python3/dist-packages/iotop/netlink.py�_nl_bindr
s�����������c�*�|���Sr)�getsockname�rs r	�_nl_getsocknamers���%�%�'�'�'rc�0�|�|��dSr)�send�r�msgs  r	�_nl_sendrs����������r�@c�,�|�|��Sr)�recvfrom�r�bufss  r	�_nl_recvrs���"�"�4�(�(�(rc�`�tj|���|d��dS�N�)�_netlinkr�filenors  r	r
r
#s*���M�*�+�+�-�-�t�A�w�7�7�7�7�7rc�N�tj|�����Sr)rr
rrs r	rr&s���'�
�(9�(9�(;�(;�<�<�<rc�T�tj|���|��dSr)rrrrs  r	rr)s&���M�*�+�+�-�-�s�3�3�3�3�3rc�P�tj|���|��Sr)rrrrs  r	rr,s!���$�Z�%6�%6�%8�%8�$�?�?�?rc�R�eZdZdejfdejfdejfdejfgZdS)�SOCKADDR_NL�	nl_family�nl_pad�nl_pid�	nl_groupsN)�__name__�
__module__�__qualname__�ctypes�c_ushort�c_int�_fields_�rr	r$r$4s=������$�f�o�6�!�f�o�6�!�f�l�3�$�f�l�3�5�H�H�Hrr$c��ttjdtj��d��}t
�|���tj	|��tj
|����S�Nr)r$�socket�
AF_NETLINK�os�getpid�libcrrr,�pointer�sizeofrs  r	r
r
:s\���v�0�!�R�Y�[�[�!�D�D�D��9�9�Z�.�.�0�0�#�^�D�1�1�#�]�4�0�0�2�2�
2rc�2�tdddd��}tjtj|����}t�|���tj|��tj|����|j|j	fSr2)
r$r,r.r9r7r
rr8r'r()rr�lens   r	rr@s���q�!�Q��*�*�D��,�v�}�T�2�2�3�3�C����Z�.�.�0�0�#�^�D�1�1�#�^�C�0�0�
2�
2�
2��;���.�.rc�z�t�|���|t|��d��Sr2)r7rrr;rs  r	rrHs,���9�9�Z�.�.�0�0�#�s�3�x�x��C�C�Crc
��tdddd��}tjtj|����}tj|��}t
�|���||dtj|��tj|����}tj	tj|��|��}||j
|jffSr2)r$r,r.r9�create_string_bufferr7rrr8�	string_atr'r()rrrr;�buf�r�rets       r	rrKs����q�!�Q��*�*�D��,�v�}�T�2�2�3�3�C��-�d�3�3�C��
�
�j�/�/�1�1�!�4��$�n�T�2�2�F�N�3�4G�4G�I�I�A��"�6�>�#�#6�#6��:�:�C����d�n�5�5�5rr�����c�J�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�Attrc�r�||_t|��rtj|g|�R�|_dS||_dSr)�typer;�struct�pack�data)�self�	attr_typerN�valuess    r	�__init__z
Attr.__init__gs?����	��v�;�;�	���D�2�6�2�2�2�D�I�I�I��D�I�I�Irc���tjdt|j��dz|j��}t|j��}|dzdz
dz|z
}||jzd|zzS)N�HHrDr����)rLrMr;rNrK)rO�hdr�length�pads    r	�_dumpz
Attr._dumpns]���k�$��D�I���� 2�D�I�>�>���T�Y������
�Q��"�$��.���T�Y�����,�,rc�>�d|jt|j��fzS)Nz<Attr type %d, data "%s">)rK�reprrN�rOs r	�__repr__z
Attr.__repr__ts��*�d�i��d�i���-I�I�Irc�B�tjd|j��dS)N�Hr�rL�unpackrNr]s r	�u16zAttr.u16w����}�S�$�)�,�,�Q�/�/rc�B�tjd|j��dS)N�hrrar]s r	�s16zAttr.s16zrdrc�B�tjd|j��dS)N�Irrar]s r	�u32zAttr.u32}rdrc�B�tjd|j��dS)N�irrar]s r	�s32zAttr.s32�rdrc��|jSr)rNr]s r	�strzAttr.str�s
���y�rc�B�|j�d��dS)N�r)rN�splitr]s r	�nulstrzAttr.nulstr�s���y���t�$�$�Q�'�'rc�*�t|j��Sr)�parse_attributesrNr]s r	�nestedzAttr.nested�s����	�*�*�*rN)
r)r*r+rRrZr^rcrgrjrmrorsrvr0rr	rIrIfs����������-�-�-�J�J�J�0�0�0�0�0�0�0�0�0�0�0�0����(�(�(�+�+�+�+�+rrIc��eZdZd�ZdS)�StrAttrc��t�||dt|��z|�d����dS)Nz%ds�utf-8�rIrRr;�encode�rOrPrNs   r	rRzStrAttr.__init__�s7���
�
�d�I�u�s�4�y�y�'8�$�+�+�g�:N�:N�O�O�O�O�OrN�r)r*r+rRr0rr	rxrx�s(������P�P�P�P�Prrxc��eZdZd�ZdS)�
NulStrAttrc��t�||dt|��z|�d��d��dS)Nz%dsBrzrr{r}s   r	rRzNulStrAttr.__init__�sI���
�
�d���#�d�)�)�!3�T�[�[��5I�5I�1�	N�	N�	N�	N�	NrNr~r0rr	r�r��s(������N�N�N�N�Nrr�c��eZdZd�ZdS)�U32Attrc�@�t�||d|��dS)Nri�rIrR�rOrP�vals   r	rRzU32Attr.__init__�� ���
�
�d�I�s�C�0�0�0�0�0rNr~r0rr	r�r���#������1�1�1�1�1rr�c��eZdZd�ZdS)�U8Attrc�@�t�||d|��dS)N�Br�r�s   r	rRzU8Attr.__init__�r�rNr~r0rr	r�r��r�rr�c��eZdZd�Zd�ZdS)�Nestedc�"�||_||_dSr)�attrsrK)rOrPr�s   r	rRzNested.__init__�s����
���	�	�	rc��g}|jD])}|�|������*d�|��}t	|��}tjd|dz|j��}||zS)N�rTrD)r��appendrZ�joinr;rLrMrK)rO�contents�attrrXrWs     r	rZzNested._dump�st�����J�	*�	*�D��O�O�D�J�J�L�L�)�)�)�)��7�7�8�$�$���X�����k�$���
�D�I�6�6���X�~�rN)r)r*r+rRrZr0rr	r�r��s2�������������rr�����	�
���
��c�"�eZdZdd�Zd�Zd�ZdS)�Messager���Nc��||_||_||_d|_|pg}t	|t
��rJg}|D])}|�|������*d�|��|_	dS||_	dS)Nr�r)
rK�flags�seq�pid�
isinstance�listr�rZr��payload)rO�msg_typer�r�r�r�r�s       r	rRzMessage.__init__�s�����	���
��������-�R���g�t�$�$�	#��H��
.�
.������
�
���-�-�-�-��8�8�H�-�-�D�L�L�L�"�D�L�L�Lrc�(�|jdkr|���|_|j|_t|j��}t	jd|dz|j|j|j|j��}|�||jz��dS)Nr��IHHIIrG)	r�r�r;r�rLrMrKr�r)rO�connrXrWs    r	rzMessage.send�s}���8�r�>�>��x�x�z�z�D�H��8����T�\�"�"���k�'�6�E�>�4�9��*�d�h���:�:���	�	�#���$�%�%�%�%�%rc�b�d|j|j|j|jt	|j��fzS)Nz:<netlink.Message type=%d, pid=%d, seq=%d, flags=0x%x "%s">)rKr�r�r�r\r�r]s r	r^zMessage.__repr__�s5��K��I�t�x���4�:�t�D�L�7I�7I�OK�K�	Kr)rr�N)r)r*r+rRrr^r0rr	r�r��sK������#�#�#�#�	&�	&�	&�K�K�K�K�Krr�c�(�eZdZdd�Zd�Zd�Zd�ZdS)�
ConnectionrNc��tjtjtj|��|_|j�tjtjd��|j�tjtjd��t|jd|f��t|j��\|_
|_d|_||_
dS)Nir)r3r4�SOCK_RAWr�
setsockopt�
SOL_SOCKET�	SO_SNDBUF�	SO_RCVBUFr
rr��groups�_seq�
unexpected)rO�nltyper��unexpected_msg_handlers    r	rRzConnection.__init__�s��� �-��(9�(.���A�A�����"�"�6�#4�f�6F��N�N�N���"�"�6�#4�f�6F��N�N�N����1�f�+�.�.�.� /��� @� @����$�+���	�0����rc�0�t|j|��dSr)rr)rOrs  r	rzConnection.send�s�����#�&�&�&�&�&rc��t|j��\}\}}tjd|dd���\}}}}}t	||||dd���}	||	_|	jtkr^tjd|	jdd���d}
|
dkr/tdtj|
��|
fz��}|
|_|�|	S)Nr�rGrlrDrzNetlink error: %s (%d))
rrrLrbr�r�rK�NLMSG_ERRORr��OSErrorr5�strerror�errno)rOr��nlpid�nlgrps�msglenr�r�r�r�rr��errs            r	�recvzConnection.recv�s���$,�T�_�$=�$=�!��/�5�&�-3�M�'�:B�3�B�3�-�-I�-I�)���%��c��h��s�H�R�S�S�M�:�:������8�{�"�"��]�3���B�Q�B��8�8��;�;�E���z�z��6�46�K��4F�4F��:O�O�P�P��!��	��	��
rc�0�|xjdz
c_|jSr)r�r]s r	r�zConnection.seqs���	�	�Q��	�	��y�r)rN)r)r*r+rRrr�r�r0rr	r�r��sU������1�1�1�1�'�'�'����"����rr�c���i}t|��r_tjd|dd���\}}t||d|���||<|dzdz
dz}||d�}t|���_|S)NrTrDrrU)r;rLrbrI)rNr��attr_lenrPs    r	rurus����E�

�d�)�)��$�m�D�$�r��r�(�;�;���)��	�4��(�
�+;�<�<��i����\�A�%��+���H�I�I���	�d�)�)��
�Lr)r)7�__doc__r5r3rLr4r��
_dummysockrr
rrr�errorr�ImportErrorr,�CDLLr7�	Structurer$�
NLM_F_REQUEST�NLM_F_MULTI�	NLM_F_ACK�
NLM_F_ECHO�
NLMSG_NOOPr��
NLMSG_DONE�
NLMSG_OVERRUN�NLMSG_MIN_TYPErIrxr�r�r�r��
NETLINK_ROUTE�NETLINK_UNUSED�NETLINK_USERSOCK�NETLINK_FIREWALL�NETLINK_INET_DIAG�
NETLINK_NFLOG�NETLINK_XFRM�NETLINK_SELINUX�
NETLINK_ISCSI�
NETLINK_AUDIT�NETLINK_FIB_LOOKUP�NETLINK_CONNECTOR�NETLINK_NETFILTER�NETLINK_IP6_FW�NETLINK_DNRTMSG�NETLINK_KOBJECT_UEVENT�NETLINK_GENERICr�r�rur0rr	�<module>r�s�����
�	�	�	�
�
�
�
�
�
�
�
�H6����v�0�&�/�1�E�E�J��O�O�F��������(�(�(����)�)�)�)�)��
�|�76�76�76�56�����	8�	8�	8�	=�	=�	=�	4�	4�	4�	@�	@�	@�	@�	@���'6�'6�'6��
�
�
��v�{�4� � ��	5�	5�	5�	5�	5�&�*�	5�	5�	5�	2�	2�	2�	/�	/�	/�	D�	D�	D�
	6�
	6�
	6�
	6�
	6�
	6�;'6������!76����v�
���
�	�
�
��
���
�
��
���$+�$+�$+�$+�$+�$+�$+�$+�NP�P�P�P�P�d�P�P�P�
N�N�N�N�N��N�N�N�1�1�1�1�1�d�1�1�1�
1�1�1�1�1�T�1�1�1�
�����T�����
����������
������
��
���������������K�K�K�K�K�K�K�K�>"�"�"�"�"�"�"�"�J����s5�?A�
B/�A-�,B/�-9B)�&B/�(B)�)B/�.B/