3 * Copyright (C) 2002, 2003 ReactOS Team
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 /* $Id: partlist.h,v 1.14 2003/08/05 20:39:24 ekohl Exp $
20 * COPYRIGHT: See COPYING in the top level directory
21 * PROJECT: ReactOS text-mode setup
22 * FILE: subsys/system/usetup/partlist.h
23 * PURPOSE: Partition list functions
24 * PROGRAMMER: Eric Kohl
27 #ifndef __PARTLIST_H__
28 #define __PARTLIST_H__
31 typedef struct _PARTENTRY
37 CHAR FileSystemName
[9];
39 /* Partition is unused disk space */
40 BOOLEAN Unpartitioned
;
42 /* Partition is new. Table does not exist on disk yet */
46 * Raw offset and length of the unpartitioned disk space.
47 * Includes the leading, not yet existing, partition table.
49 ULONGLONG UnpartitionedOffset
;
50 ULONGLONG UnpartitionedLength
;
52 PARTITION_INFORMATION PartInfo
[4];
54 } PARTENTRY
, *PPARTENTRY
;
57 typedef struct _DISKENTRY
62 ULONGLONG TracksPerCylinder
;
63 ULONGLONG SectorsPerTrack
;
64 ULONGLONG BytesPerSector
;
67 ULONGLONG CylinderSize
;
75 UNICODE_STRING DriverName
;
77 LIST_ENTRY PartListHead
;
79 } DISKENTRY
, *PDISKENTRY
;
82 typedef struct _PARTLIST
94 PDISKENTRY CurrentDisk
;
95 PPARTENTRY CurrentPartition
;
99 PDISKENTRY ActiveBootDisk
;
100 PPARTENTRY ActiveBootPartition
;
103 LIST_ENTRY DiskListHead
;
105 } PARTLIST
, *PPARTLIST
;
110 CreatePartitionList(SHORT Left
,
116 DestroyPartitionList(PPARTLIST List
);
119 DrawPartitionList(PPARTLIST List
);
122 ScrollDownPartitionList(PPARTLIST List
);
125 ScrollUpPartitionList(PPARTLIST List
);
128 GetActiveBootPartition(PPARTLIST List
,
129 PDISKENTRY
*DiskEntry
,
130 PPARTENTRY
*PartEntry
);
133 CreateSelectedPartition(PPARTLIST List
,
135 ULONGLONG NewPartSize
);
138 DeleteSelectedPartition(PPARTLIST List
);
142 MarkPartitionActive(ULONG DiskNumber
,
143 ULONG PartitionNumber
,
144 PPARTDATA ActivePartition
);
147 #endif /* __PARTLIST_H__ */