xref: /reactos/boot/armllb/inc/envir.h (revision c2c66aff)
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 */
95