o
    j}                     @   sn   d dl Z d dlZd dlT G dd dejZG dd dejZG dd dejZG d	d
 d
ZG dd dZ	dS )    N)*c                   @   s   e Zd ZdZdZdZdZdS )QueryInfoType            N)__name__
__module____qualname__FILE
FILESYSTEMSECURITYQUOTA r   r   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiosmb/protocol/smb2/commands/query_info.pyr      s
    r   c                   @   s,   e Zd ZdZdZdZdZdZdZdZ	dZ
d	S )
SecurityInfor   r   r             @   i   N)r   r	   r
   OWNER_SECURITY_INFORMATIONGROUP_SECURITY_INFORMATIONDACL_SECURITY_INFORMATIONSACL_SECURITY_INFORMATIONLABEL_SECURITY_INFORMATIONATTRIBUTE_SECURITY_INFORMATIONSCOPE_SECURITY_INFORMATIONBACKUP_SECURITY_INFORMATIONr   r   r   r   r      s    r   c                   @   s   e Zd ZdZdZdZdS )EaInformationr   r   r   N)r   r	   r
   SL_RESTART_SCANSL_RETURN_SINGLE_ENTRYSL_INDEX_SPECIFIEDr   r   r   r   r      s    r   c                   @   <   e Zd Zdd Zdd Zedd Zedd Zd	d
 ZdS )QUERY_INFO_REQc                 C   sL   d| _ d | _d | _d| _d| _d| _d| _d | _d | _d | _	d | _
d | _d S )N)   i  r   )StructureSizeInfoTypeFileInfoClassOutputBufferLengthInputBufferOffsetReservedInputBufferLengthAdditionalInformationFlagsFileIdBufferDataselfr   r   r   __init__   s   
zQUERY_INFO_REQ.__init__c                 C   s  | j rt| j | _d| _t| j | _| jjdddd}|| 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r|| j7 }|S )	Nf   r   littleF	byteordersignedr   r   r   )r0   ioBytesIOr/   r)   lenr+   r%   to_bytesr&   valuer'   r(   r*   r,   r-   r.   r2   tr   r   r   r<   -   s"   
zQUERY_INFO_REQ.to_bytesc                 C      t t| S N)r#   from_bufferr9   r:   bbuffr   r   r   
from_bytesB      zQUERY_INFO_REQ.from_bytesc                 C   s,  t  }tj| ddd|_|jdksJ ttj| ddd|_ttj| ddd|_tj| ddd|_tj| ddd|_	tj| ddd|_
tj| ddd|_ttj| ddd|_ttj| ddd|_tj| ddd|_|jdkr| |j	tj | |j|_|S )	Nr   r5   r7   r$   r   r   r   r   )r#   intrE   readr%   r   r&   r'   r(   r)   r*   r+   r   r,   r   r-   r.   seekr9   SEEK_SETr/   buffmsgr   r   r   rB   F   s    
zQUERY_INFO_REQ.from_bufferc                 C   s   d}|d| 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 }|d| j	 7 }|S )N==== SMB2 QUERY INFO REQ ====
StructureSize: %s
zInfoType: %s
zFileInfoClass: %s
OutputBufferLength: %s
zInputBufferOffset: %s
zInputBufferLength: %s
zAdditionalInformation: %s
zFlags: %s
zFileId: %s
Buffer: %s
)
r%   r&   r'   r(   r)   r+   r,   r-   r.   r/   r>   r   r   r   __repr__[   s   zQUERY_INFO_REQ.__repr__N	r   r	   r
   r3   r<   staticmethodrE   rB   rS   r   r   r   r   r#      s    

r#   c                   @   r"   )QUERY_INFO_REPLYc                 C   s"   d| _ d | _d | _d | _d | _d S )N	   )r%   OutputBufferOffsetr(   r/   r0   r1   r   r   r   r3   l   s
   
zQUERY_INFO_REPLY.__init__c                 C   sn   | j d ur| j nd}t|| _d| _| jjdddd}|| jjdddd7 }|| jjdddd7 }||7 }|S )N    H   r   r5   Fr6   r   )r0   r;   r(   rX   r%   r<   )r2   datar?   r   r   r   r<   u   s   
zQUERY_INFO_REPLY.to_bytesc                 C   r@   rA   )rV   rB   r9   r:   rC   r   r   r   rE      rF   zQUERY_INFO_REPLY.from_bytesc                 C   s   t  }tj| ddd|_|jdksJ tj| ddd|_tj| ddd|_|jdkr?| |jtj	 | |j|_
|S )Nr   r5   rG   rW   r   r   )rV   rH   rE   rI   r%   rX   r(   rJ   r9   rK   r0   rL   r   r   r   rB      s   
zQUERY_INFO_REPLY.from_bufferc                 C   s@   d}|d| j  7 }|d| j 7 }|d| j 7 }|d| j 7 }|S )NrO   rP   zOutputBufferOffset: %s
rQ   rR   )r%   rX   r(   r/   r>   r   r   r   rS      s   zQUERY_INFO_REPLY.__repr__NrT   r   r   r   r   rV   k   s    	


rV   )
r9   enum-aiosmb.wintypes.fscc.structures.fileinfoclassEnumr   IntFlagr   r   r#   rV   r   r   r   r   <module>   s    
O