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 { 15 BOOT_DRIVER_LIST_ENTRY ListEntry; 16 UNICODE_STRING Group; 17 UNICODE_STRING Name; 18 ULONG Tag; 19 ULONG ErrorControl; 20 } BOOT_DRIVER_NODE, *PBOOT_DRIVER_NODE; 21 22 23 // 24 // Boot Routines 25 // 26 CODE_SEG("INIT") 27 HCELL_INDEX 28 NTAPI 29 CmpFindControlSet( 30 _In_ PHHIVE SystemHive, 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 54 CmpFindDrivers( 55 _In_ PHHIVE Hive, 56 _In_ HCELL_INDEX ControlSet, 57 _In_ SERVICE_LOAD_TYPE LoadType, 58 _In_opt_ PCWSTR BootFileSystem, 59 _Inout_ PLIST_ENTRY DriverListHead); 60 61 CODE_SEG("INIT") 62 BOOLEAN 63 NTAPI 64 CmpSortDriverList( 65 _In_ PHHIVE Hive, 66 _In_ HCELL_INDEX ControlSet, 67 _Inout_ PLIST_ENTRY DriverListHead); 68 69 CODE_SEG("INIT") 70 BOOLEAN 71 NTAPI 72 CmpResolveDriverDependencies( 73 _Inout_ PLIST_ENTRY DriverListHead); 74 75 CODE_SEG("INIT") 76 VOID 77 NTAPI 78 CmpFreeDriverList( 79 _In_ PHHIVE Hive, 80 _Inout_ PLIST_ENTRY DriverListHead); 81