Home | History | Annotate | Download | only in HiiPack
      1 /*++
      2 
      3 Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
      4 This program and the accompanying materials
      5 are licensed and made available under the terms and conditions of the BSD License
      6 which accompanies this distribution.  The full text of the license may be found at
      7 http://opensource.org/licenses/bsd-license.php
      8 
      9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     11 
     12 Module Name:
     13 
     14   IfrParse.h
     15 
     16 Abstract:
     17 
     18   Prototypes and defines for the IFR parsing services.
     19 
     20 --*/
     21 
     22 #ifndef _IFR_PARSE_H_
     23 #define _IFR_PARSE_H_
     24 
     25 #define DEFAULT_HII_PACK_FILENAME_EXTENSION ".hpk"
     26 //
     27 // When we parse IFR, we'll keep the IFR in a linked list of
     28 // these.
     29 //
     30 typedef struct _IFR_PARSE_ENTRY {
     31   struct _IFR_PARSE_ENTRY *Next;
     32   int                     Tag;  // for debugging
     33   EFI_IFR_OP_HEADER       *RawIfrHeader;
     34   //
     35   // GUIDs for variable storage
     36   //
     37   EFI_GUID                *VarStoreGuid1;
     38   char                    *VarStoreName1;
     39   EFI_GUID                *VarStoreGuid2;
     40   char                    *VarStoreName2;
     41 } IFR_PARSE_ENTRY;
     42 
     43 typedef struct _IFR_PARSE_CONTEXT {
     44   struct _IFR_PARSE_CONTEXT *Next;
     45   EFI_HII_IFR_PACK          *PackHeader;
     46   char                      *IfrBufferStart;
     47   char                      *CurrentPos;
     48   long                      IfrBufferLen;
     49   int                       Handle;
     50   IFR_PARSE_ENTRY           *Ifr;
     51   IFR_PARSE_ENTRY           *LastIfr;
     52   IFR_PARSE_ENTRY           *CurrentIfr;
     53   FILE                      *OutFptr;
     54   CHAR16                    *Language;
     55   EFI_GUID                  *FormsetGuid;
     56   EFI_GUID                  NullGuid;     // for use until we set the Guid field correctly
     57   EFI_GUID                  PackageGuid;  // from the PackageGuid in the HII data table
     58 } IFR_PARSE_CONTEXT;
     59 
     60 STATUS
     61 IfrGetVarPack (
     62   int                   VarIndex,
     63   EFI_HII_VARIABLE_PACK **VarPack
     64   )
     65 /*++
     66 
     67 Routine Description:
     68 
     69   GC_TODO: Add function description
     70 
     71 Arguments:
     72 
     73   VarIndex  - GC_TODO: add argument description
     74   VarPack   - GC_TODO: add argument description
     75 
     76 Returns:
     77 
     78   GC_TODO: add return values
     79 
     80 --*/
     81 ;
     82 
     83 STATUS
     84 IfrParsePack (
     85   int              Handle,
     86   EFI_HII_IFR_PACK *PackHeader,
     87   EFI_GUID         *PackageGuid
     88   )
     89 /*++
     90 
     91 Routine Description:
     92 
     93   GC_TODO: Add function description
     94 
     95 Arguments:
     96 
     97   Handle      - GC_TODO: add argument description
     98   PackHeader  - GC_TODO: add argument description
     99   PackageGuid - GC_TODO: add argument description
    100 
    101 Returns:
    102 
    103   GC_TODO: add return values
    104 
    105 --*/
    106 ;
    107 
    108 STATUS
    109 IfrParseCheck (
    110   char *Buffer,
    111   long BufferSize
    112   )
    113 /*++
    114 
    115 Routine Description:
    116 
    117   GC_TODO: Add function description
    118 
    119 Arguments:
    120 
    121   Buffer      - GC_TODO: add argument description
    122   BufferSize  - GC_TODO: add argument description
    123 
    124 Returns:
    125 
    126   GC_TODO: add return values
    127 
    128 --*/
    129 ;
    130 
    131 STATUS
    132 IfrParseInit (
    133   VOID
    134   )
    135 /*++
    136 
    137 Routine Description:
    138 
    139   GC_TODO: Add function description
    140 
    141 Arguments:
    142 
    143   None
    144 
    145 Returns:
    146 
    147   GC_TODO: add return values
    148 
    149 --*/
    150 ;
    151 
    152 STATUS
    153 IfrParseEnd (
    154   VOID
    155   )
    156 /*++
    157 
    158 Routine Description:
    159 
    160   GC_TODO: Add function description
    161 
    162 Arguments:
    163 
    164   None
    165 
    166 Returns:
    167 
    168   GC_TODO: add return values
    169 
    170 --*/
    171 ;
    172 
    173 STATUS
    174 IfrParseDump (
    175   int    Handle,
    176   CHAR16 *Language,
    177   FILE   *OutFptr
    178   )
    179 /*++
    180 
    181 Routine Description:
    182 
    183   GC_TODO: Add function description
    184 
    185 Arguments:
    186 
    187   Handle    - GC_TODO: add argument description
    188   Language  - GC_TODO: add argument description
    189   OutFptr   - GC_TODO: add argument description
    190 
    191 Returns:
    192 
    193   GC_TODO: add return values
    194 
    195 --*/
    196 ;
    197 
    198 STATUS
    199 IfrSetDefaults (
    200   int MfgDefaults
    201   )
    202 /*++
    203 
    204 Routine Description:
    205 
    206   GC_TODO: Add function description
    207 
    208 Arguments:
    209 
    210   MfgDefaults - GC_TODO: add argument description
    211 
    212 Returns:
    213 
    214   GC_TODO: add return values
    215 
    216 --*/
    217 ;
    218 
    219 STATUS
    220 IfrGetIfrPack (
    221   int              Handle,
    222   EFI_HII_IFR_PACK **PackHeader,
    223   EFI_GUID         *FormsetGuid
    224   )
    225 /*++
    226 
    227 Routine Description:
    228 
    229   GC_TODO: Add function description
    230 
    231 Arguments:
    232 
    233   Handle      - GC_TODO: add argument description
    234   PackHeader  - GC_TODO: add argument description
    235   FormsetGuid - GC_TODO: add argument description
    236 
    237 Returns:
    238 
    239   GC_TODO: add return values
    240 
    241 --*/
    242 ;
    243 
    244 STATUS
    245 IfrReferencesVarPack (
    246   int                   IfrHandle,
    247   EFI_HII_VARIABLE_PACK *VarPack
    248   )
    249 /*++
    250 
    251 Routine Description:
    252 
    253   GC_TODO: Add function description
    254 
    255 Arguments:
    256 
    257   IfrHandle - GC_TODO: add argument description
    258   VarPack   - GC_TODO: add argument description
    259 
    260 Returns:
    261 
    262   GC_TODO: add return values
    263 
    264 --*/
    265 ;
    266 
    267 #endif // #ifndef _IFR_PARSE_H_
    268