File: //opt/alt/python311/lib/python3.11/site-packages/pyroute2/dhcp/__pycache__/client.cpython-311.pyc
�
�;fh � � � d dl Z d dlZd dlZd dlmZmZmZmZmZ d dl m
Z
d dlmZ d� Z
d� Zd� Zedk r e� � dS dS ) � N)�BOOTREQUEST�DHCPACK�DHCPDISCOVER� DHCPOFFER�DHCPREQUEST)�dhcp4msg)�DHCP4Socketc � � d}d } |r| � |� � d }|� d� � }|D ]L\ }}| � � � } | d |k rd}�(| d d |k rt d� � �| c S d}��)NT�xid� F�options�message_typezDHCP protocol error)�put�poll�get� Exception)
�sr �msg�expect�do_reqr �events�fd�event�responses
�G/opt/alt/python311/lib/python3.11/site-packages/pyroute2/dhcp/client.py�reqr s� � �
�F�
�C��� $��%�%��*�*�U�#�C����1����� � �I�B���u�u�w�w�H����#�%�%����� �"�>�2�f�<�<�� 5�6�6�6��O�O�O���� c �� � t | � � }t j � � }|� |t j t j z � � t
t |j t g d�d�d�� � }t |||t �� � }t
t |j t |d |d d g d�d�d�� � }t |||t �� � }|� � � |S ) N)� � � � � � )r �parameter_list)�op�chaddrr
)r �yiaddrr
� server_id)r �requested_ipr) r% )r �selectr �register�POLLIN�POLLPRIr r �l2addrr r r r r �close)�ifnamer r �discover�reply�requests r �actionr5 % s� � ��F���A��;�=�=�D��M�M�!�V�]�V�^�3�4�4�4� ���h� ,�"7�"7�"7�� �
�
� � �H�
��4��)�4�4�4�E� ���h� +� %�h��"�9�-�k�:�"7�"7�"7� � �
�
�� �G�
��4���1�1�1�E��G�G�I�I�I��Lr c �� � t t j � � dk rt j d } nd} t t j t
| � � d�� � � � d S )Nr �eth0� )�indent)�len�sys�argv�print�json�dumpsr5 )r1 s r �runr@ I sP � �
�3�8�}�}�q�����!������ �$�*�V�F�^�^�A�
.�
.�
.�/�/�/�/�/r �__main__)r>