Synchronize with trunk revision 59636 (just before Alex's CreateProcess revamp).
[reactos.git] / base / setup / usetup / genlist.h
1 /*
2 * ReactOS kernel
3 * Copyright (C) 2004 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 /*
20 * COPYRIGHT: See COPYING in the top level directory
21 * PROJECT: ReactOS text-mode setup
22 * FILE: subsys/system/usetup/genlist.h
23 * PURPOSE: Generic list functions
24 * PROGRAMMER: Eric Kohl
25 */
26
27 #pragma once
28
29 struct _GENERIC_LIST_ENTRY;
30 typedef struct _GENERIC_LIST_ENTRY *PGENERIC_LIST_ENTRY;
31 struct _GENERIC_LIST;
32 typedef struct _GENERIC_LIST *PGENERIC_LIST;
33
34 PGENERIC_LIST
35 CreateGenericList(VOID);
36
37 VOID
38 DestroyGenericList(PGENERIC_LIST List,
39 BOOLEAN FreeUserData);
40
41 BOOLEAN
42 AppendGenericListEntry(PGENERIC_LIST List,
43 PCHAR Text,
44 PVOID UserData,
45 BOOLEAN Current);
46
47 VOID
48 DrawGenericList(PGENERIC_LIST List,
49 SHORT Left,
50 SHORT Top,
51 SHORT Right,
52 SHORT Bottom);
53
54 VOID
55 DrawScrollBarGenericLis(PGENERIC_LIST List);
56
57 VOID
58 ScrollDownGenericList(PGENERIC_LIST List);
59
60 VOID
61 ScrollUpGenericList(PGENERIC_LIST List);
62
63 VOID
64 ScrollPageDownGenericList(PGENERIC_LIST List);
65
66 VOID
67 ScrollPageUpGenericList(PGENERIC_LIST List);
68
69 VOID
70 ScrollToPositionGenericList (PGENERIC_LIST List, ULONG uIndex);
71
72 VOID
73 SetCurrentListEntry(PGENERIC_LIST List, PGENERIC_LIST_ENTRY Entry);
74
75 PGENERIC_LIST_ENTRY
76 GetCurrentListEntry(PGENERIC_LIST List);
77
78 PGENERIC_LIST_ENTRY
79 GetFirstListEntry(PGENERIC_LIST List);
80
81 PGENERIC_LIST_ENTRY
82 GetNextListEntry(PGENERIC_LIST_ENTRY Entry);
83
84 PVOID
85 GetListEntryUserData(PGENERIC_LIST_ENTRY List);
86
87 LPCSTR
88 GetListEntryText(PGENERIC_LIST_ENTRY List);
89
90 VOID
91 SaveGenericListState(PGENERIC_LIST List);
92
93 VOID
94 RestoreGenericListState(PGENERIC_LIST List);
95
96 VOID
97 GenericListKeyPress (PGENERIC_LIST List, CHAR AsciChar);
98
99 /* EOF */