Sync with trunk 48067
[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 #pragma once
28
29 #include <fmifs/fmifs.h>
30
31 typedef struct _FILE_SYSTEM_ITEM
32 {
33 LIST_ENTRY ListEntry;
34 LPCWSTR FileSystem; /* Not owned by the item */
35 FORMATEX FormatFunc;
36 CHKDSKEX ChkdskFunc;
37 BOOLEAN QuickFormat;
38 } FILE_SYSTEM_ITEM, *PFILE_SYSTEM_ITEM;
39
40 typedef struct _FILE_SYSTEM_LIST
41 {
42 SHORT Left;
43 SHORT Top;
44 PFILE_SYSTEM_ITEM Selected;
45 LIST_ENTRY ListHead; /* List of FILE_SYSTEM_ITEM */
46 } FILE_SYSTEM_LIST, *PFILE_SYSTEM_LIST;
47
48 VOID
49 FS_AddProvider(
50 IN OUT PFILE_SYSTEM_LIST List,
51 IN LPCWSTR FileSystem,
52 IN FORMATEX FormatFunc,
53 IN CHKDSKEX ChkdskFunc);
54
55 PFILE_SYSTEM_LIST
56 CreateFileSystemList(
57 IN SHORT Left,
58 IN SHORT Top,
59 IN BOOLEAN ForceFormat,
60 IN LPCWSTR ForceFileSystem);
61
62 VOID
63 DestroyFileSystemList(
64 IN PFILE_SYSTEM_LIST List);
65
66 VOID
67 DrawFileSystemList(
68 IN PFILE_SYSTEM_LIST List);
69
70 VOID
71 ScrollDownFileSystemList(
72 IN PFILE_SYSTEM_LIST List);
73
74 VOID
75 ScrollUpFileSystemList(
76 IN PFILE_SYSTEM_LIST List);
77
78 /* EOF */