Synchronize with trunk r58528.
[reactos.git] / boot / armllb / inc / envir.h
1 /*
2 * PROJECT: ReactOS Boot Loader
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: boot/armllb/inc/envir.h
5 * PURPOSE: LLB Environment Functions
6 * PROGRAMMERS: ReactOS Portable Systems Group
7 */
8
9 typedef struct _ATAG_HEADER
10 {
11 ULONG Size;
12 ULONG Tag;
13 } ATAG_HEADER, *PATAG_HEADER;
14
15 typedef struct _ATAG_CORE
16 {
17 ULONG Flags;
18 ULONG PageSize;
19 ULONG RootDev;
20 } ATAG_CORE, *PATAG_CORE;
21
22 typedef struct _ATAG_MEM
23 {
24 ULONG Size;
25 ULONG Start;
26 } ATAG_MEM, *PATAG_MEM;
27
28 typedef struct _ATAG_REVISION
29 {
30 ULONG Rev;
31 } ATAG_REVISION, *PATAG_REVISION;
32
33 typedef struct _ATAG_INITRD2
34 {
35 ULONG Start;
36 ULONG Size;
37 } ATAG_INITRD2, *PATAG_INITRD2;
38
39 typedef struct _ATAG_CMDLINE
40 {
41 CHAR CmdLine[ANYSIZE_ARRAY];
42 } ATAG_CMDLINE, *PATAG_CMDLINE;
43
44 typedef struct _ATAG
45 {
46 ATAG_HEADER Hdr;
47 union
48 {
49 ATAG_CORE Core;
50 ATAG_MEM Mem;
51 ATAG_REVISION Revision;
52 ATAG_INITRD2 InitRd2;
53 ATAG_CMDLINE CmdLine;
54 } u;
55 } ATAG, *PATAG;
56
57 #define ATAG_NONE 0x00000000
58 #define ATAG_CORE 0x54410001
59 #define ATAG_MEM 0x54410002
60 #define ATAG_VIDEOTEXT 0x54410003
61 #define ATAG_RAMDISK 0x54410004
62 #define ATAG_INITRD2 0x54420005
63 #define ATAG_SERIAL 0x54410006
64 #define ATAG_REVISION 0x54410007
65 #define ATAG_VIDEOLFB 0x54410008
66 #define ATAG_CMDLINE 0x54410009
67
68 PCHAR
69 NTAPI
70 LlbEnvRead(
71 IN PCHAR Option
72 );
73
74 BOOLEAN
75 NTAPI
76 LlbEnvGetRamDiskInformation(
77 IN PULONG Base,
78 IN PULONG Size
79 );
80
81 VOID
82 NTAPI
83 LlbEnvGetMemoryInformation(
84 IN PULONG Base,
85 IN PULONG Size
86 );
87
88 VOID
89 NTAPI
90 LlbEnvParseArguments(
91 IN PATAG Arguments
92 );
93
94 /* EOF */