]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Variable/EmuRuntimeDxe/Variable.h
DuetPkg, MdeModulePkg: Fix variable services hang with GCC44 X64
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / EmuRuntimeDxe / Variable.h
index cc5803dde9e89195c4b83ad71b54e67c95ac6ae9..b4b2fbb35b0b692606207dc9f389829780079a02 100644 (file)
@@ -3,8 +3,8 @@
   The internal header file includes the common header files, defines\r
   internal structure and functions used by EmuVariable module.\r
 \r
-Copyright (c) 2006 - 2008, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+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
@@ -38,6 +38,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #define GET_VARIABLE_NAME_PTR(a)  (CHAR16 *) ((UINTN) (a) + sizeof (VARIABLE_HEADER))\r
 \r
+///\r
+/// The size of a 3 character ISO639 language code.\r
+///\r
+#define ISO_639_2_ENTRY_SIZE    3\r
+\r
 typedef enum {\r
   Physical,\r
   Virtual\r
@@ -62,10 +67,10 @@ typedef struct {
   UINTN           NonVolatileLastVariableOffset;\r
   UINTN           CommonVariableTotalSize;\r
   UINTN           HwErrVariableTotalSize;\r
-  CHAR8           PlatformLangCodes[256]; //Pre-allocate 256 bytes space to accommodate the PlatformlangCodes.\r
-  CHAR8           LangCodes[256]; //Pre-allocate 256 bytes space to accommodate the langCodes.\r
-  CHAR8           PlatformLang[8]; //Pre-allocate 8 bytes space to accommodate the Platformlang variable.\r
-  CHAR8           Lang[4]; //Pre-allocate 4 bytes space to accommodate the lang variable.\r
+  CHAR8           *PlatformLangCodes;\r
+  CHAR8           *LangCodes;\r
+  CHAR8           *PlatformLang;\r
+  CHAR8           Lang[ISO_639_2_ENTRY_SIZE + 1];\r
 } ESAL_VARIABLE_GLOBAL;\r
 \r
 ///\r