o
    Žõ±j  ã                   @   sN   d dl Z G dd„ dƒZG dd„ dƒZG dd„ dƒZG dd	„ d	ƒZddd„ZdS )é    Nc                   @   ó,   e Zd Zdd„ Zedd„ ƒZedd„ ƒZdS )ÚESENT_PAGE_HEADER_2003_SP0c                 C   óL   d| _ d | _d | _d | _d | _d | _d | _d | _d | _d | _	d | _
d | _d S ©Né(   )Ú_lenÚCheckSumÚ
PageNumberÚLastModificationTimeÚPreviousPageNumberÚNextPageNumberÚFatherDataPageÚAvailableDataSizeÚAvailableUncommittedDataSizeÚFirstAvailableDataOffsetÚFirstAvailablePageTagÚ	PageFlags©Úself© r   ú/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aesedb/structures/pageheader.pyÚ__init__   ó   
z#ESENT_PAGE_HEADER_2003_SP0.__init__c                 C   ó   t  t | ¡¡S ©N)r   Úfrom_bufferÚioÚBytesIO©Údatar   r   r   Ú
from_bytes   ó   z%ESENT_PAGE_HEADER_2003_SP0.from_bytesc                 C   ó  t ƒ }tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_	tj|  d¡ddd|_
tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_|S ©Né   ÚlittleF©Ú	byteorderÚsignedé   é   )r   Úintr    Úreadr   r	   r
   r   r   r   r   r   r   r   r   ©ÚbuffÚresr   r   r   r      ó   z&ESENT_PAGE_HEADER_2003_SP0.from_bufferN©Ú__name__Ú
__module__Ú__qualname__r   Ústaticmethodr    r   r   r   r   r   r      ó    
r   c                   @   r   )ÚESENT_PAGE_HEADER_620_0bc                 C   r   )Né,   )r   r   ÚECCCheckSumr
   r   r   r   r   r   r   r   r   r   r   r   r   r   (   r   z!ESENT_PAGE_HEADER_620_0b.__init__c                 C   r   r   )r7   r   r   r   r   r   r   r   r    6   r!   z#ESENT_PAGE_HEADER_620_0b.from_bytesc                 C   r"   r#   )r7   r+   r    r,   r   r9   r
   r   r   r   r   r   r   r   r   r-   r   r   r   r   :   r0   z$ESENT_PAGE_HEADER_620_0b.from_bufferNr1   r   r   r   r   r7   '   r6   r7   c                   @   r   )ÚESENT_PAGE_HEADER_WIN7c                 C   sF   d| _ d | _d | _d | _d | _d | _d | _d | _d | _d | _	d | _
d S r   )r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   K   s   
zESENT_PAGE_HEADER_WIN7.__init__c                 C   r   r   )r:   r   r   r   r   r   r   r   r    X   r!   z!ESENT_PAGE_HEADER_WIN7.from_bytesc                 C   sú   t ƒ }tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_	tj|  d¡ddd|_
tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_|S ©Nr)   r%   Fr&   r$   r*   )r:   r+   r    r,   r   r
   r   r   r   r   r   r   r   r   r-   r   r   r   r   \   s   z"ESENT_PAGE_HEADER_WIN7.from_bufferNr1   r   r   r   r   r:   J   s    
r:   c                   @   r   )ÚESENT_PAGE_HEADER_WIN7_EXTc                 C   sd   d| _ d | _d | _d | _d | _d | _d | _d | _d | _d | _	d | _
d | _d | _d | _d | _d | _d S )NéP   )r   r   r
   r   r   r   r   r   r   r   r   ÚExtendedCheckSum1ÚExtendedCheckSum2ÚExtendedCheckSum3r	   ÚUnknownr   r   r   r   r   l   s    
z#ESENT_PAGE_HEADER_WIN7_EXT.__init__c                 C   r   r   )r<   r   r   r   r   r   r   r   r    ~   r!   z%ESENT_PAGE_HEADER_WIN7_EXT.from_bytesc                 C   sr  t ƒ }tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_	tj|  d¡ddd|_
tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_tj|  d¡ddd|_|S r;   )r<   r+   r    r,   r   r
   r   r   r   r   r   r   r   r   r>   r?   r@   r	   rA   r-   r   r   r   r   ‚   s"   z&ESENT_PAGE_HEADER_WIN7_EXT.from_bufferNr1   r   r   r   r   r<   k   s    
r<   é    c              
   Ã   s    z8| dk s| dkr|dk rt  |¡d fW S | dkr&|dk r&t |¡d fW S |dkr2t |¡d fW S t |¡d fW S  tyO } z
d |fW  Y d }~S d }~ww )Ni   é   é   rB   )r   r    r7   r<   r:   Ú	Exception)ÚversionÚrevisionÚpagesizer   Úer   r   r   Ú
readheader—   s   €€ÿrJ   )rB   N)r   r   r7   r:   r<   rJ   r   r   r   r   Ú<module>   s    ##!,