ReactOS 0.4.15-dev-7924-g5949c20
cmboot.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * PURPOSE: Configuration Manager - Boot Initialization Internal header
5 * COPYRIGHT: Copyright 2010 ReactOS Portable Systems Group
6 *
7 * NOTE: This module is shared by both the kernel and the bootloader.
8 */
9
10//
11// Boot Driver Node
12//
13typedef struct _BOOT_DRIVER_NODE
14{
21
22
23//
24// Boot Routines
25//
26CODE_SEG("INIT")
31 _In_ HCELL_INDEX RootCell,
32 _In_ PCUNICODE_STRING SelectKeyName,
33 _Out_ PBOOLEAN AutoSelect);
34
35
36//
37// Driver List Routines
38//
39#ifdef _BLDR_
40
41CODE_SEG("INIT")
44CmpIsDriverInList(
45 _In_ PLIST_ENTRY DriverListHead,
46 _In_ PCUNICODE_STRING DriverName,
47 _Out_opt_ PBOOT_DRIVER_NODE* FoundDriver);
48
49#endif /* _BLDR_ */
50
51CODE_SEG("INIT")
55 _In_ PHHIVE Hive,
56 _In_ HCELL_INDEX ControlSet,
57 _In_ SERVICE_LOAD_TYPE LoadType,
59 _Inout_ PLIST_ENTRY DriverListHead);
60
61CODE_SEG("INIT")
65 _In_ PHHIVE Hive,
66 _In_ HCELL_INDEX ControlSet,
67 _Inout_ PLIST_ENTRY DriverListHead);
68
69CODE_SEG("INIT")
73 _Inout_ PLIST_ENTRY DriverListHead);
74
75CODE_SEG("INIT")
76VOID
79 _In_ PHHIVE Hive,
80 _Inout_ PLIST_ENTRY DriverListHead);
#define CODE_SEG(...)
unsigned char BOOLEAN
PHHIVE SystemHive
Definition: registry.c:33
struct _BOOT_DRIVER_NODE BOOT_DRIVER_NODE
BOOLEAN NTAPI CmpFindDrivers(_In_ PHHIVE Hive, _In_ HCELL_INDEX ControlSet, _In_ SERVICE_LOAD_TYPE LoadType, _In_opt_ PCWSTR BootFileSystem, _Inout_ PLIST_ENTRY DriverListHead)
Enumerates all drivers within the given control set and load type, present in the "Services" sub-key,...
Definition: cmboot.c:679
BOOLEAN NTAPI CmpResolveDriverDependencies(_Inout_ PLIST_ENTRY DriverListHead)
Removes potential circular dependencies (cycles) and sorts the driver list.
Definition: cmboot.c:1030
HCELL_INDEX NTAPI CmpFindControlSet(_In_ PHHIVE SystemHive, _In_ HCELL_INDEX RootCell, _In_ PCUNICODE_STRING SelectKeyName, _Out_ PBOOLEAN AutoSelect)
Finds the corresponding "HKLM\SYSTEM\ControlSetXXX" system control set registry key,...
Definition: cmboot.c:84
struct _BOOT_DRIVER_NODE * PBOOT_DRIVER_NODE
BOOLEAN NTAPI CmpSortDriverList(_In_ PHHIVE Hive, _In_ HCELL_INDEX ControlSet, _Inout_ PLIST_ENTRY DriverListHead)
Sorts the driver list, according to the drivers' group load ordering.
Definition: cmboot.c:902
VOID NTAPI CmpFreeDriverList(_In_ PHHIVE Hive, _Inout_ PLIST_ENTRY DriverListHead)
Empties the driver list and frees all allocated driver nodes in it.
Definition: cmboot.c:1224
ULONG HCELL_INDEX
Definition: hivedata.h:105
#define _Out_opt_
Definition: ms_sal.h:346
#define _Inout_
Definition: ms_sal.h:378
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
Definition: arc.h:246
UNICODE_STRING Group
Definition: cmboot.h:16
BOOT_DRIVER_LIST_ENTRY ListEntry
Definition: cmboot.h:15
ULONG ErrorControl
Definition: cmboot.h:19
UNICODE_STRING Name
Definition: cmboot.h:17
Definition: typedefs.h:120
const uint16_t * PCWSTR
Definition: typedefs.h:57
unsigned char * PBOOLEAN
Definition: typedefs.h:53
#define NTAPI
Definition: typedefs.h:36
uint32_t ULONG
Definition: typedefs.h:59
PCWSTR BootFileSystem
Definition: winldr.c:30
enum _CM_SERVICE_LOAD_TYPE SERVICE_LOAD_TYPE