o
    j8                     @   s2   d dl Z d dlZd dlmZmZ G dd dZdS )    N)SMB2CompressionTypeSMB2CompressionFlagsc                   @   s6   e Zd Zdd ZedddZdd Zedd	 Zd
S ) SMB2Header_COMPRESSION_TRANSFORMc                 C   s"   d| _ d | _d | _d | _d | _d S )N   SMB)
ProtocolIdOriginalCompressedSegmentSizeCompressionAlgorithmFlagsOffset)self r   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiosmb/protocol/smb2/headers/compression.py__init__   s
   
z)SMB2Header_COMPRESSION_TRANSFORM.__init__Fc                 C   s>   t  }||_||_|du rtj|_||_|S tj|_||_|S )NF)r   r   r   r   NONEr	   r
   CHAINED)	comp_dataalgooriginal_sizecompressed_size
is_chainedcomp_hdrr   r   r   	construct   s   z*SMB2Header_COMPRESSION_TRANSFORM.constructc                 C   sf   | j }|| jjdddd7 }|| jjjdddd7 }|| jjjdddd7 }|| jjdddd7 }|S )N   littleF	byteordersigned   )r   r   to_bytesr   valuer	   r
   )r   tr   r   r   r      s   z)SMB2Header_COMPRESSION_TRANSFORM.to_bytesc                 C   s   t  }| d|_|jdksJ tj| dddd|_ttj| dddd|_ttj| dddd|_	tj| dddd|_
|S )Nr   r   r   Fr   r   )r   readr   int
from_bytesr   r   r   r   r	   r
   )buffhdrr   r   r   from_buffer&   s   z,SMB2Header_COMPRESSION_TRANSFORM.from_bufferN)F)__name__
__module____qualname__r   staticmethodr   r   r&   r   r   r   r   r      s    	r   )enumio'aiosmb.protocol.smb2.commands.negotiater   r   r   r   r   r   r   <module>   s    