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 
			