
    Xf                     d    d dl mZ  G d dej                        Z G d dej                        Zy)    )objectsc                       e Zd ZdefdZy)PARTITION_TABLEreturnc                     dj                  | j                  d   | j                  d   | j                  d   | j                  d         S )zGet Disk Signature (GUID).z{0:02x}-{1:02x}-{2:02x}-{3:02x}r            )formatDiskSignatureselfs    f/home/panchajanya/Development/work/volatility3/volatility3/framework/symbols/windows/extensions/mbr.pyget_disk_signaturez"PARTITION_TABLE.get_disk_signature	   sM    077q!q!q!q!	
 	
    N)__name__
__module____qualname__strr    r   r   r   r      s    
C 
r   r   c                       e Zd ZdefdZdefdZdefdZdefdZ	defdZ
defdZdefdZdefd	Zdefd
ZdefdZdefdZy)PARTITION_ENTRYr   c                     | j                   S )zGet Bootable Flag.)BootableFlagr   s    r   get_bootable_flagz!PARTITION_ENTRY.get_bootable_flag   s       r   c                 0    | j                         dk(  sdS dS )zCheck Bootable Partition.   FT)r   r   s    r   is_bootablezPARTITION_ENTRY.is_bootable   s    !335=uHDHr   c                 f    | j                   j                  r| j                   j                         S dS )zGet Partition Type.zNot Defined PartitionType)PartitionTypeis_valid_choicelookupr   s    r   get_partition_typez"PARTITION_ENTRY.get_partition_type   s6     !!11 %%'	
 -	
r   c                      | j                   d   S )z2Get Starting CHS (Cylinder Header Sector) Address.r   StartingCHSr   s    r   get_starting_chsz PARTITION_ENTRY.get_starting_chs$   s    ""r   c                      | j                   d   S )z0Get Ending CHS (Cylinder Header Sector) Address.r   	EndingCHSr   s    r   get_ending_chszPARTITION_ENTRY.get_ending_chs(   s    ~~a  r   c                 &    | j                   d   dz  S )zGet Starting Sector.r   @   r%   r   s    r   get_starting_sectorz#PARTITION_ENTRY.get_starting_sector,   s    "R''r   c                 &    | j                   d   dz  S )zGet Ending Sector.r   r-   r)   r   s    r   get_ending_sectorz!PARTITION_ENTRY.get_ending_sector0   s    ~~a 2%%r   c                 h    | j                   d   | j                         z
  dz  | j                   d   z   S )zGet Starting Cylinder.r      r	   )r&   r.   r   s    r   get_starting_cylinderz%PARTITION_ENTRY.get_starting_cylinder4   s@     Q$":":"<<  #$ 	$r   c                 h    | j                   d   | j                         z
  dz  | j                   d   z   S )zGet Ending Cylinder.r   r2   r	   )r*   r0   r   s    r   get_ending_cylinderz#PARTITION_ENTRY.get_ending_cylinder:   s3    q!D$:$:$<<ADNNSTDUUUr   c                     | j                   S )z,Get Starting LBA (Logical Block Addressing).)StartingLBAr   s    r   get_starting_lbaz PARTITION_ENTRY.get_starting_lba>   s    r   c                     | j                   S )zGet Size in Sectors.)SizeInSectorsr   s    r   get_size_in_sectorsz#PARTITION_ENTRY.get_size_in_sectorsB   s    !!!r   N)r   r   r   intr   boolr   r   r#   r'   r+   r.   r0   r3   r5   r8   r;   r   r   r   r   r      s    !3 !IT I
C 
## #! !(S (&3 &$s $VS V #  "S "r   r   N)volatility3.frameworkr   
StructTyper   r   r   r   r   <module>r@      s.   
 *
g(( 
1"g(( 1"r   