]> git.proxmox.com Git - mirror_edk2.git/blob - ShellPkg/Include/ShellBase.h
fixes for NULL verification.
[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 - 2010, 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 #ifndef SHELL_FREE_NON_NULL
21 #define SHELL_FREE_NON_NULL(Pointer) \
22 do { \
23 if ((Pointer) != NULL) { \
24 FreePool((Pointer)); \
25 (Pointer) = NULL; \
26 } \
27 } while(FALSE)
28 #endif //SHELL_FREE_NON_NULL
29
30 typedef enum {
31 ///
32 /// The operation completed successfully.
33 ///
34 SHELL_SUCCESS = 0,
35
36 ///
37 /// The image failed to load.
38 ///
39 SHELL_LOAD_ERROR = 1,
40
41 ///
42 /// The parameter was incorrect.
43 ///
44 SHELL_INVALID_PARAMETER = 2,
45
46 ///
47 /// The operation is not supported.
48 ///
49 SHELL_UNSUPPORTED = 3,
50
51 ///
52 /// The buffer was not the proper size for the request.
53 ///
54 SHELL_BAD_BUFFER_SIZE = 4,
55
56 ///
57 /// The buffer was not large enough to hold the requested data.
58 /// The required buffer size is returned in the appropriate
59 /// parameter when this error occurs.
60 ///
61 SHELL_BUFFER_TOO_SMALL = 5,
62
63 ///
64 /// There is no data pending upon return.
65 ///
66 SHELL_NOT_READY = 6,
67
68 ///
69 /// The physical device reported an error while attempting the
70 /// operation.
71 ///
72 SHELL_DEVICE_ERROR = 7,
73
74 ///
75 /// The device cannot be written to.
76 ///
77 SHELL_WRITE_PROTECTED = 8,
78
79 ///
80 /// The resource has run out.
81 ///
82 SHELL_OUT_OF_RESOURCES = 9,
83
84 ///
85 /// An inconsistency was detected on the file system causing the
86 /// operation to fail.
87 ///
88 SHELL_VOLUME_CORRUPTED = 10,
89
90 ///
91 /// There is no more space on the file system.
92 ///
93 SHELL_VOLUME_FULL = 11,
94
95 ///
96 /// The device does not contain any medium to perform the
97 /// operation.
98 ///
99 SHELL_NO_MEDIA = 12,
100
101 ///
102 /// The medium in the device has changed since the last
103 /// access.
104 ///
105 SHELL_MEDIA_CHANGED = 13,
106
107 ///
108 /// The item was not found.
109 ///
110 SHELL_NOT_FOUND = 14,
111
112 ///
113 /// Access was denied.
114 ///
115 SHELL_ACCESS_DENIED = 15,
116
117 // note the skipping of 16 and 17
118
119 ///
120 /// A timeout time expired.
121 ///
122 SHELL_TIMEOUT = 18,
123
124 ///
125 /// The protocol has not been started.
126 ///
127 SHELL_NOT_STARTED = 19,
128
129 ///
130 /// The protocol has already been started.
131 ///
132 SHELL_ALREADY_STARTED = 20,
133
134 ///
135 /// The operation was aborted.
136 ///
137 SHELL_ABORTED = 21,
138
139 // note the skipping of 22, 23, and 24
140
141 ///
142 /// A function encountered an internal version that was
143 /// incompatible with a version requested by the caller.
144 ///
145 SHELL_INCOMPATIBLE_VERSION = 25,
146
147 ///
148 /// The function was not performed due to a security violation.
149 ///
150 SHELL_SECURITY_VIOLATION = 26,
151
152 ///
153 /// The function was performed and resulted in an unequal
154 /// comparison..
155 ///
156 SHELL_NOT_EQUAL = 27
157 }SHELL_STATUS;
158
159 #endif //__SHELL_BASE__