o
    j+                     @   s4  d dl mZ d dl mZ d dl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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 ed	ZG d
d deZd ZdZ dZ!dZ"dZ#dZ$e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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 d0d1 d1eZ;G d2d3 d3eZ<G d4d5 d5eZ=G d6d7 d7eZ>G d8d9 d9eZ?G d:d; d;eZ@G d<d= d=eZAG d>d? d?eZBG d@dA dAeZCG dBdC dCeZDG dDdE dEeZEe2e3fe4e5fe6e7fe8e9fe:e;fe<e=fe>e?fe@eAfeBeCfeDeEfdF
ZFeddfdGdHZGeefdIdJZHdKdL ZIeefdMdNZJdOe*e+B d e(fdPdQZKdOefdRdSZLdOefdTdUZMdVdW ZNdXdY ZOdZS )[    )division)print_function)NDRCALL	NDRSTRUCTNDRNDRPOINTERNULLNDRUniConformantArray)ULONGLPWSTRRPC_UNICODE_STRINGLPSTRNTSTATUSNULLPRPC_UNICODE_STRINGPULONGUSHORTPRPC_SIDLPBYTE)PRPC_UNICODE_STRING_ARRAY)	Structure)uuidtup_to_bin)DCERPCException)z$82273FDC-E32A-18C3-3F78-827929DC23EAz0.0c                   @   s   e Zd Zd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/even.pyr   "   s   zDCERPCSessionError.__init__)NNN)__name__
__module____qualname__r   r   r   r   r   r   !   s    r                     i i c                   @   s   e Zd ZdZdd ZdS )IELF_HANDLE))Dataz20s=""c                 C   s   dS )Nr#   r   )r   r   r   r   getAlignmentH   s   zIELF_HANDLE.getAlignmentN)r    r!   r"   	structurer+   r   r   r   r   r)   D   s    r)   c                   @   s   e Zd ZdZdS )EVENTLOGRECORD))Length<L=0)Reservedr/   )RecordNumberr/   )TimeGeneratedr/   )TimeWrittenr/   )EventIDr/   )	EventType<H=0)
NumStringsr6   )EventCategoryr6   )ReservedFlagsr6   )ClosingRecordNumberr/   )StringOffsetr/   )UserSidLengthr/   )UserSidOffsetr/   )
DataLengthr/   )
DataOffsetr/   )
SourceNamez)ComputernamerA   )UserSidPadding:)_UserSidz	_-UserSidzself["UserSidLength"])UserSidrD   )StringsrD   )_Dataz_-Datazself["DataLength"])r*   rD   )PaddingrD   )Length2r/   N)r    r!   r"   r,   r   r   r   r   r-   L   s    r-   c                   @      e Zd ZdeffZdS )EVENTLOG_FULL_INFORMATIONdwFullNr    r!   r"   r	   r,   r   r   r   r   rL   k       rL   c                   @   s   e Zd ZdefdeffZdS )RPC_CLIENT_IDUniqueProcessUniqueThreadNrN   r   r   r   r   rP   q       rP   c                   @   s,   e Zd ZdddeffZdd Zd
dd	ZdS )
RPC_STRING)r.   r6   )MaximumLengthr6   r*   c                 C   s<   |dkrt |tdu rt|| d< t|| d< t| ||S )Nr*   Fr.   rU   )
isinstancer   lenr   __setitem__)r   keyvaluer   r   r   rX      s   zRPC_STRING.__setitem__Nr   c                 C   s|   |d u r| j j}|dkrtd| dd t| jd tr$tddd d S | jd d dkr5tddd d S | jd d|S )	N z%s )endr*   z NULL
ReferentIDr   )	__class__r    printrV   fieldsr   dump)r   msgindentr   r   r   rb      s   zRPC_STRING.dump)Nr   )r    r!   r"   r   r,   rX   rb   r   r   r   r   rT   x   s    rT   c                   @       e Zd ZdZdefdeffZdS )ElfrClearELFWr   	LogHandleBackupFileNameN)r    r!   r"   opnumr)   r   r,   r   r   r   r   rf      
    rf   c                   @   rK   )ElfrClearELFWResponse	ErrorCodeNr    r!   r"   r   r,   r   r   r   r   rk      rO   rk   c                   @   re   )ElfrBackupELFWr#   rg   rh   N)r    r!   r"   ri   r)   r   r,   r   r   r   r   rn      rj   rn   c                   @   rK   )ElfrBackupELFWResponserl   Nrm   r   r   r   r   ro      rO   ro   c                   @      e Zd ZdZdeffZdS )ElfrCloseELr$   rg   Nr    r!   r"   ri   r)   r,   r   r   r   r   rq          rq   c                   @      e Zd ZdefdeffZdS )ElfrCloseELResponserg   rl   Nr    r!   r"   r)   r   r,   r   r   r   r   ru      rS   ru   c                   @   rp   )ElfrNumberOfRecordsr%   rg   Nrr   r   r   r   r   rw      rs   rw   c                   @   rt   )ElfrNumberOfRecordsResponseNumberOfRecordsrl   Nr    r!   r"   r	   r   r,   r   r   r   r   rx      rS   rx   c                   @   rp   )ElfrOldestRecord   rg   Nrr   r   r   r   r   r{      rs   r{   c                   @   rt   )ElfrOldestRecordResponseOldestRecordNumberrl   Nrz   r   r   r   r   r}      rS   r}   c                   @   2   e Zd ZdZdefdefdefdefdeffZdS )ElfrOpenELW   UNCServerName
ModuleNameRegModuleNameMajorVersionMinorVersionNr    r!   r"   ri   EVENTLOG_HANDLE_Wr   r	   r,   r   r   r   r   r          r   c                   @   rt   )ElfrOpenELWResponserg   rl   Nrv   r   r   r   r   r      rS   r   c                   @   r   )ElfrRegisterEventSourceWr&   r   r   r   r   r   Nr   r   r   r   r   r      r   r   c                   @   rt   ) ElfrRegisterEventSourceWResponserg   rl   Nrv   r   r   r   r   r      rS   r   c                   @   s,   e Zd ZdZdefdefdefdeffZdS )ElfrOpenBELW	   r   rh   r   r   Nr   r   r   r   r   r          r   c                   @   rt   )ElfrOpenBELWResponserg   rl   Nrv   r   r   r   r   r     rS   r   c                   @   s,   e Zd ZdZdefdefdefdeffZdS )ElfrReadELW
   rg   	ReadFlagsRecordOffsetNumberOfBytesToReadN)r    r!   r"   ri   r)   r	   r,   r   r   r   r   r     r   r   c                   @   s(   e Zd ZdefdefdefdeffZdS )ElfrReadELWResponseBufferNumberOfBytesReadMinNumberOfBytesNeededrl   N)r    r!   r"   r   r	   r   r,   r   r   r   r   r     s    r   c                   @   sh   e Zd 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de	fde
fdefdefdeffZdS )ElfrReportEventW   rg   Timer5   r8   r4   r7   DataSizeComputerNameUserSIDrG   r*   Flagsr1   r3   N)r    r!   r"   ri   r)   r	   r   r   r   r   r   r   r,   r   r   r   r   r     s"    r   c                   @   s"   e Zd ZdefdefdeffZdS )ElfrReportEventWResponser1   r3   rl   N)r    r!   r"   r   r   r,   r   r   r   r   r   -  s
    r   )
r   r#   r$   r%   r|   r   r&   r   r   r   c                    s8   t  }t|d< ||d< ||d< ||d< | |I d H S )Nr   rh   r   r   )r   r   request)dcebackupFileNamer   r   r   r   r   r   hElfrOpenBELWG  s   r   c                    @   t  }t|d< ||d< ||d< d|d< d|d< | |I d H S Nr   r   r   r#   r   r   )r   r   r   r   
moduleNameregModuleNamer   r   r   r   hElfrOpenELWO     r   c                    $   t  }||d< | |}|I d H S Nrg   )rq   r   r   	logHandler   respr   r   r   hElfrCloseELX  
   

r   c                    r   r   )r   r   r   r   r   r   r   hElfrRegisterEventSourceW^  r   r   r[   c                    s8   t  }||d< ||d< ||d< ||d< | |I d H S )Nrg   r   r   r   )r   r   )r   r   	readFlagsrecordOffsetnumberOfBytesToReadr   r   r   r   hElfrReadELWg  s   r   c                    (   t  }||d< ||d< | |I d H S Nrg   rh   )rf   r   r   r   r   r   r   r   r   hElfrClearELFWp  
   r   c                    r   r   )rn   r   r   r   r   r   hElfrBackupELFWv  r   r   c                    r   r   )rw   r   r   r   r   r   hElfrNumberOfRecords|  r   r   c                    r   r   )r{   r   r   r   r   r   hElfrOldestRecordNumber  r   r   N)P
__future__r   r   aiosmb.dcerpc.v5.ndrr   r   r   r   r   aiosmb.dcerpc.v5.dtypesr	   r
   r   r   r   r   r   r   r   r   r   aiosmb.dcerpc.v5.lsadr   aiosmb.dcerpc.v5.structurer   aiosmb.dcerpc.v5.uuidr   aiosmb.dcerpc.v5.rpcrtr   MSRPC_UUID_EVENr   EVENTLOG_SUCCESSEVENTLOG_ERROR_TYPEEVENTLOG_WARNING_TYPEEVENTLOG_INFORMATION_TYPEEVENTLOG_AUDIT_SUCCESSEVENTLOG_AUDIT_FAILUREr   MAX_STRINGSMAX_SINGLE_EVENTMAX_BATCH_BUFFEVENTLOG_SEQUENTIAL_READEVENTLOG_SEEK_READEVENTLOG_FORWARDS_READEVENTLOG_BACKWARDS_READr)   r-   rL   rP   rT   rf   rk   rn   ro   rq   ru   rw   rx   r{   r}   r   r   r   r   r   r   r   r   r   r   OPNUMSr   r   r   r   r   r   r   r   r   r   r   r   r   <module>   s   4

					
	