mirror of
				https://git.proxmox.com/git/mirror_edk2
				synced 2025-10-31 07:17:27 +00:00 
			
		
		
		
	 da92f27632
			
		
	
	
		da92f27632
		
	
	
	
	
		
			
			BaseTool Branch: https://edk2-buildtools.svn.sourceforge.net/svnroot/edk2-buildtools/branches/Releases/BaseTools_r2100 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11640 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /** @file
 | |
|   
 | |
|   VfrCompiler Error definition
 | |
| 
 | |
| Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
 | |
| This program and the accompanying materials                          
 | |
| are licensed and made available under the terms and conditions of the BSD License         
 | |
| which accompanies this distribution.  The full text of the license may be found at        
 | |
| http://opensource.org/licenses/bsd-license.php                                            
 | |
|                                                                                           
 | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     
 | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef _VFRERROR_H_
 | |
| #define _VFRERROR_H_
 | |
| 
 | |
| #include "Common/UefiBaseTypes.h"
 | |
| 
 | |
| typedef enum {
 | |
|   VFR_RETURN_SUCCESS = 0,
 | |
|   VFR_RETURN_ERROR_SKIPED,
 | |
|   VFR_RETURN_FATAL_ERROR,
 | |
|   VFR_RETURN_MISMATCHED,
 | |
|   VFR_RETURN_INVALID_PARAMETER,
 | |
|   VFR_RETURN_OUT_FOR_RESOURCES,
 | |
|   VFR_RETURN_UNSUPPORTED,
 | |
|   VFR_RETURN_REDEFINED,
 | |
|   VFR_RETURN_FORMID_REDEFINED,
 | |
|   VFR_RETURN_QUESTIONID_REDEFINED,
 | |
|   VFR_RETURN_VARSTOREID_REDEFINED,
 | |
|   VFR_RETURN_UNDEFINED,
 | |
|   VFR_RETURN_VAR_NOTDEFINED_BY_QUESTION,
 | |
|   VFR_RETURN_VARSTORE_DATATYPE_REDEFINED_ERROR,
 | |
|   VFR_RETURN_GET_EFIVARSTORE_ERROR,
 | |
|   VFR_RETURN_EFIVARSTORE_USE_ERROR,
 | |
|   VFR_RETURN_EFIVARSTORE_SIZE_ERROR,
 | |
|   VFR_RETURN_GET_NVVARSTORE_ERROR,
 | |
|   VFR_RETURN_QVAR_REUSE,
 | |
|   VFR_RETURN_FLAGS_UNSUPPORTED,
 | |
|   VFR_RETURN_ERROR_ARRARY_NUM,
 | |
|   VFR_RETURN_DATA_STRING_ERROR,
 | |
|   VFR_RETURN_DEFAULT_VALUE_REDEFINED,
 | |
|   VFR_RETURN_CONSTANT_ONLY,
 | |
|   VFR_RETURN_CODEUNDEFINED
 | |
| } EFI_VFR_RETURN_CODE;
 | |
| 
 | |
| typedef struct _SVFR_ERROR_HANDLE {
 | |
|   EFI_VFR_RETURN_CODE    mErrorCode;
 | |
|   CONST CHAR8            *mErrorMsg;
 | |
| } SVFR_ERROR_HANDLE;
 | |
| 
 | |
| struct SVfrFileScopeRecord {
 | |
|   CHAR8                 *mFileName;
 | |
|   UINT32                mWholeScopeLine;
 | |
|   UINT32                mScopeLineStart;
 | |
|   SVfrFileScopeRecord *mNext;
 | |
| 
 | |
|   SVfrFileScopeRecord (IN CHAR8 *, IN UINT32);
 | |
|   ~SVfrFileScopeRecord();
 | |
| };
 | |
| 
 | |
| class CVfrErrorHandle {
 | |
| private:
 | |
|   CHAR8               *mInputFileName;
 | |
|   SVFR_ERROR_HANDLE   *mVfrErrorHandleTable;
 | |
|   SVfrFileScopeRecord *mScopeRecordListHead;
 | |
|   SVfrFileScopeRecord *mScopeRecordListTail;
 | |
| 
 | |
| public:
 | |
|   CVfrErrorHandle (VOID);
 | |
|   ~CVfrErrorHandle (VOID);
 | |
| 
 | |
|   VOID  SetInputFile (IN CHAR8 *);
 | |
|   VOID  ParseFileScopeRecord (IN CHAR8 *, IN UINT32);
 | |
|   VOID  GetFileNameLineNum (IN UINT32, OUT CHAR8 **, OUT UINT32 *);
 | |
|   UINT8 HandleError (IN EFI_VFR_RETURN_CODE, IN UINT32 LineNum = 0, IN CHAR8 *TokName = NULL);
 | |
|   VOID  PrintMsg (IN UINT32 LineNum = 0, IN CHAR8 *TokName = NULL, IN CONST CHAR8 *MsgType = "Error", IN CONST CHAR8 *ErrorMsg = "");
 | |
| };
 | |
| 
 | |
| #define CHECK_ERROR_RETURN(f, v) do { EFI_VFR_RETURN_CODE r; if ((r = (f)) != (v)) { return r; } } while (0)
 | |
| 
 | |
| extern CVfrErrorHandle gCVfrErrorHandle;
 | |
| 
 | |
| #endif
 |