o
    j	                     @   s  d dl 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 edZG dd deZeZd	ZeZd
Zee d d ZdZdZdZdZdZdZdZd
Z dZ!dZ"dZ#dZ$d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 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Z0G d-d. d.eZ1G d/d0 d0eZ2G d1d2 d2eZ3e,e-fe.e/fe0e1fe2e3fd3Z4eefd4d5Z5ed d fd6d7Z6eed8fd9d:Z7ed fd;d<Z8d=S )>    )NDRCALL	NDRSTRUCT
NDRPOINTERNDRUniConformantArray)DWORDLPWSTRUCHARULONGLPDWORDNULL)hresult_errors)uuidtup_to_bin)DCERPCException)z$1FF70682-0A51-30E8-076D-740BE8CEE98Bz1.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/atsvc.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'TSCH SessionError: code: 0x%x - %s - %sz+TSCH 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                @      i   i   i   i   i    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 )AT_INFOJobTimeDaysOfMonth
DaysOfWeekFlagsCommandNr   r   r   r   r   r   	structurer   r   r   r   r(   K   s    r(   c                   @      e Zd ZdeffZdS )	LPAT_INFODataN)r   r   r   r(   referentr   r   r   r   r1   T       r1   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 )AT_ENUMJobIdr)   r*   r+   r,   r-   Nr.   r   r   r   r   r5   Z   s    r5   c                   @   s   e Zd ZeZdS )AT_ENUM_ARRAYN)r   r   r   r5   itemr   r   r   r   r7   d   s    r7   c                   @   r0   )LPAT_ENUM_ARRAYr2   N)r   r   r   r7   r3   r   r   r   r   r9   g   r4   r9   c                   @      e Zd ZdefdeffZdS )AT_ENUM_CONTAINEREntriesReadBufferN)r   r   r   r   r9   r/   r   r   r   r   r;   m       r;   c                   @       e Zd ZdZdefdeffZdS )
NetrJobAddr   
ServerNamepAtInfoN)r   r   r   opnumATSVC_HANDLEr(   r/   r   r   r   r   r@   w   
    r@   c                   @   r:   )NetrJobAddResponsepJobId	ErrorCodeN)r   r   r   r   r	   r/   r   r   r   r   rF   ~   r>   rF   c                   @   s&   e Zd ZdZdefdefdeffZdS )
NetrJobDelr   rA   MinJobIdMaxJobIdNr   r   r   rC   rD   r   r/   r   r   r   r   rI      s    rI   c                   @   r0   )NetrJobDelResponserH   N)r   r   r   r	   r/   r   r   r   r   rM      r4   rM   c                   @   s,   e Zd ZdZdefdefdefdeffZdS )NetrJobEnumr"   rA   pEnumContainerPreferedMaximumLengthpResumeHandleN)	r   r   r   rC   rD   r;   r   r
   r/   r   r   r   r   rN      s    rN   c                   @   s(   e Zd ZdefdefdefdeffZdS )NetrJobEnumResponserO   pTotalEntriesrQ   rH   N)r   r   r   r;   r   r
   r	   r/   r   r   r   r   rR      s    rR   c                   @   r?   )NetrJobGetInfo   rA   r6   NrL   r   r   r   r   rT      rE   rT   c                   @   r:   )NetrJobGetInfoResponseppAtInforH   N)r   r   r   r1   r	   r/   r   r   r   r   rV      r>   rV   )r   r   r"   rU   c                    (   t  }||d< ||d< | |I d H S )NrA   rB   )r@   request)dce
serverNameatInfo
netrJobAddr   r   r   hNetrJobAdd   
   r^   c                    s0   t  }||d< ||d< ||d< | |I d H S )NrA   rJ   rK   )rI   rY   )rZ   r[   minJobIdmaxJobId
netrJobDelr   r   r   hNetrJobDel   s   rc   l    c                    s4   t  }||d< ||d d< ||d< | |I d H S )NrA   rO   r=   rP   )rN   rY   )rZ   r[   rO   preferedMaximumLengthnetrJobEnumr   r   r   hNetrJobEnum   s   rf   c                    rX   )NrA   r6   )rT   rY   )rZ   r[   jobIdnetrJobGetInfor   r   r   hNetrJobGetInfo   r_   ri   N)9aiosmb.dcerpc.v5.ndrr   r   r   r   aiosmb.dcerpc.v5.dtypesr   r   r   r	   r
   r   aiosmb.dcerpc.v5r   aiosmb.dcerpc.v5.uuidr   aiosmb.dcerpc.v5.rpcrtr   MSRPC_UUID_ATSVCr   rD   CNLENDNLENUNLENMAX_BUFFER_SIZETASK_FLAG_INTERACTIVETASK_FLAG_DELETE_WHEN_DONETASK_FLAG_DISABLEDTASK_FLAG_START_ONLY_IF_IDLETASK_FLAG_KILL_ON_IDLE_END$TASK_FLAG_DONT_START_IF_ON_BATTERIES$TASK_FLAG_KILL_IF_GOING_ON_BATTERIESTASK_FLAG_RUN_ONLY_IF_DOCKEDTASK_FLAG_HIDDEN&TASK_FLAG_RUN_IF_CONNECTED_TO_INTERNET TASK_FLAG_RESTART_ON_IDLE_RESUMETASK_FLAG_SYSTEM_REQUIREDTASK_FLAG_RUN_ONLY_IF_LOGGED_ONr(   r1   r5   r7   r9   r;   r@   rF   rI   rM   rN   rR   rT   rV   OPNUMSr^   rc   rf   ri   r   r   r   r   <module>   s`    	

		

