- Merge from trunk up to r45543
[reactos.git] / base / setup / usetup / fslist.h
1 /*
2 * ReactOS kernel
3 * Copyright (C) 2003 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 along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 /* COPYRIGHT: See COPYING in the top level directory
20 * PROJECT: ReactOS text-mode setup
21 * FILE: subsys/system/usetup/fslist.h
22 * PURPOSE: Filesystem list functions
23 * PROGRAMMER: Eric Kohl
24 * Casper S. Hornstrup (chorns@users.sourceforge.net)
25 */
26
27 #ifndef __FSLIST_H__
28 #define __FSLIST_H__
29
30 #include <fmifs/fmifs.h>
31
32 typedef struct _FILE_SYSTEM_ITEM
33 {
34 LIST_ENTRY ListEntry;
35 LPCWSTR FileSystem; /* Not owned by the item */
36 FORMATEX FormatFunc;
37 CHKDSKEX ChkdskFunc;
38 BOOLEAN QuickFormat;
39 } FILE_SYSTEM_ITEM, *PFILE_SYSTEM_ITEM;
40
41 typedef struct _FILE_SYSTEM_LIST
42 {
43 SHORT Left;
44 SHORT Top;
45 PFILE_SYSTEM_ITEM Selected;
46 LIST_ENTRY ListHead; /* List of FILE_SYSTEM_ITEM */
47 } FILE_SYSTEM_LIST, *PFILE_SYSTEM_LIST;
48
49 VOID
50 FS_AddProvider(
51 IN OUT PFILE_SYSTEM_LIST List,
52 IN LPCWSTR FileSystem,
53 IN FORMATEX FormatFunc,
54 IN CHKDSKEX ChkdskFunc);
55
56 PFILE_SYSTEM_LIST
57 CreateFileSystemList(
58 IN SHORT Left,
59 IN SHORT Top,
60 IN BOOLEAN ForceFormat,
61 IN LPCWSTR ForceFileSystem);
62
63 VOID
64 DestroyFileSystemList(
65 IN PFILE_SYSTEM_LIST List);
66
67 VOID
68 DrawFileSystemList(
69 IN PFILE_SYSTEM_LIST List);
70
71 VOID
72 ScrollDownFileSystemList(
73 IN PFILE_SYSTEM_LIST List);
74
75 VOID
76 ScrollUpFileSystemList(
77 IN PFILE_SYSTEM_LIST List);
78
79 #endif /* __FSLIST_H__ */
80
81 /* EOF */