]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrCommon.c
UEFI HII: Merge UEFI HII support changes from branch.
[mirror_edk2.git] / IntelFrameworkPkg / Library / FrameworkIfrSupportLib / IfrCommon.c
index d9894c4e6cbfca61c5068d592c9a71d2431daf6a..7e5182d7ed6266e03844041db2184a0f24750320 100644 (file)
@@ -372,52 +372,52 @@ Returns:
   //\r
   // Copy data to the new buffer until we run into the end_form\r
   //\r
-  for (; ((EFI_IFR_OP_HEADER *) Source)->OpCode != EFI_IFR_END_FORM_OP;) {\r
+  for (; ((FRAMEWORK_EFI_IFR_OP_HEADER *) Source)->OpCode != FRAMEWORK_EFI_IFR_END_FORM_OP;) {\r
     //\r
     // If the this opcode is an end_form_set we better be creating and endform\r
     // Nonetheless, we will add data before the end_form_set.  This also provides\r
     // for interesting behavior in the code we will run, but has no bad side-effects\r
     // since we will possibly do a 0 byte copy in this particular end-case.\r
     //\r
-    if (((EFI_IFR_OP_HEADER *) Source)->OpCode == EFI_IFR_END_FORM_SET_OP) {\r
+    if (((FRAMEWORK_EFI_IFR_OP_HEADER *) Source)->OpCode == FRAMEWORK_EFI_IFR_END_FORM_SET_OP) {\r
       break;\r
     }\r
 \r
     //\r
     // Copy data to new buffer\r
     //\r
-    CopyMem (Destination, Source, ((EFI_IFR_OP_HEADER *) Source)->Length);\r
+    CopyMem (Destination, Source, ((FRAMEWORK_EFI_IFR_OP_HEADER *) Source)->Length);\r
 \r
     //\r
     // Adjust Source/Destination to next op-code location\r
     //\r
-    Destination = Destination + (UINTN) ((EFI_IFR_OP_HEADER *) Source)->Length;\r
-    Source      = Source + (UINTN) ((EFI_IFR_OP_HEADER *) Source)->Length;\r
+    Destination = Destination + (UINTN) ((FRAMEWORK_EFI_IFR_OP_HEADER *) Source)->Length;\r
+    Source      = Source + (UINTN) ((FRAMEWORK_EFI_IFR_OP_HEADER *) Source)->Length;\r
   }\r
 \r
   //\r
   // Prior to the end_form is where we insert the new op-code data\r
   //\r
-  CopyMem (Destination, OpCodeData, ((EFI_IFR_OP_HEADER *) OpCodeData)->Length);\r
-  Destination       = Destination + (UINTN) ((EFI_IFR_OP_HEADER *) OpCodeData)->Length;\r
+  CopyMem (Destination, OpCodeData, ((FRAMEWORK_EFI_IFR_OP_HEADER *) OpCodeData)->Length);\r
+  Destination       = Destination + (UINTN) ((FRAMEWORK_EFI_IFR_OP_HEADER *) OpCodeData)->Length;\r
 \r
-  NewBuffer->Length = (UINT32) (NewBuffer->Length + (UINT32) (((EFI_IFR_OP_HEADER *) OpCodeData)->Length));\r
+  NewBuffer->Length = (UINT32) (NewBuffer->Length + (UINT32) (((FRAMEWORK_EFI_IFR_OP_HEADER *) OpCodeData)->Length));\r
 \r
   //\r
   // Copy end-form data to new buffer\r
   //\r
-  CopyMem (Destination, Source, ((EFI_IFR_OP_HEADER *) Source)->Length);\r
+  CopyMem (Destination, Source, ((FRAMEWORK_EFI_IFR_OP_HEADER *) Source)->Length);\r
 \r
   //\r
   // Adjust Source/Destination to next op-code location\r
   //\r
-  Destination = Destination + (UINTN) ((EFI_IFR_OP_HEADER *) Source)->Length;\r
-  Source      = Source + (UINTN) ((EFI_IFR_OP_HEADER *) Source)->Length;\r
+  Destination = Destination + (UINTN) ((FRAMEWORK_EFI_IFR_OP_HEADER *) Source)->Length;\r
+  Source      = Source + (UINTN) ((FRAMEWORK_EFI_IFR_OP_HEADER *) Source)->Length;\r
 \r
   //\r
   // Copy end-formset data to new buffer\r
   //\r
-  CopyMem (Destination, Source, ((EFI_IFR_OP_HEADER *) Source)->Length);\r
+  CopyMem (Destination, Source, ((FRAMEWORK_EFI_IFR_OP_HEADER *) Source)->Length);\r
 \r
   //\r
   // Zero out the original buffer and copy the updated data in the new buffer to the old buffer\r
@@ -470,7 +470,7 @@ Returns:
 \r
 EFI_STATUS\r
 ExtractDataFromHiiHandle (\r
-  IN      EFI_HII_HANDLE      HiiHandle,\r
+  IN      FRAMEWORK_EFI_HII_HANDLE       HiiHandle,\r
   IN OUT  UINT16              *ImageLength,\r
   OUT     UINT8               *DefaultImage,\r
   OUT     EFI_GUID            *Guid\r
@@ -560,31 +560,31 @@ Returns:
   //\r
   RawData = (UINT8 *) ((UINTN) RawData + sizeof (EFI_HII_PACK_HEADER));\r
 \r
-  for (Index = 0; RawData[Index] != EFI_IFR_END_FORM_SET_OP;) {\r
+  for (Index = 0; RawData[Index] != FRAMEWORK_EFI_IFR_END_FORM_SET_OP;) {\r
     switch (RawData[Index]) {\r
-    case EFI_IFR_FORM_SET_OP:\r
+    case FRAMEWORK_EFI_IFR_FORM_SET_OP:\r
       //\r
       // Copy the GUID information from this handle\r
       //\r
-      CopyMem (Guid, &((EFI_IFR_FORM_SET *) &RawData[Index])->Guid, sizeof (EFI_GUID));\r
+      CopyMem (Guid, &((FRAMEWORK_EFI_IFR_FORM_SET *) &RawData[Index])->Guid, sizeof (EFI_GUID));\r
       break;\r
 \r
-    case EFI_IFR_ONE_OF_OP:\r
-    case EFI_IFR_CHECKBOX_OP:\r
-    case EFI_IFR_NUMERIC_OP:\r
-    case EFI_IFR_DATE_OP:\r
-    case EFI_IFR_TIME_OP:\r
-    case EFI_IFR_PASSWORD_OP:\r
-    case EFI_IFR_STRING_OP:\r
+    case FRAMEWORK_EFI_IFR_ONE_OF_OP:\r
+    case FRAMEWORK_EFI_IFR_CHECKBOX_OP:\r
+    case FRAMEWORK_EFI_IFR_NUMERIC_OP:\r
+    case FRAMEWORK_EFI_IFR_DATE_OP:\r
+    case FRAMEWORK_EFI_IFR_TIME_OP:\r
+    case FRAMEWORK_EFI_IFR_PASSWORD_OP:\r
+    case FRAMEWORK_EFI_IFR_STRING_OP:\r
       //\r
       // Remember, multiple op-codes may reference the same item, so let's keep a running\r
       // marker of what the highest QuestionId that wasn't zero length.  This will accurately\r
       // maintain the Size of the NvStore\r
       //\r
-      if (((EFI_IFR_ONE_OF *) &RawData[Index])->Width != 0) {\r
-        Temp = ((EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId + ((EFI_IFR_ONE_OF *) &RawData[Index])->Width;\r
+      if (((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->Width != 0) {\r
+        Temp = ((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId + ((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->Width;\r
         if (SizeOfNvStore < Temp) {\r
-          SizeOfNvStore = ((EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId + ((EFI_IFR_ONE_OF *) &RawData[Index])->Width;\r
+          SizeOfNvStore = ((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId + ((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->Width;\r
         }\r
       }\r
     }\r
@@ -608,26 +608,26 @@ Returns:
   //\r
   // Copy the default image information to the user's buffer\r
   //\r
-  for (Index = 0; RawData[Index] != EFI_IFR_END_FORM_SET_OP;) {\r
+  for (Index = 0; RawData[Index] != FRAMEWORK_EFI_IFR_END_FORM_SET_OP;) {\r
     switch (RawData[Index]) {\r
-    case EFI_IFR_ONE_OF_OP:\r
-      CachedStart = ((EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId;\r
+    case FRAMEWORK_EFI_IFR_ONE_OF_OP:\r
+      CachedStart = ((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId;\r
       break;\r
 \r
-    case EFI_IFR_ONE_OF_OPTION_OP:\r
-      if (((EFI_IFR_ONE_OF_OPTION *) &RawData[Index])->Flags & EFI_IFR_FLAG_DEFAULT) {\r
-        CopyMem (&DefaultImage[CachedStart], &((EFI_IFR_ONE_OF_OPTION *) &RawData[Index])->Value, 2);\r
+    case FRAMEWORK_EFI_IFR_ONE_OF_OPTION_OP:\r
+      if (((FRAMEWORK_EFI_IFR_ONE_OF_OPTION *) &RawData[Index])->Flags & FRAMEWORK_EFI_IFR_FLAG_DEFAULT) {\r
+        CopyMem (&DefaultImage[CachedStart], &((FRAMEWORK_EFI_IFR_ONE_OF_OPTION *) &RawData[Index])->Value, 2);\r
       }\r
       break;\r
 \r
-    case EFI_IFR_CHECKBOX_OP:\r
-      DefaultImage[((EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId] = ((EFI_IFR_CHECKBOX *) &RawData[Index])->Flags;\r
+    case FRAMEWORK_EFI_IFR_CHECKBOX_OP:\r
+      DefaultImage[((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId] = ((FRAMEWORK_EFI_IFR_CHECKBOX *) &RawData[Index])->Flags;\r
       break;\r
 \r
-    case EFI_IFR_NUMERIC_OP:\r
+    case FRAMEWORK_EFI_IFR_NUMERIC_OP:\r
       CopyMem (\r
-        &DefaultImage[((EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId],\r
-        &((EFI_IFR_NUMERIC *) &RawData[Index])->Default,\r
+        &DefaultImage[((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId],\r
+        &((FRAMEWORK_EFI_IFR_NUMERIC *) &RawData[Index])->Default,\r
         2\r
         );\r
       break;\r
@@ -648,7 +648,7 @@ Returns:
 }\r
 \r
 \r
-EFI_HII_HANDLE\r
+FRAMEWORK_EFI_HII_HANDLE \r
 FindHiiHandle (\r
   IN OUT EFI_HII_PROTOCOL    **HiiProtocol, OPTIONAL\r
   IN     EFI_GUID            *Guid\r
@@ -672,8 +672,8 @@ Returns:
 {\r
   EFI_STATUS        Status;\r
 \r
-  EFI_HII_HANDLE    *HiiHandleBuffer;\r
-  EFI_HII_HANDLE    HiiHandle;\r
+  FRAMEWORK_EFI_HII_HANDLE     *HiiHandleBuffer;\r
+  FRAMEWORK_EFI_HII_HANDLE     HiiHandle;\r
   UINT16            HiiHandleBufferLength;\r
   UINT32            NumberOfHiiHandles;\r
   EFI_GUID          HiiGuid;\r
@@ -741,7 +741,7 @@ Returns:
     goto lbl_exit;\r
   }\r
 \r
-  NumberOfHiiHandles = HiiHandleBufferLength / sizeof (EFI_HII_HANDLE);\r
+  NumberOfHiiHandles = HiiHandleBufferLength / sizeof (FRAMEWORK_EFI_HII_HANDLE );\r
 \r
   //\r
   // Iterate Hii handles and look for the one that matches our Guid\r
@@ -766,7 +766,7 @@ lbl_exit:
 \r
 EFI_STATUS\r
 ValidateDataFromHiiHandle (\r
-  IN      EFI_HII_HANDLE      HiiHandle,\r
+  IN      FRAMEWORK_EFI_HII_HANDLE       HiiHandle,\r
   OUT     BOOLEAN             *Results\r
   )\r
 /*++\r
@@ -854,36 +854,36 @@ Returns:
   //\r
   RawData = (UINT8 *) ((UINTN) RawData + sizeof (EFI_HII_PACK_HEADER));\r
 \r
-  for (Index = 0; RawData[Index] != EFI_IFR_END_FORM_SET_OP;) {\r
-    if (RawData[Index] == EFI_IFR_FORM_SET_OP) {\r
-      CopyMem (&Guid, &((EFI_IFR_FORM_SET *) &RawData[Index])->Guid, sizeof (EFI_GUID));\r
+  for (Index = 0; RawData[Index] != FRAMEWORK_EFI_IFR_END_FORM_SET_OP;) {\r
+    if (RawData[Index] == FRAMEWORK_EFI_IFR_FORM_SET_OP) {\r
+      CopyMem (&Guid, &((FRAMEWORK_EFI_IFR_FORM_SET *) &RawData[Index])->Guid, sizeof (EFI_GUID));\r
       break;\r
     }\r
 \r
     Index = RawData[Index + 1] + Index;\r
   }\r
 \r
-  for (Index = 0; RawData[Index] != EFI_IFR_END_FORM_SET_OP;) {\r
+  for (Index = 0; RawData[Index] != FRAMEWORK_EFI_IFR_END_FORM_SET_OP;) {\r
     switch (RawData[Index]) {\r
-    case EFI_IFR_FORM_SET_OP:\r
+    case FRAMEWORK_EFI_IFR_FORM_SET_OP:\r
       break;\r
 \r
-    case EFI_IFR_ONE_OF_OP:\r
-    case EFI_IFR_CHECKBOX_OP:\r
-    case EFI_IFR_NUMERIC_OP:\r
-    case EFI_IFR_DATE_OP:\r
-    case EFI_IFR_TIME_OP:\r
-    case EFI_IFR_PASSWORD_OP:\r
-    case EFI_IFR_STRING_OP:\r
+    case FRAMEWORK_EFI_IFR_ONE_OF_OP:\r
+    case FRAMEWORK_EFI_IFR_CHECKBOX_OP:\r
+    case FRAMEWORK_EFI_IFR_NUMERIC_OP:\r
+    case FRAMEWORK_EFI_IFR_DATE_OP:\r
+    case FRAMEWORK_EFI_IFR_TIME_OP:\r
+    case FRAMEWORK_EFI_IFR_PASSWORD_OP:\r
+    case FRAMEWORK_EFI_IFR_STRING_OP:\r
       //\r
       // Remember, multiple op-codes may reference the same item, so let's keep a running\r
       // marker of what the highest QuestionId that wasn't zero length.  This will accurately\r
       // maintain the Size of the NvStore\r
       //\r
-      if (((EFI_IFR_ONE_OF *) &RawData[Index])->Width != 0) {\r
-        Temp = ((EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId + ((EFI_IFR_ONE_OF *) &RawData[Index])->Width;\r
+      if (((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->Width != 0) {\r
+        Temp = ((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId + ((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->Width;\r
         if (SizeOfNvStore < Temp) {\r
-          SizeOfNvStore = ((EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId + ((EFI_IFR_ONE_OF *) &RawData[Index])->Width;\r
+          SizeOfNvStore = ((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId + ((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->Width;\r
         }\r
       }\r
     }\r
@@ -942,25 +942,25 @@ Returns:
   // This allows for the possibility of stale (obsoleted) data in the variable\r
   // can be overlooked without causing an error\r
   //\r
-  for (Index = 0; RawData[Index] != EFI_IFR_END_FORM_SET_OP;) {\r
+  for (Index = 0; RawData[Index] != FRAMEWORK_EFI_IFR_END_FORM_SET_OP;) {\r
     switch (RawData[Index]) {\r
-    case EFI_IFR_ONE_OF_OP:\r
+    case FRAMEWORK_EFI_IFR_ONE_OF_OP:\r
       //\r
       // A one_of has no data, its the option that does - cache the storage Id\r
       //\r
-      CachedStart = ((EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId;\r
+      CachedStart = ((FRAMEWORK_EFI_IFR_ONE_OF *) &RawData[Index])->QuestionId;\r
       break;\r
 \r
-    case EFI_IFR_ONE_OF_OPTION_OP:\r
+    case FRAMEWORK_EFI_IFR_ONE_OF_OPTION_OP:\r
       //\r
       // A one_of_option can be any value\r
       //\r
-      if (VariableData[CachedStart] == ((EFI_IFR_ONE_OF_OPTION *) &RawData[Index])->Value) {\r
+      if (VariableData[CachedStart] == ((FRAMEWORK_EFI_IFR_ONE_OF_OPTION *) &RawData[Index])->Value) {\r
         GotMatch = TRUE;\r
       }\r
       break;\r
 \r
-    case EFI_IFR_END_ONE_OF_OP:\r
+    case FRAMEWORK_EFI_IFR_END_ONE_OF_OP:\r
       //\r
       // At this point lets make sure that the data value in the NVRAM matches one of the options\r
       //\r
@@ -970,20 +970,20 @@ Returns:
       }\r
       break;\r
 \r
-    case EFI_IFR_CHECKBOX_OP:\r
+    case FRAMEWORK_EFI_IFR_CHECKBOX_OP:\r
       //\r
       // A checkbox is a boolean, so 0 and 1 are valid\r
       // Remember, QuestionId corresponds to the offset location of the data in the variable\r
       //\r
-      if (VariableData[((EFI_IFR_CHECKBOX *) &RawData[Index])->QuestionId] > 1) {\r
+      if (VariableData[((FRAMEWORK_EFI_IFR_CHECKBOX *) &RawData[Index])->QuestionId] > 1) {\r
         *Results = FALSE;\r
         return EFI_SUCCESS;\r
       }\r
       break;\r
 \r
-    case EFI_IFR_NUMERIC_OP:\r
-        if ((VariableData[((EFI_IFR_NUMERIC *)&RawData[Index])->QuestionId] < ((EFI_IFR_NUMERIC *)&RawData[Index])->Minimum) ||\r
-            (VariableData[((EFI_IFR_NUMERIC *)&RawData[Index])->QuestionId] > ((EFI_IFR_NUMERIC *)&RawData[Index])->Maximum)) {\r
+    case FRAMEWORK_EFI_IFR_NUMERIC_OP:\r
+        if ((VariableData[((FRAMEWORK_EFI_IFR_NUMERIC *)&RawData[Index])->QuestionId] < ((FRAMEWORK_EFI_IFR_NUMERIC *)&RawData[Index])->Minimum) ||\r
+            (VariableData[((FRAMEWORK_EFI_IFR_NUMERIC *)&RawData[Index])->QuestionId] > ((FRAMEWORK_EFI_IFR_NUMERIC *)&RawData[Index])->Maximum)) {\r
         *Results = FALSE;\r
         return EFI_SUCCESS;\r
       }\r
@@ -1003,3 +1003,4 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+\r