X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Fsubsys%2Fsystem%2Fusetup%2Fpartlist.h;h=42f9ef586a716e10ff09a87357f92f32f4bc2b76;hp=65b6381c94e500bcef4132011c69561650f02f9e;hb=9f214815b76897cd3129848762d31f7de4686669;hpb=a9ef5d9d40621b2606db714522e757d5f9802219;ds=sidebyside diff --git a/reactos/subsys/system/usetup/partlist.h b/reactos/subsys/system/usetup/partlist.h index 65b6381c94e..42f9ef586a7 100644 --- a/reactos/subsys/system/usetup/partlist.h +++ b/reactos/subsys/system/usetup/partlist.h @@ -68,6 +68,15 @@ typedef struct _PARTENTRY } PARTENTRY, *PPARTENTRY; +typedef struct _BIOSDISKENTRY +{ + LIST_ENTRY ListEntry; + ULONG DiskNumber; + ULONG Signature; + ULONG Checksum; +} BIOSDISKENTRY, *PBIOSDISKENTRY; + + typedef struct _DISKENTRY { LIST_ENTRY ListEntry; @@ -81,6 +90,11 @@ typedef struct _DISKENTRY ULONGLONG CylinderSize; ULONGLONG TrackSize; + BOOLEAN BiosFound; + ULONG BiosDiskNumber; + ULONG Signature; + ULONG Checksum; + ULONG DiskNumber; USHORT Port; USHORT Bus; @@ -118,10 +132,46 @@ typedef struct _PARTLIST PPARTENTRY ActiveBootPartition; LIST_ENTRY DiskListHead; + LIST_ENTRY BiosDiskListHead; } PARTLIST, *PPARTLIST; +#define PARTITION_TBL_SIZE 4 +#include + +typedef struct _PARTITION +{ + unsigned char BootFlags; /* bootable? 0=no, 128=yes */ + unsigned char StartingHead; /* beginning head number */ + unsigned char StartingSector; /* beginning sector number */ + unsigned char StartingCylinder; /* 10 bit nmbr, with high 2 bits put in begsect */ + unsigned char PartitionType; /* Operating System type indicator code */ + unsigned char EndingHead; /* ending head number */ + unsigned char EndingSector; /* ending sector number */ + unsigned char EndingCylinder; /* also a 10 bit nmbr, with same high 2 bit trick */ + unsigned int StartingBlock; /* first sector relative to start of disk */ + unsigned int SectorCount; /* number of sectors in partition */ +} PARTITION, *PPARTITION; + +typedef struct _PARTITION_SECTOR +{ + UCHAR BootCode[440]; /* 0x000 */ + ULONG Signature; /* 0x1B8 */ + UCHAR Reserved[2]; /* 0x1BC */ + PARTITION Partition[PARTITION_TBL_SIZE]; /* 0x1BE */ + USHORT Magic; /* 0x1FE */ +} PARTITION_SECTOR, *PPARTITION_SECTOR; + +#include + +typedef struct +{ + LIST_ENTRY ListEntry; + ULONG DiskNumber; + ULONG Idendifier; + ULONG Signature; +} BIOS_DISK, *PBIOS_DISK; PPARTLIST CreatePartitionList (SHORT Left,