
    Xf                     ^    d dl mZ  G d dej                  Z G d dej                  ZdS )    )objectsc                       e Zd ZdefdZdS )PARTITION_TABLEreturnc                     d                     | 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	   sF    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dS )PARTITION_ENTRYr   c                     | j         S )zGet Bootable Flag.)BootableFlagr   s    r   get_bootable_flagz!PARTITION_ENTRY.get_bootable_flag   s      r   c                 :    |                                  dk    sdndS )zCheck Bootable Partition.   FT)r   r   s    r   is_bootablezPARTITION_ENTRY.is_bootable   s"    !3355==uuDHr   c                 P    | j         j        r| j                                         n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   s.     !1-D%%''',	
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         |                                 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         |                                 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:   s2    q!D$:$:$<$<<ADNSTDU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      sG       !3 ! ! ! !IT I I I I
C 
 
 
 
## # # # #! ! ! ! !(S ( ( ( (&3 & & & &$s $ $ $ $VS V V V V #        "S " " " " " "r   r   N)volatility3.frameworkr   
StructTyper   r   r   r   r   <module>r@      s}   
 * ) ) ) ) )
 
 
 
 
g( 
 
 
1" 1" 1" 1" 1"g( 1" 1" 1" 1" 1"r   