Home | History | Annotate | Download | only in Include
      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_
    158