]> git.proxmox.com Git - mirror_edk2.git/blob - ShellPkg/Include/ShellBase.h
ShellPkg: Fix ARM build errors.
[mirror_edk2.git] / ShellPkg / Include / ShellBase.h
1 /** @file
2 Root include file for Shell Package modules that utilize the SHELL_RETURN type
3
4 Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #ifndef _SHELL_BASE_
16 #define _SHELL_BASE_
17
18 typedef VOID *SHELL_FILE_HANDLE;
19
20 #define SHELL_FREE_NON_NULL(Pointer) \
21 do { \
22 if ((Pointer) != NULL) { \
23 FreePool((Pointer)); \
24 (Pointer) = NULL; \
25 } \
26 } while(FALSE)
27
28 typedef enum {
29 ///
30 /// The operation completed successfully.
31 ///
32 SHELL_SUCCESS = 0,
33
34 ///
35 /// The image failed to load.
36 ///
37 SHELL_LOAD_ERROR = 1,
38
39 ///
40 /// The parameter was incorrect.
41 ///
42 SHELL_INVALID_PARAMETER = 2,
43
44 ///
45 /// The operation is not supported.
46 ///
47 SHELL_UNSUPPORTED = 3,
48
49 ///
50 /// The buffer was not the proper size for the request.
51 ///
52 SHELL_BAD_BUFFER_SIZE = 4,
53
54 ///
55 /// The buffer was not large enough to hold the requested data.
56 /// The required buffer size is returned in the appropriate
57 /// parameter when this error occurs.
58 ///
59 SHELL_BUFFER_TOO_SMALL = 5,
60
61 ///
62 /// There is no data pending upon return.
63 ///
64 SHELL_NOT_READY = 6,
65
66 ///
67 /// The physical device reported an error while attempting the
68 /// operation.
69 ///
70 SHELL_DEVICE_ERROR = 7,
71
72 ///
73 /// The device cannot be written to.
74 ///
75 SHELL_WRITE_PROTECTED = 8,
76
77 ///
78 /// The resource has run out.
79 ///
80 SHELL_OUT_OF_RESOURCES = 9,
81
82 ///
83 /// An inconsistency was detected on the file system causing the
84 /// operation to fail.
85 ///
86 SHELL_VOLUME_CORRUPTED = 10,
87
88 ///
89 /// There is no more space on the file system.
90 ///
91 SHELL_VOLUME_FULL = 11,
92
93 ///
94 /// The device does not contain any medium to perform the
95 /// operation.
96 ///
97 SHELL_NO_MEDIA = 12,
98
99 ///
100 /// The medium in the device has changed since the last
101 /// access.
102 ///
103 SHELL_MEDIA_CHANGED = 13,
104
105 ///
106 /// The item was not found.
107 ///
108 SHELL_NOT_FOUND = 14,
109
110 ///
111 /// Access was denied.
112 ///
113 SHELL_ACCESS_DENIED = 15,
114
115 // note the skipping of 16 and 17
116
117 ///
118 /// A timeout time expired.
119 ///
120 SHELL_TIMEOUT = 18,
121
122 ///
123 /// The protocol has not been started.
124 ///
125 SHELL_NOT_STARTED = 19,
126
127 ///
128 /// The protocol has already been started.
129 ///
130 SHELL_ALREADY_STARTED = 20,
131
132 ///
133 /// The operation was aborted.
134 ///
135 SHELL_ABORTED = 21,
136
137 // note the skipping of 22, 23, and 24
138
139 ///
140 /// A function encountered an internal version that was
141 /// incompatible with a version requested by the caller.
142 ///
143 SHELL_INCOMPATIBLE_VERSION = 25,
144
145 ///
146 /// The function was not performed due to a security violation.
147 ///
148 SHELL_SECURITY_VIOLATION = 26,
149
150 ///
151 /// The function was performed and resulted in an unequal
152 /// comparison..
153 ///
154 SHELL_NOT_EQUAL = 27
155 }SHELL_STATUS;
156
157 #endif //__SHELL_BASE_