]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Enable Intel IPF compilation for MdePkg.
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 6 Jul 2007 15:19:20 +0000 (15:19 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 6 Jul 2007 15:19:20 +0000 (15:19 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3130 6f19259b-4bc3-4df7-8a09-765794883524

17 files changed:
MdePkg/Include/Library/UefiLib.h
MdePkg/Library/BaseCacheMaintenanceLib/IpfCache.c
MdePkg/Library/DxeHobLib/HobLib.c
MdePkg/Library/DxeHobLib/HobLibInternal.h [new file with mode: 0644]
MdePkg/Library/DxePcdLib/DxePcdLib.c
MdePkg/Library/DxePcdLib/DxePcdLibInternal.h [new file with mode: 0644]
MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.c
MdePkg/Library/DxeServicesTableLib/DxeServicesTableLibInternal.h [new file with mode: 0644]
MdePkg/Library/DxeSmbusLib/InternalSmbusLib.h
MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c
MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerInternal.h [new file with mode: 0644]
MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.c
MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLibInternal.h [new file with mode: 0644]
MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLib.c
MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibInternal.h [new file with mode: 0644]
MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.c
MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLibInternal.h [new file with mode: 0644]

index 7b247e063cd9c865d02e5fe68820cad3bb7bba5f..874ad1f8c987d63ef99db6525c922ca3a4841a63 100644 (file)
@@ -356,6 +356,73 @@ LookupUnicodeString (
   OUT CHAR16                         **UnicodeString\r
   );\r
 \r
+/**\r
+  This function looks up a Unicode string in UnicodeStringTable.\r
+  If Language is a member of SupportedLanguages and a Unicode\r
+  string is found in UnicodeStringTable that matches the\r
+  language code specified by Language, then it is returned in\r
+  UnicodeString.\r
+\r
+  @param  Language                A pointer to the ISO 639-2 or\r
+                                  RFC 3066 language code for the\r
+                                  Unicode string to look up and\r
+                                  return.\r
+  \r
+  @param  SupportedLanguages      A pointer to the set of ISO\r
+                                  639-2 or RFC 3066 language\r
+                                  codes that the Unicode string\r
+                                  table supports. Language must\r
+                                  be a member of this set.\r
+  \r
+  @param  UnicodeStringTable      A pointer to the table of\r
+                                  Unicode strings.\r
+  \r
+  @param  UnicodeString           A pointer to the Unicode\r
+                                  string from UnicodeStringTable\r
+                                  that matches the language\r
+                                  specified by Language.\r
+\r
+  @param  Iso639Language          Specify the language code\r
+                                  format supported. If true,\r
+                                  then the format follow ISO\r
+                                  639-2. If false, then it\r
+                                  follows RFC3066.\r
+\r
+  @retval  EFI_SUCCESS            The Unicode string that\r
+                                  matches the language specified\r
+                                  by Language was found in the\r
+                                  table of Unicoide strings\r
+                                  UnicodeStringTable, and it was\r
+                                  returned in UnicodeString.\r
+  \r
+  @retval  EFI_INVALID_PARAMETER  Language is NULL.\r
+  \r
+  @retval  EFI_INVALID_PARAMETER  UnicodeString is NULL.\r
+  \r
+  @retval  EFI_UNSUPPORTED        SupportedLanguages is NULL.\r
+  \r
+  @retval  EFI_UNSUPPORTED        UnicodeStringTable is NULL.\r
+  \r
+  @retval  EFI_UNSUPPORTED        The language specified by\r
+                                  Language is not a member\r
+                                  ofSupportedLanguages.\r
+  \r
+  @retval EFI_UNSUPPORTED         The language specified by\r
+                                  Language is not supported by\r
+                                  UnicodeStringTable.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+LookupUnicodeString2 (\r
+  IN CONST CHAR8                     *Language,\r
+  IN CONST CHAR8                     *SupportedLanguages,\r
+  IN CONST EFI_UNICODE_STRING_TABLE  *UnicodeStringTable,\r
+  OUT CHAR16                         **UnicodeString,\r
+  IN BOOLEAN                         Iso639Language\r
+  )\r
+;\r
+\r
 /**\r
   This function adds a Unicode string to UnicodeStringTable.\r
   If Language is a member of SupportedLanguages then UnicodeString is added to \r
@@ -397,6 +464,77 @@ AddUnicodeString (
   IN CONST CHAR16              *UnicodeString\r
   );\r
 \r
+/**\r
+  \r
+  This function adds a Unicode string to UnicodeStringTable.\r
+  If Language is a member of SupportedLanguages then\r
+  UnicodeString is added to UnicodeStringTable.  New buffers are\r
+  allocated for both Language and UnicodeString.  The contents\r
+  of Language and UnicodeString are copied into these new\r
+  buffers.  These buffers are automatically freed when\r
+  FreeUnicodeStringTable() is called.\r
+\r
+  @param  Language                A pointer to the ISO 639-2 or\r
+                                  RFC 3066 language code for the\r
+                                  Unicode string to add.\r
+  \r
+  @param  SupportedLanguages      A pointer to the set of ISO\r
+                                  639-2 or RFC 3.66 language\r
+                                  codes that the Unicode string\r
+                                  table supports. Language must\r
+                                  be a member of this set.\r
+  \r
+  @param  UnicodeStringTable      A pointer to the table of\r
+                                  Unicode strings.\r
+  \r
+  @param  UnicodeString           A pointer to the Unicode\r
+                                  string to add.\r
+  \r
+  @param  Iso639Language          Specify the language code\r
+                                  format supported. If true,\r
+                                  then the format follow ISO\r
+                                  639-2. If false, then it\r
+                                  follows RFC3066.\r
+\r
+  @retval EFI_SUCCESS             The Unicode string that\r
+                                  matches the language specified\r
+                                  by Language was found in the\r
+                                  table of Unicode strings\r
+                                  UnicodeStringTable, and it was\r
+                                  returned in UnicodeString.\r
+  \r
+  @retval EFI_INVALID_PARAMETER   Language is NULL.\r
+  \r
+  @retval EFI_INVALID_PARAMETER   UnicodeString is NULL.\r
+  \r
+  @retval EFI_INVALID_PARAMETER   UnicodeString is an empty string.\r
+  \r
+  @retval EFI_UNSUPPORTED         SupportedLanguages is NULL.\r
+  \r
+  @retval EFI_ALREADY_STARTED     A Unicode string with language\r
+                                  Language is already present in\r
+                                  UnicodeStringTable.\r
+  \r
+  @retval EFI_OUT_OF_RESOURCES    There is not enough memory to\r
+                                  add another Unicode string to\r
+                                  UnicodeStringTable.\r
+  \r
+  @retval EFI_UNSUPPORTED         The language specified by\r
+                                  Language is not a member of\r
+                                  SupportedLanguages.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+AddUnicodeString2 (\r
+  IN CONST CHAR8               *Language,\r
+  IN CONST CHAR8               *SupportedLanguages,\r
+  IN EFI_UNICODE_STRING_TABLE  **UnicodeStringTable,\r
+  IN CONST CHAR16              *UnicodeString,\r
+  IN BOOLEAN                   Iso639Language\r
+  )\r
+;\r
+\r
 /**\r
   This function frees the table of Unicode strings in UnicodeStringTable.\r
   If UnicodeStringTable is NULL, then EFI_SUCCESS is returned.\r
index 8461d68ee28f7ca01a0d56bd150f4935efafef63..5be001490523df2fcb8860f9451c0226c3cc4223 100644 (file)
@@ -17,6 +17,7 @@
 // Include common header file for this module.\r
 //\r
 #include <Base.h>\r
+#include <Library/CacheMaintenanceLib.h>\r
 #include <Library/BaseLib.h>\r
 #include <Library/DebugLib.h>\r
 \r
index b05f14386b4309d4dd0417133129d93e38dc1127..990bd3013ea4fad130ea5e64418096a1d25d8d36 100644 (file)
@@ -30,6 +30,7 @@
 #include <Library/UefiLib.h>\r
 #include <Library/DebugLib.h>\r
 #include <Library/BaseMemoryLib.h>\r
+#include "HobLibInternal.h"\r
 \r
 STATIC VOID  *mHobList = NULL;\r
 \r
diff --git a/MdePkg/Library/DxeHobLib/HobLibInternal.h b/MdePkg/Library/DxeHobLib/HobLibInternal.h
new file mode 100644 (file)
index 0000000..639886b
--- /dev/null
@@ -0,0 +1,26 @@
+/** @file\r
+  Internal include file of DXE Entry Point HOB Library.\r
+\r
+  Copyright (c) 2006 - 2007, 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
+\r
+**/\r
+\r
+#ifndef _DXE_HOB_LIB_INTERNAL_H__\r
+#define _DXE_HOB_LIB_INTERNAL_H__\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+HobLibConstructor (\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
+  )\r
+;\r
+\r
+#endif\r
index b05c6550c81663071d7b86193c483e2e15fb7607..e12a455b916eef462ab2db7d06f27e1f2e54abe1 100644 (file)
@@ -31,6 +31,8 @@ Module Name: DxePcdLib.c
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/BaseMemoryLib.h>\r
 \r
+#include "DxePcdLibInternal.h"\r
+\r
 static PCD_PROTOCOL  *mPcd;\r
 \r
 /**\r
diff --git a/MdePkg/Library/DxePcdLib/DxePcdLibInternal.h b/MdePkg/Library/DxePcdLib/DxePcdLibInternal.h
new file mode 100644 (file)
index 0000000..8f98b47
--- /dev/null
@@ -0,0 +1,35 @@
+/** @file\r
+Internal header of PcdLib class library for DXE phase.\r
+\r
+Copyright (c) 2006, Intel Corporation<BR>\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
+\r
+**/\r
+#ifndef _DXE_PCD_LIB_INTERNAL_H_\r
+#define _DXE_PCD_LIB_INTERNAL_H_\r
+\r
+/**\r
+  The constructor function caches the PCD_PROTOCOL pointer.\r
+\r
+  @param[in] ImageHandle The firmware allocated handle for the EFI image.  \r
+  @param[in] SystemTable A pointer to the EFI System Table.\r
+  \r
+  @retval EFI_SUCCESS The constructor always return EFI_SUCCESS.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+PcdLibConstructor (\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
+  )\r
+;\r
+\r
+#endif\r
+\r
index b4faf976f657df597f9bb75f0c3721a0c79dc64e..afaa913c8c229e64bf22500efedb69c3c4c2a9c3 100644 (file)
@@ -20,6 +20,7 @@
 #include <Library/DebugLib.h>\r
 #include <Library/UefiLib.h>\r
 \r
+#include "DxeServicesTableLibInternal.h"\r
 \r
 //\r
 // Cache copy of the DXE Services Table\r
diff --git a/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLibInternal.h b/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLibInternal.h
new file mode 100644 (file)
index 0000000..0a5d4a2
--- /dev/null
@@ -0,0 +1,40 @@
+/** @file\r
+  Internal Header file for Dxe Services Table Library Instance.\r
+\r
+  Copyright (c) 2006, Intel Corporation<BR>\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
+\r
+**/\r
+\r
+#ifndef _DXE_SERVICE_TABLE_LIB_INTERNAL_H\r
+#define _DXE_SERVICE_TABLE_LIB_INTERNAL_H\r
+\r
+\r
+/**\r
+  The constructor function caches the pointer of DXE Services Table.\r
+\r
+  The constructor function caches the pointer of DXE Services Table.\r
+  It will ASSERT() if that operation fails.\r
+  It will ASSERT() if the pointer of DXE Services Table is NULL.\r
+  It will always return EFI_SUCCESS.\r
+\r
+  @param  ImageHandle   The firmware allocated handle for the EFI image.\r
+  @param  SystemTable   A pointer to the EFI System Table.\r
+\r
+  @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+DxeServicesTableLibConstructor (\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
+  )\r
+;\r
+#endif\r
index 2435baeb9f5ef08cdd0d00e43e8b4dd662f606fd..8c96f6415965bd3221e955a0916fb5ee6fb89c3e 100644 (file)
@@ -73,4 +73,24 @@ InternalSmBusExec (
      OUT RETURN_STATUS              *Status        OPTIONAL\r
   );\r
 \r
+/**\r
+  The constructor function caches the pointer to Smbus protocol.\r
+\r
+  The constructor function locates Smbus protocol from protocol database.\r
+  It will ASSERT() if that operation fails and it will always return EFI_SUCCESS.\r
+\r
+  @param  ImageHandle   The firmware allocated handle for the EFI image.\r
+  @param  SystemTable   A pointer to the EFI System Table.\r
+\r
+  @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+SmbusLibConstructor (\r
+  IN EFI_HANDLE                ImageHandle,\r
+  IN EFI_SYSTEM_TABLE          *SystemTable\r
+  )\r
+;\r
+\r
 #endif\r
index 9dea0476d973ca85b7d5321584237e9c23609f6f..558f7cc19330ee824cba009680ebda40567e704a 100644 (file)
@@ -18,6 +18,7 @@
 #include <Library/PeiServicesTablePointerLib.h>\r
 #include <Library/DebugLib.h>\r
 \r
+#include "PeiServicesTablePointerInternal.h"\r
 \r
 static EFI_PEI_SERVICES  **gPeiServices;\r
 \r
diff --git a/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerInternal.h b/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerInternal.h
new file mode 100644 (file)
index 0000000..0e0e4ff
--- /dev/null
@@ -0,0 +1,36 @@
+/** @file\r
+  Internal Header file for PEI Services Table Pointer Library.\r
+\r
+  Copyright (c) 2006, Intel Corporation<BR>\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
+\r
+**/\r
+\r
+#ifndef _PEI_SERVICE_TABLE_POINTER_INTERNAL_H_\r
+#define _PEI_SERVICE_TABLE_POINTER_INTERNAL_H_\r
+/**\r
+  The constructor function caches the pointer to PEI services.\r
+  \r
+  The constructor function caches the pointer to PEI services.\r
+  It will always return EFI_SUCCESS.\r
+\r
+  @param  FfsHeader   Pointer to FFS header the loaded driver.\r
+  @param  PeiServices Pointer to the PEI services.\r
+\r
+  @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+PeiServicesTablePointerLibConstructor (\r
+  IN EFI_FFS_FILE_HEADER  *FfsHeader,\r
+  IN EFI_PEI_SERVICES     **PeiServices\r
+  )\r
+;\r
+#endif\r
index bf77adf49c66103a57f059cffd8fb1f31e331285..3493c643f7c701a35e45d5f35013b42d1adb4a10 100644 (file)
@@ -26,6 +26,7 @@
 //\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/DebugLib.h>\r
+#include "UefiBootServicesTableLibInternal.h"\r
 \r
 EFI_HANDLE         gImageHandle = NULL;\r
 EFI_SYSTEM_TABLE   *gST         = NULL;\r
@@ -33,7 +34,7 @@ EFI_BOOT_SERVICES  *gBS         = NULL;
 \r
 /**\r
   The constructor function caches the pointer of Boot Services Table.\r
-  \r
+    \r
   The constructor function caches the pointer of Boot Services Table through System Table.\r
   It will ASSERT() if the pointer of System Table is NULL.\r
   It will ASSERT() if the pointer of Boot Services Table is NULL.\r
diff --git a/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLibInternal.h b/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLibInternal.h
new file mode 100644 (file)
index 0000000..63a138a
--- /dev/null
@@ -0,0 +1,25 @@
+/** @file\r
+  UEFI Boot Services Table Library internal header\r
+\r
+  Copyright (c) 2006 - 2007, Intel Corporation<BR>\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
+\r
+**/\r
+\r
+#ifndef _UefiBootServicesTable_Lib_H\r
+#define _UefiBootServicesTable_Lib_H\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UefiBootServicesTableLibConstructor (\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
+  )\r
+;\r
+#endif\r
index 6a587ab1c57086ff61341aaa6d3134433b8778a6..0b926e27e641e8034690d1b61ec8f64dc3499817 100644 (file)
@@ -33,6 +33,8 @@
 #include <Library/BaseMemoryLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 \r
+#include "UefiDevicePathLibInternal.h"\r
+\r
 STATIC EFI_DEVICE_PATH_UTILITIES_PROTOCOL          *mDevicePathUtilities = NULL;\r
 \r
 /**\r
diff --git a/MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibInternal.h b/MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibInternal.h
new file mode 100644 (file)
index 0000000..9d1f669
--- /dev/null
@@ -0,0 +1,39 @@
+/** @file\r
+  Internal Header file for UEFI Device Path Library.\r
+\r
+  Copyright (c) 2006, Intel Corporation<BR>\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
+\r
+**/\r
+\r
+#ifndef _UEFI_DEVICEPATH_LIB_INTERNAL_H_\r
+#define _UEFI_DEVICEPATH_LIB_INTERNAL_H_\r
+\r
+\r
+/**\r
+  The constructor function caches the pointer to DevicePathUtilites protocol.\r
+  \r
+  The constructor function locates DevicePathUtilities protocol from protocol database.\r
+  It will ASSERT() if that operation fails and it will always return EFI_SUCCESS. \r
+\r
+  @param  ImageHandle   The firmware allocated handle for the EFI image.\r
+  @param  SystemTable   A pointer to the EFI System Table.\r
+  \r
+  @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+DevicePathLibConstructor (\r
+  IN      EFI_HANDLE                ImageHandle,\r
+  IN      EFI_SYSTEM_TABLE          *SystemTable\r
+  )\r
+;\r
+\r
+#endif\r
index 3d493d5af4d987731b956647cde00452786de26b..3ef317f14c53c875855766be2126b85df950c037 100644 (file)
@@ -27,6 +27,8 @@
 #include <Library/UefiRuntimeServicesTableLib.h>\r
 #include <Library/DebugLib.h>\r
 \r
+#include "UefiRuntimeServicesTableLibInternal.h"\r
+\r
 EFI_RUNTIME_SERVICES  *gRT = NULL;\r
 \r
 /**\r
diff --git a/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLibInternal.h b/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLibInternal.h
new file mode 100644 (file)
index 0000000..95ff283
--- /dev/null
@@ -0,0 +1,39 @@
+/** @file\r
+  Internal Header file for UEFI Runtime Services Table Library.\r
+\r
+  Copyright (c) 2006, Intel Corporation<BR>\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
+\r
+**/\r
+\r
+\r
+#ifndef _UEFI_RUNTIME_SERVICES_TABLE_LIB_INTERNAL_H_\r
+#define _UEFI_RUNTIME_SERVICES_TABLE_LIB_INTERNAL_H_\r
+/**\r
+  The constructor function caches the pointer of Runtime Services Table.\r
+\r
+  The constructor function caches the pointer of Runtime Services Table.\r
+  It will ASSERT() if the pointer of Runtime Services Table is NULL.\r
+  It will always return EFI_SUCCESS.\r
+\r
+  @param  ImageHandle   The firmware allocated handle for the EFI image.\r
+  @param  SystemTable   A pointer to the EFI System Table.\r
+\r
+  @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+UefiRuntimeServicesTableLibConstructor (\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
+  )\r
+;\r
+#endif\r
+\r