o
    j                     @   sF   d dl Z d dlZd dlmZ d dlmZ d dlmZ G dd dZdS )    N)SMB2Command)NTStatus)SMB2HeaderFlagc                   @   s0   e Zd Zdd Zedd Zdd Zdd Zd	S )
SMB2Header_SYNCc                 C   sT   d| _ d| _d | _tj| _d | _d | _d| _d| _	d | _
d| _d| _d| _d| _d S )N   SMB@   r   s                   )
ProtocolIdStructureSizeCreditCharger   SUCCESSStatusCommand	CreditReqFlagsNextCommand	MessageIdReservedTreeId	SessionId	Signature)self r   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiosmb/protocol/smb2/headers/sync.py__init__   s   
zSMB2Header_SYNC.__init__c                 C   sR  t  }| d|_|jdksJ tj| ddd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|_ttj| dddd|_tj| dddd|_tj| dddd|_tj| dddd|_tj| dddd|_tj| dddd|_| d	|_|S )
N   r      littleF	byteordersignedr         )r   readr   int
from_bytesr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   )buffhdrr   r   r   from_buffer   s"   zSMB2Header_SYNC.from_bufferc                 C   s
  | j }|| jjdddd7 }|| 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 }|| jjdddd7 }|| j	jdddd7 }|| j
jdddd7 }|| jjdddd7 }|| jjdddd7 }|| jjdddd7 }|| j7 }|S )Nr   r   Fr   r   r    )r   r	   to_bytesr
   r   valuer   r   r   r   r   r   r   r   r   r   tr   r   r   r(   .   s   
zSMB2Header_SYNC.to_bytesc                 C   s   d}|d| j  7 }|d| j 7 }|d| j 7 }|d| jj 7 }|d| jj 7 }|d| j 7 }|d| j 7 }|d	| j 7 }|d
| j	 7 }|d| j
 7 }|d| j 7 }|d| j 7 }|d| j 7 }|S )Nz===SMB2 HEADER SYNC===
zProtocolId:    %s
zStructureSize: %s
zCreditCharge:  %s
zStatus:    %s
zCommand:   %s
zCreditReq:    %s
zFlags:     %s
zNextCommand: %s
zMessageId: %s
zReserved:  %s
zTreeId:    %s
zSessionId: %s
zSignature: %s
)r   r	   r
   r   namer   r   r   r   r   r   r   r   r   r*   r   r   r   __repr__>   s   zSMB2Header_SYNC.__repr__N)__name__
__module____qualname__r   staticmethodr'   r(   r-   r   r   r   r   r   
   s    
r   )	enumio"aiosmb.protocol.smb2.command_codesr   aiosmb.wintypes.ntstatusr   #aiosmb.protocol.smb2.headers.commonr   r   r   r   r   r   <module>   s    