mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-10-25 17:23:53 +02:00 
			
		
		
		
	https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
		
			
				
	
	
		
			108 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /** @file
 | |
| 
 | |
|   VfrCompiler Error definition
 | |
| 
 | |
| Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
 | |
| SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #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_VARSTORE_NAME_REDEFINED_ERROR,
 | |
|   VFR_RETURN_BIT_WIDTH_ERROR,
 | |
|   VFR_RETURN_STRING_TO_UINT_OVERFLOW,
 | |
|   VFR_RETURN_CODEUNDEFINED
 | |
| } EFI_VFR_RETURN_CODE;
 | |
| 
 | |
| typedef enum {
 | |
|   VFR_WARNING_DEFAULT_VALUE_REDEFINED = 0,
 | |
|   VFR_WARNING_ACTION_WITH_TEXT_TWO,
 | |
|   VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
 | |
|   VFR_WARNING_CODEUNDEFINED
 | |
| } EFI_VFR_WARNING_CODE;
 | |
| 
 | |
| typedef struct _SVFR_ERROR_HANDLE {
 | |
|   EFI_VFR_RETURN_CODE    mErrorCode;
 | |
|   CONST CHAR8            *mErrorMsg;
 | |
| } SVFR_ERROR_HANDLE;
 | |
| 
 | |
| typedef struct _SVFR_WARNING_HANDLE {
 | |
|   EFI_VFR_WARNING_CODE    mWarningCode;
 | |
|   CONST CHAR8            *mWarningMsg;
 | |
| } SVFR_WARNING_HANDLE;
 | |
| 
 | |
| struct SVfrFileScopeRecord {
 | |
|   CHAR8                 *mFileName;
 | |
|   UINT32                mWholeScopeLine;
 | |
|   UINT32                mScopeLineStart;
 | |
|   SVfrFileScopeRecord *mNext;
 | |
| 
 | |
|   SVfrFileScopeRecord (IN CHAR8 *, IN UINT32);
 | |
|   ~SVfrFileScopeRecord();
 | |
| 
 | |
| private:
 | |
|   SVfrFileScopeRecord (IN CONST SVfrFileScopeRecord&);             // Prevent copy-construction
 | |
|   SVfrFileScopeRecord& operator= (IN CONST SVfrFileScopeRecord&);  // Prevent assignment
 | |
| };
 | |
| 
 | |
| class CVfrErrorHandle {
 | |
| private:
 | |
|   CHAR8               *mInputFileName;
 | |
|   SVFR_ERROR_HANDLE   *mVfrErrorHandleTable;
 | |
|   SVFR_WARNING_HANDLE *mVfrWarningHandleTable;
 | |
|   SVfrFileScopeRecord *mScopeRecordListHead;
 | |
|   SVfrFileScopeRecord *mScopeRecordListTail;
 | |
|   BOOLEAN             mWarningAsError;
 | |
| 
 | |
| public:
 | |
|   CVfrErrorHandle (VOID);
 | |
|   ~CVfrErrorHandle (VOID);
 | |
| 
 | |
|   VOID  SetWarningAsError (IN BOOLEAN);
 | |
|   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);
 | |
|   UINT8 HandleWarning (IN EFI_VFR_WARNING_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 = "");
 | |
| 
 | |
| private:
 | |
|   CVfrErrorHandle (IN CONST CVfrErrorHandle&);             // Prevent copy-construction
 | |
|   CVfrErrorHandle& operator= (IN CONST CVfrErrorHandle&);  // Prevent assignment
 | |
| };
 | |
| 
 | |
| #define CHECK_ERROR_RETURN(f, v) do { EFI_VFR_RETURN_CODE r; if ((r = (f)) != (v)) { return r; } } while (0)
 | |
| 
 | |
| extern CVfrErrorHandle gCVfrErrorHandle;
 | |
| 
 | |
| #endif
 |