o
    Žõ±j9  ã                   @   sr  d dl Z d dlmZ d dlmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZ d dlmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dl m!Z! d d	l"m#Z# e!d
ƒZ$G dd„ deƒZ%eZ&eZ'dZ(d Z)dZ*dZ+dZ,dZ-d Z.dZ/dZ0G dd„ deƒZ1G dd„ deƒZ2G dd„ deƒZ3G dd„ deƒZ4G dd„ deƒZ5G dd„ deƒZ6G dd„ deƒZ7G d d!„ d!eƒZ8G d"d#„ d#eƒZ9G d$d%„ d%eƒZ:G d&d'„ d'eƒZ;G d(d)„ d)eƒZ<G d*d+„ d+eƒZ=G d,d-„ d-eƒZ>G d.d/„ d/eƒZ?G d0d1„ d1eƒZ@G d2d3„ d3eƒZAG d4d5„ d5eƒZBG d6d7„ d7eƒZCG d8d9„ d9eƒZDeAeBfeCeCfd:œZEd;d<„ ZFed fd=d>„ZGdAd?d@„ZHdS )Bé    N)Ústat)ÚGUIDÚLONGÚBOOLÚPWCHARÚRPC_SIDÚPCHARÚ	ULONGLONGÚUINTÚUSHORTÚLPWSTRÚDWORDÚULONGÚNULLÚWSTRÚPBOOLÚPLONG)ÚNDRPOINTERNULLÚNDRCALLÚ	NDRSTRUCTÚNDRUNIONÚ
NDRPOINTERÚNDRUniConformantArray)ÚNDRVaryingString)ÚDCERPCException)Úsystem_errors)Úuuidtup_to_bin)Ú	Structure)z$4fc742e0-4a10-11cf-8273-00aa004ae673z3.0c                   @   s   e Zd Zddd„Zdd„ ZdS )ÚDCERPCSessionErrorNc                 C   s   t  | |||¡ d S )N)r   Ú__init__)ÚselfÚerror_stringÚ
error_codeÚpacket© r$   ú‰/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiosmb/dcerpc/v5/dfsnm.pyr      s   zDCERPCSessionError.__init__c                 C   sF   | j }|tjv rtj| d }tj| d }d| j ||f S d| j  S )Nr   é   z(DFSNM SessionError: code: 0x%x - %s - %sz,DFSNM SessionError: unknown error code: 0x%x)r"   r   ÚERROR_MESSAGES)r    ÚkeyÚerror_msg_shortÚerror_msg_verboser$   r$   r%   Ú__str__   s   

zDCERPCSessionError.__str__)NNN)Ú__name__Ú
__module__Ú__qualname__r   r+   r$   r$   r$   r%   r      s    
r   éÿÿÿÿr&   é   é   é   c                   @   s"   e Zd ZdefdefdeffZdS )ÚDFS_TARGET_PRIORITYÚTargetPriorityClassÚTargetPriorityRankÚReservedN)r,   r-   r.   r   r   Ú	structurer$   r$   r$   r%   r3   6   s
    ýr3   c                   @   s   e Zd ZdefdeffZdS )ÚDFS_STORAGE_INFOÚ
ServerNameÚ	ShareNameN©r,   r-   r.   r   r7   r$   r$   r$   r%   r8   =   ó    þr8   c                   @   ó   e Zd ZeZdS )ÚDFS_STORAGE_INFO_ARRAYN)r,   r-   r.   r8   Úitemr$   r$   r$   r%   r>   C   ó    r>   c                   @   s(   e Zd ZdefdefdefdeffZdS )ÚDFS_STORAGE_INFO_1ÚStater9   r:   ÚTargetPriorityN)r,   r-   r.   r   r   r3   r7   r$   r$   r$   r%   rA   F   ó    ürA   c                   @   r=   )ÚDFS_STORAGE_INFO_1_ARRAYN)r,   r-   r.   rA   r?   r$   r$   r$   r%   rE   N   r@   rE   c                   @   ó   e Zd ZdeffZdS )ÚDFSM_ROOT_LIST_ENTRYÚServerShareNr;   r$   r$   r$   r%   rG   Q   ó    ÿrG   c                   @   r=   )ÚDFSM_ROOT_LIST_ENTRY_ARRAYN)r,   r-   r.   rG   r?   r$   r$   r$   r%   rJ   V   r@   rJ   c                   @   s   e Zd ZdefdeffZdS )ÚDFSM_ROOT_LISTÚcEntriesÚEntryN)r,   r-   r.   r   r   r7   r$   r$   r$   r%   rK   Y   r<   rK   c                   @   s4   e Zd ZdefdefdefdefdefdeffZdS )Ú$DFS_SUPPORTED_NAMESPACE_VERSION_INFOÚDomainDfsMajorVersionÚDomainDfsMinorVersionÚDomainDfsCapabilitiesÚStandaloneDfsMajorVersionÚStandaloneDfsMinorVersionÚStandaloneDfsCapabilitiesN)r,   r-   r.   r   r	   r7   r$   r$   r$   r%   rN   _   s    úrN   c                   @   rF   )Ú
DFS_INFO_1Ú	EntryPathNr;   r$   r$   r$   r%   rU   i   rI   rU   c                   @   s(   e Zd ZdefdefdefdeffZdS )Ú
DFS_INFO_2rV   ÚCommentrB   ÚNumberOfStoragesN)r,   r-   r.   r   r   r7   r$   r$   r$   r%   rW   n   rD   rW   c                   @   s.   e Zd ZdefdefdefdefdeffZdS )Ú
DFS_INFO_3rV   rX   rB   rY   ÚStorageN)r,   r-   r.   r   r   r>   r7   r$   r$   r$   r%   rZ   v   s    ûrZ   c                   @   s:   e Zd ZdefdefdefdefdefdefdeffZdS )	Ú
DFS_INFO_4rV   rX   rB   ÚTimeoutÚGuidrY   r[   N)	r,   r-   r.   r   r   r   r   r>   r7   r$   r$   r$   r%   r\      s    ùr\   c                	   @   s@   e Zd ZdefdefdefdefdefdefdefdeffZd	S )
Ú
DFS_INFO_5rV   rX   rB   r]   r^   ÚPropertyFlagsÚMetadataSizerY   N)r,   r-   r.   r   r   r   r   r7   r$   r$   r$   r%   r_   Š   s    ør_   c                
   @   sF   e Zd Zdefdefdefdefdefdefdefdefd	eff	Zd
S )Ú
DFS_INFO_6rV   rX   rB   r]   r^   r`   ra   rY   r[   N)	r,   r-   r.   r   r   r   r   rE   r7   r$   r$   r$   r%   rb   –   s    ÷rb   c                   @   rF   )Ú
DFS_INFO_7ÚGenerationGuidN)r,   r-   r.   r   r7   r$   r$   r$   r%   rc   £   rI   rc   c                   @   s,   e Zd ZdZdefdefdefdeffZdS )ÚRpcNetrDfsAddStdRooté   r9   Ú	RootSharerX   ÚApiFlagsN©r,   r-   r.   Úopnumr   r   r7   r$   r$   r$   r%   re   ·   s    üre   c                   @   ó   e Zd ZdZdS )ÚRpcNetrDfsAddStdRootResponser$   N©r,   r-   r.   r7   r$   r$   r$   r%   rl   À   r@   rl   c                   @   s&   e Zd ZdZdefdefdeffZdS )ÚNetrDfsRemoveStdRooté   r9   rg   rh   Nri   r$   r$   r$   r%   rn   Ä   s    ýrn   c                   @   rk   )ÚNetrDfsRemoveStdRootResponser$   Nrm   r$   r$   r$   r%   rp   Ì   r@   rp   )rf   ro   c                 C   s(   | t kr| S | dd … dkr| d S | S )Nr/   ú )r   )Ústringr$   r$   r%   ÚcheckNullStringÛ   s
   rs   c                 Ã   sD   �t ƒ }t|ƒ|d< t|ƒ|d< t|ƒ|d< ||d< |  |¡I d H S )Nr9   rg   rX   rh   )re   rs   Úrequest)Údcer9   rg   rX   rh   rt   r$   r$   r%   ÚhRpcNetrDfsAddStdRootä   s   €rv   c                 Ã   s8   �t ƒ }t|ƒ|d< t|ƒ|d< ||d< |  |¡I d H S )Nr9   rg   rh   )rn   rs   rt   )ru   r9   rg   rh   rt   r$   r$   r%   ÚhNetrDfsRemoveStdRootì   s   €rw   )r   )IÚioÚosr   Úaiosmb.dcerpc.v5.dtypesr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   Úaiosmb.dcerpc.v5.ndrr   r   r   r   r   r   r   Úaiosmb.dcerpc.v5.rpcrtr   Úaiosmb.dcerpc.v5r   Úaiosmb.dcerpc.v5.uuidr   Úaiosmb.dcerpc.v5.structurer   ÚMSRPC_UUID_DFSNMr   ÚNET_API_STATUSÚNETDFS_SERVER_OR_DOMAIN_HANDLEÚDfsInvalidPriorityClassÚDfsSiteCostNormalPriorityClassÚDfsGlobalHighPriorityClassÚDfsSiteCostHighPriorityClassÚDfsSiteCostLowPriorityClassÚDfsGlobalLowPriorityClassÚ%DFS_NAMESPACE_VERSION_ORIGIN_COMBINEDÚ#DFS_NAMESPACE_VERSION_ORIGIN_SERVERÚ#DFS_NAMESPACE_VERSION_ORIGIN_DOMAINr3   r8   r>   rA   rE   rG   rJ   rK   rN   rU   rW   rZ   r\   r_   rb   rc   re   rl   rn   rp   ÚOPNUMSrs   rv   rw   r$   r$   r$   r%   Ú<module>   s`   H 
		þ	