]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/VfrCompile/VfrError.h
BaseTools: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / BaseTools / Source / C / VfrCompile / VfrError.h
index 500926af6a9eef886a37e503965e38d82fdfa26b..7d16bd5f74cbc490adbe69f7dadd36cb3e3356e1 100644 (file)
@@ -1,15 +1,9 @@
 /** @file\r
-  \r
+\r
   VfrCompiler Error definition\r
 \r
-Copyright (c) 2004 - 2008, Intel Corporation                                                         \r
-All rights reserved. This program and the accompanying materials                          \r
-are licensed and made available under the terms and conditions of the BSD License         \r
-which accompanies this distribution.  The full text of the license may be found at        \r
-http://opensource.org/licenses/bsd-license.php                                            \r
-                                                                                          \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
@@ -32,6 +26,7 @@ typedef enum {
   VFR_RETURN_VARSTOREID_REDEFINED,\r
   VFR_RETURN_UNDEFINED,\r
   VFR_RETURN_VAR_NOTDEFINED_BY_QUESTION,\r
+  VFR_RETURN_VARSTORE_DATATYPE_REDEFINED_ERROR,\r
   VFR_RETURN_GET_EFIVARSTORE_ERROR,\r
   VFR_RETURN_EFIVARSTORE_USE_ERROR,\r
   VFR_RETURN_EFIVARSTORE_SIZE_ERROR,\r
@@ -42,14 +37,29 @@ typedef enum {
   VFR_RETURN_DATA_STRING_ERROR,\r
   VFR_RETURN_DEFAULT_VALUE_REDEFINED,\r
   VFR_RETURN_CONSTANT_ONLY,\r
+  VFR_RETURN_VARSTORE_NAME_REDEFINED_ERROR,\r
+  VFR_RETURN_BIT_WIDTH_ERROR,\r
+  VFR_RETURN_STRING_TO_UINT_OVERFLOW,\r
   VFR_RETURN_CODEUNDEFINED\r
 } EFI_VFR_RETURN_CODE;\r
 \r
+typedef enum {\r
+  VFR_WARNING_DEFAULT_VALUE_REDEFINED = 0,\r
+  VFR_WARNING_ACTION_WITH_TEXT_TWO,\r
+  VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,\r
+  VFR_WARNING_CODEUNDEFINED\r
+} EFI_VFR_WARNING_CODE;\r
+\r
 typedef struct _SVFR_ERROR_HANDLE {\r
   EFI_VFR_RETURN_CODE    mErrorCode;\r
-  CHAR8                  *mErrorMsg;\r
+  CONST CHAR8            *mErrorMsg;\r
 } SVFR_ERROR_HANDLE;\r
 \r
+typedef struct _SVFR_WARNING_HANDLE {\r
+  EFI_VFR_WARNING_CODE    mWarningCode;\r
+  CONST CHAR8            *mWarningMsg;\r
+} SVFR_WARNING_HANDLE;\r
+\r
 struct SVfrFileScopeRecord {\r
   CHAR8                 *mFileName;\r
   UINT32                mWholeScopeLine;\r
@@ -58,24 +68,36 @@ struct SVfrFileScopeRecord {
 \r
   SVfrFileScopeRecord (IN CHAR8 *, IN UINT32);\r
   ~SVfrFileScopeRecord();\r
+\r
+private:\r
+  SVfrFileScopeRecord (IN CONST SVfrFileScopeRecord&);             // Prevent copy-construction\r
+  SVfrFileScopeRecord& operator= (IN CONST SVfrFileScopeRecord&);  // Prevent assignment\r
 };\r
 \r
 class CVfrErrorHandle {\r
 private:\r
   CHAR8               *mInputFileName;\r
   SVFR_ERROR_HANDLE   *mVfrErrorHandleTable;\r
+  SVFR_WARNING_HANDLE *mVfrWarningHandleTable;\r
   SVfrFileScopeRecord *mScopeRecordListHead;\r
   SVfrFileScopeRecord *mScopeRecordListTail;\r
+  BOOLEAN             mWarningAsError;\r
 \r
 public:\r
   CVfrErrorHandle (VOID);\r
   ~CVfrErrorHandle (VOID);\r
 \r
+  VOID  SetWarningAsError (IN BOOLEAN);\r
   VOID  SetInputFile (IN CHAR8 *);\r
   VOID  ParseFileScopeRecord (IN CHAR8 *, IN UINT32);\r
   VOID  GetFileNameLineNum (IN UINT32, OUT CHAR8 **, OUT UINT32 *);\r
-  UINT8 HandleError (IN EFI_VFR_RETURN_CODE, IN UINT32 LineNum = 0, IN CHAR8 *TokName = "\0");\r
-  VOID  PrintMsg (IN UINT32 LineNum = 0, IN CHAR8 *TokName = "\0", IN CHAR8 *MsgType = "Error", IN CHAR8 *ErrorMsg = "\0");\r
+  UINT8 HandleError (IN EFI_VFR_RETURN_CODE, IN UINT32 LineNum = 0, IN CHAR8 *TokName = NULL);\r
+  UINT8 HandleWarning (IN EFI_VFR_WARNING_CODE, IN UINT32 LineNum = 0, IN CHAR8 *TokName = NULL);\r
+  VOID  PrintMsg (IN UINT32 LineNum = 0, IN CHAR8 *TokName = NULL, IN CONST CHAR8 *MsgType = "Error", IN CONST CHAR8 *ErrorMsg = "");\r
+\r
+private:\r
+  CVfrErrorHandle (IN CONST CVfrErrorHandle&);             // Prevent copy-construction\r
+  CVfrErrorHandle& operator= (IN CONST CVfrErrorHandle&);  // Prevent assignment\r
 };\r
 \r
 #define CHECK_ERROR_RETURN(f, v) do { EFI_VFR_RETURN_CODE r; if ((r = (f)) != (v)) { return r; } } while (0)\r