[BOOTLIB]:
[reactos.git] / reactos / boot / environ / app / bootmgr / bootmgr.h
1 /*
2 * COPYRIGHT: See COPYING.ARM in the top level directory
3 * PROJECT: ReactOS UEFI Boot Manager
4 * FILE: boot/environ/app/bootmgr/bootmgr.h
5 * PURPOSE: Main Boot Manager Header
6 * PROGRAMMER: Alex Ionescu (alex.ionescu@reactos.org)
7 */
8
9 #ifndef _BOOTMGR_H
10 #define _BOOTMGR_H
11
12 /* INCLUDES ******************************************************************/
13
14 /* C Headers */
15 #include <stdlib.h>
16 #include <stdio.h>
17 #include <wchar.h>
18
19 /* NT Base Headers */
20 #include <initguid.h>
21 #include <ntifs.h>
22
23 /* UEFI Headers */
24 #include <Uefi.h>
25
26 /* Boot Library Headers */
27 #include <bl.h>
28
29 /* BCD Headers */
30 #include <bcd.h>
31
32 /* STRUCTURES ****************************************************************/
33
34 typedef struct _BL_BOOT_ERROR
35 {
36 ULONG ErrorCode;
37 NTSTATUS ErrorStatus;
38 ULONG Unknown1;
39 PWCHAR ErrorString;
40 PWCHAR FileName;
41 ULONG HelpMsgId;
42 ULONG Unknown2;
43 } BL_BOOT_ERROR, *PBL_BOOT_ERROR;
44
45 typedef struct _BL_PACKED_BOOT_ERROR
46 {
47 PBL_BOOT_ERROR BootError;
48 ULONG Unknown;
49 ULONG Size;
50 } BL_PACKED_BOOT_ERROR, *PBL_PACKED_BOOT_ERROR;
51
52 #define BL_FATAL_ERROR_BCD_READ 0x02
53
54 /* FUNCTIONS *****************************************************************/
55
56 NTSTATUS
57 BmMain (
58 _In_ PBOOT_APPLICATION_PARAMETER_BLOCK BootParameters
59 );
60
61 #endif