93 lines
1.8 KiB
Python
93 lines
1.8 KiB
Python
import enum
|
|
from destruct import Struct
|
|
|
|
from .ntfs import NTFSPartition, NTFSIndex
|
|
|
|
|
|
class GhostFlags(enum.Enum):
|
|
Linux = 2
|
|
WindowsNT = 4
|
|
|
|
class SystemID(enum.Enum):
|
|
Empty = 0x0
|
|
FAT12 = 0x1
|
|
XENIXRoot = 0x2
|
|
XENIXUsr = 0x3
|
|
FAT16 = 0x4
|
|
Extended = 0x5
|
|
FAT16B = 0x6
|
|
NTFS = 0x7
|
|
AIX = 0x8
|
|
AIXBootable = 0x9
|
|
OS2Boot = 0xA
|
|
FAT32 = 0xB
|
|
FAT32LBA = 0xC
|
|
FAT16BLBA = 0xE
|
|
ExtendedLBA = 0xF
|
|
OPUS = 16
|
|
FAT12Hidden = 0x11
|
|
Service = 0x12
|
|
FAT16Hidden = 0x14
|
|
ExtendedHidden = 0x15
|
|
FAT16BHidden = 0x16
|
|
NTFSHidden = 0x17
|
|
ASTSuspend = 0x18
|
|
COS = 0x19
|
|
FAT32Hidden = 0x1B
|
|
FAT32LBAHidden = 0x1C
|
|
FAT16LBAHidden = 0x1E
|
|
ExtendedLBAHidden = 0x1F
|
|
WinMobileUpdate = 0x20
|
|
WinMobileBoot = 0x23
|
|
NECDOS = 0x24
|
|
WinMobileImage = 0x25
|
|
WinRE = 0x27
|
|
JFS = 0x35
|
|
Plan9 = 0x39
|
|
PartitionMagic = 0x3C
|
|
Venix = 0x40
|
|
PReP = 0x41
|
|
WinDynamicExtended = 0x42
|
|
QNXPrimary = 0x4D
|
|
QNXSecondary = 0x4E
|
|
QNXTertiary = 0x4F
|
|
HURD = 0x63
|
|
LinuxSwap = 0x83
|
|
Linux = 0x83
|
|
LinuxExtended = 0x85
|
|
VolumeSetFAT16B = 0x86
|
|
VolumeSetNTFS = 0x87
|
|
VolumeSetFAT32 = 0x8B
|
|
VolumeSetFAT32LBA = 0x8C
|
|
LinuxLVM = 0x8E
|
|
LinuxHidden = 0x93
|
|
Hibernate1 = 0xA0
|
|
Hibernate2 = 0xA1
|
|
BSD = 0xA5
|
|
OpenBSD = 0xA6
|
|
NeXT = 0xA7
|
|
Darwin = 0xA8
|
|
NetBSD = 0xA9
|
|
DarwinBoot = 0xAB
|
|
DarwinRAID = 0xAC
|
|
HFS = 0xAF
|
|
SolarisBoot = 0xBE
|
|
Solaris = 0xBF
|
|
CPM = 0xDB
|
|
FAT16Utility = 0xDE
|
|
LUKS = 0xE8
|
|
BeOS = 0xEB
|
|
EFIProtective = 0xEE
|
|
EFISystem = 0xEF
|
|
VMwareVMFS = 0xFB
|
|
VMwareSwap = 0xFC
|
|
LinuxRAID = 0xFD
|
|
FAT12Recovery = 0xFE
|
|
|
|
|
|
def select_partition_parser(properties):
|
|
return NTFSPartition
|
|
|
|
def select_partition_index_parser(properties):
|
|
return NTFSIndex
|