:pserver:cvsanon@mok.lvcm.com:/CVS/ReactOS reactos
[reactos.git] / subsys / system / usetup / partlist.h
1 /*
2  *  ReactOS kernel
3  *  Copyright (C) 2002 ReactOS Team
4  *
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.
9  *
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.
14  *
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.
18  */
19 /*
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
25  */
26
27 #ifndef __PARTLIST_H__
28 #define __PARTLIST_H__
29
30 typedef struct _PARTDATA
31 {
32   ULONGLONG DiskSize;
33   ULONG DiskNumber;
34   USHORT Port;
35   USHORT Bus;
36   USHORT Id;
37   ULONGLONG PartSize;
38   ULONG PartNumber;
39   ULONG PartType;
40 } PARTDATA, *PPARTDATA;
41
42
43 typedef struct _PARTENTRY
44 {
45   ULONGLONG PartSize;
46   ULONG PartNumber;
47   ULONG PartType;
48   CHAR DriveLetter;
49   BOOL Used;
50 } PARTENTRY, *PPARTENTRY;
51
52 typedef struct _DISKENTRY
53 {
54   ULONGLONG DiskSize;
55   ULONG DiskNumber;
56   USHORT Port;
57   USHORT Bus;
58   USHORT Id;
59   BOOL FixedDisk;
60
61   ULONG PartCount;
62   PPARTENTRY PartArray;
63
64 } DISKENTRY, *PDISKENTRY;
65
66
67 typedef struct _PARTLIST
68 {
69   SHORT Left;
70   SHORT Top;
71   SHORT Right;
72   SHORT Bottom;
73
74   SHORT Line;
75
76   ULONG TopDisk;
77   ULONG TopPartition;
78
79   ULONG CurrentDisk;
80   ULONG CurrentPartition;
81
82   ULONG DiskCount;
83   PDISKENTRY DiskArray;
84
85 } PARTLIST, *PPARTLIST;
86
87
88
89
90 PPARTLIST
91 CreatePartitionList(SHORT Left,
92                     SHORT Top,
93                     SHORT Right,
94                     SHORT Bottom);
95
96 VOID
97 DestroyPartitionList(PPARTLIST List);
98
99 VOID
100 DrawPartitionList(PPARTLIST List);
101
102 VOID
103 ScrollDownPartitionList(PPARTLIST List);
104
105 VOID
106 ScrollUpPartitionList(PPARTLIST List);
107
108 BOOL
109 GetPartitionData(PPARTLIST List, PPARTDATA Data);
110
111 #endif /* __PARTLIST_H__ */
112
113 /* EOF */