ReactOS  0.4.15-dev-5499-g1341c38
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 //
13 typedef struct _BOOT_DRIVER_NODE
14 {
21 
22 
23 //
24 // Boot Routines
25 //
26 CODE_SEG("INIT")
28 NTAPI
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 
41 CODE_SEG("INIT")
42 BOOLEAN
43 NTAPI
44 CmpIsDriverInList(
45  _In_ PLIST_ENTRY DriverListHead,
46  _In_ PCUNICODE_STRING DriverName,
47  _Out_opt_ PBOOT_DRIVER_NODE* FoundDriver);
48 
49 #endif /* _BLDR_ */
50 
51 CODE_SEG("INIT")
52 BOOLEAN
53 NTAPI
55  _In_ PHHIVE Hive,
56  _In_ HCELL_INDEX ControlSet,
57  _In_ SERVICE_LOAD_TYPE LoadType,
59  _Inout_ PLIST_ENTRY DriverListHead);
60 
61 CODE_SEG("INIT")
62 BOOLEAN
63 NTAPI
65  _In_ PHHIVE Hive,
66  _In_ HCELL_INDEX ControlSet,
67  _Inout_ PLIST_ENTRY DriverListHead);
68 
69 CODE_SEG("INIT")
70 BOOLEAN
71 NTAPI
73  _Inout_ PLIST_ENTRY DriverListHead);
74 
75 CODE_SEG("INIT")
76 VOID
77 NTAPI
79  _In_ PHHIVE Hive,
80  _Inout_ PLIST_ENTRY DriverListHead);
const uint16_t * PCWSTR
Definition: typedefs.h:57
BOOT_DRIVER_LIST_ENTRY ListEntry
Definition: cmboot.h:15
#define _In_opt_
Definition: ms_sal.h:309
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
#define _Inout_
Definition: ms_sal.h:378
#define _Out_
Definition: ms_sal.h:345
struct _BOOT_DRIVER_NODE BOOT_DRIVER_NODE
ULONG ErrorControl
Definition: cmboot.h:19
enum _CM_SERVICE_LOAD_TYPE SERVICE_LOAD_TYPE
PHHIVE SystemHive
Definition: registry.c:32
BOOLEAN NTAPI CmpResolveDriverDependencies(_Inout_ PLIST_ENTRY DriverListHead)
Removes potential circular dependencies (cycles) and sorts the driver list.
Definition: cmboot.c:1030
Definition: arc.h:198
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
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
unsigned char BOOLEAN
#define _In_
Definition: ms_sal.h:308
PCWSTR BootFileSystem
Definition: winldr.c:30
UNICODE_STRING Name
Definition: cmboot.h:17
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
ULONG HCELL_INDEX
Definition: hivedata.h:80
char * PBOOLEAN
Definition: retypes.h:11
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
Definition: typedefs.h:119
UNICODE_STRING Group
Definition: cmboot.h:16
struct _BOOT_DRIVER_NODE * PBOOT_DRIVER_NODE
#define _Out_opt_
Definition: ms_sal.h:346
unsigned int ULONG
Definition: retypes.h:1
static CODE_SEG("PAGE")
Definition: isapnp.c:1482