summaryrefslogtreecommitdiff
path: root/EdkCompatibilityPkg/Compatibility/Uc2ToUcThunk/Uc2ToUcThunk.c
diff options
context:
space:
mode:
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2009-01-21 09:47:43 +0000
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2009-01-21 09:47:43 +0000
commit4c9c0f719df00f211790eadf04d21a93a0cdf76c (patch)
tree90a4d5a29da41787f75ac11191f707e8f2215f5e /EdkCompatibilityPkg/Compatibility/Uc2ToUcThunk/Uc2ToUcThunk.c
parent96827f17562a5f055b7e14817f3388e881f33020 (diff)
downloadedk2-platforms-4c9c0f719df00f211790eadf04d21a93a0cdf76c.tar.xz
Rename module name from ***To*** to ***On***. AAAOnBBB means this module produce AAA Protocol/PPI based on BBB. This change improves the readability.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7328 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkCompatibilityPkg/Compatibility/Uc2ToUcThunk/Uc2ToUcThunk.c')
-rw-r--r--EdkCompatibilityPkg/Compatibility/Uc2ToUcThunk/Uc2ToUcThunk.c458
1 files changed, 0 insertions, 458 deletions
diff --git a/EdkCompatibilityPkg/Compatibility/Uc2ToUcThunk/Uc2ToUcThunk.c b/EdkCompatibilityPkg/Compatibility/Uc2ToUcThunk/Uc2ToUcThunk.c
deleted file mode 100644
index 7bc94018b8..0000000000
--- a/EdkCompatibilityPkg/Compatibility/Uc2ToUcThunk/Uc2ToUcThunk.c
+++ /dev/null
@@ -1,458 +0,0 @@
-/** @file
-Module produce UC2 on top of UC.
-
-UEFI 2.1 specification supersedes Inte's EFI Specification 1.10.
-EFI_UNICODE_COLLATION_PROTOCOL defined in Inte's EFI Specification 1.10 is replaced by
-EFI_UNICODE_COLLATION_PROTOCOL in UEFI 2.1.
-This module produces UC2 on top of UC. This module is used on platform when both of
-these two conditions are true:
-1) EFI 1.10 module producing UC present
-2) And the rest of modules on the platform consume UC2
-
-Copyright (c) 2006 - 2008 Intel Corporation. <BR>
-All rights reserved. This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution. The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-Module Name:
-
-**/
-
-#include <PiDxe.h>
-#include <Protocol/UnicodeCollation.h>
-#include <Library/BaseLib.h>
-#include <Library/DebugLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiDriverEntryPoint.h>
-#include <Library/UefiLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/HiiLib.h>
-
-
-
-/**
- Performs a case-insensitive comparison of two Null-terminated Unicode
- strings.
-
- @param This Protocol instance pointer.
- @param Str1 A pointer to a Null-terminated Unicode string.
- @param Str2 A pointer to a Null-terminated Unicode string.
-
- @retval 0 Str1 is equivalent to Str2
- @retval > 0 Str1 is lexically greater than Str2
- @retval < 0 Str1 is lexically less than Str2
-
-**/
-INTN
-EFIAPI
-StriColl (
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,
- IN CHAR16 *Str1,
- IN CHAR16 *Str2
- );
-
-/**
- Converts all the Unicode characters in a Null-terminated Unicode string to
- lower case Unicode characters.
-
- @param This Protocol instance pointer.
- @param Str A pointer to a Null-terminated Unicode string.
-
-**/
-VOID
-EFIAPI
-StrLwr (
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,
- IN OUT CHAR16 *Str
- );
-
-/**
- Converts all the Unicode characters in a Null-terminated Unicode string to upper
- case Unicode characters.
-
- @param This Protocol instance pointer.
- @param Str A pointer to a Null-terminated Unicode string.
-
-**/
-VOID
-EFIAPI
-StrUpr (
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,
- IN OUT CHAR16 *Str
- );
-
-/**
- Performs a case-insensitive comparison of a Null-terminated Unicode
- pattern string and a Null-terminated Unicode string.
-
- @param This Protocol instance pointer.
- @param String A pointer to a Null-terminated Unicode string.
- @param Pattern A pointer to a Null-terminated Unicode pattern string.
-
- @retval TRUE Pattern was found in String.
- @retval FALSE Pattern was not found in String.
-
-**/
-BOOLEAN
-EFIAPI
-MetaiMatch (
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,
- IN CHAR16 *String,
- IN CHAR16 *Pattern
- );
-
-/**
- Converts an 8.3 FAT file name in an OEM character set to a Null-terminated
- Unicode string.
-
- @param This Protocol instance pointer.
- @param FatSize The size of the string Fat in bytes.
- @param Fat A pointer to a Null-terminated string that contains an 8.3 file
- name using an OEM character set.
- @param String A pointer to a Null-terminated Unicode string. The string must
- be preallocated to hold FatSize Unicode characters.
-
-**/
-VOID
-EFIAPI
-FatToStr (
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,
- IN UINTN FatSize,
- IN CHAR8 *Fat,
- OUT CHAR16 *String
- );
-
-/**
- Converts a Null-terminated Unicode string to legal characters in a FAT
- filename using an OEM character set.
-
- @param This Protocol instance pointer.
- @param String A pointer to a Null-terminated Unicode string. The string must
- be preallocated to hold FatSize Unicode characters.
- @param FatSize The size of the string Fat in bytes.
- @param Fat A pointer to a Null-terminated string that contains an 8.3 file
- name using an OEM character set.
-
- @retval TRUE Fat is a Long File Name
- @retval FALSE Fat is an 8.3 file name
-
-**/
-BOOLEAN
-EFIAPI
-StrToFat (
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,
- IN CHAR16 *String,
- IN UINTN FatSize,
- OUT CHAR8 *Fat
- );
-
-#define UC2_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('_', 'U', 'C', '2')
-
-typedef struct {
- UINT32 Signature;
- EFI_UNICODE_COLLATION_PROTOCOL UC2;
- EFI_UNICODE_COLLATION_PROTOCOL *UC;
-} UC2_PRIVATE_DATA;
-
-#define UC2_PRIVATE_DATA_FROM_THIS(a) CR (a, UC2_PRIVATE_DATA, UC2, UC2_PRIVATE_DATA_SIGNATURE)
-
-//
-// Firmware Volume Protocol template
-//
-EFI_EVENT mUc2Registration;
-
-UC2_PRIVATE_DATA gUC2PrivateDataTemplate = {
- UC2_PRIVATE_DATA_SIGNATURE,
- {
- StriColl,
- MetaiMatch,
- StrLwr,
- StrUpr,
- FatToStr,
- StrToFat,
- NULL
- },
- NULL
-};
-
-//
-// Module globals
-//
-
-VOID
-EFIAPI
-UcNotificationEvent (
- IN EFI_EVENT Event,
- IN VOID *Context
- )
-{
- EFI_STATUS Status;
- UINTN BufferSize;
- EFI_HANDLE Handle;
- UC2_PRIVATE_DATA *Private;
- EFI_UNICODE_COLLATION_PROTOCOL *Uc2;
-
- while (TRUE) {
- BufferSize = sizeof (Handle);
- Status = gBS->LocateHandle (
- ByRegisterNotify,
- &gEfiUnicodeCollationProtocolGuid,
- mUc2Registration,
- &BufferSize,
- &Handle
- );
- if (EFI_ERROR (Status)) {
- //
- // Exit Path of While Loop....
- //
- break;
- }
-
- //
- // Skip this handle if the Firmware Volume Protocol is already installed
- //
- Status = gBS->HandleProtocol (
- Handle,
- &gEfiUnicodeCollation2ProtocolGuid,
- (VOID **)&Uc2
- );
- if (!EFI_ERROR (Status)) {
- continue;
- }
-
- //
- // Allocate private data structure
- //
- Private = AllocateCopyPool (sizeof (UC2_PRIVATE_DATA), &gUC2PrivateDataTemplate);
- if (Private == NULL) {
- continue;
- }
-
- //
- // Retrieve the UC Protocol
- //
- Status = gBS->HandleProtocol (
- Handle,
- &gEfiUnicodeCollationProtocolGuid,
- (VOID **)&Private->UC
- );
- ASSERT_EFI_ERROR (Status);
-
- //
- // Fill in rest of private data structure
- //
- Private->UC2.SupportedLanguages = AllocateZeroPool (RFC_3066_ENTRY_SIZE);
- Status = ConvertIso639LanguageToRfc3066Language (Private->UC->SupportedLanguages, Private->UC2.SupportedLanguages);
-
- if (!EFI_ERROR (Status)) {
-
- //
- // Install Firmware Volume Protocol onto same handle
- //
- Status = gBS->InstallMultipleProtocolInterfaces (
- &Handle,
- &gEfiUnicodeCollation2ProtocolGuid,
- &Private->UC2,
- NULL
- );
- ASSERT_EFI_ERROR (Status);
- }
- }
-}
-
-
-/**
- The user Entry Point for DXE driver. The user code starts with this function
- as the real entry point for the image goes into a library that calls this
- function.
-
- @param[in] ImageHandle The firmware allocated handle for the EFI image.
- @param[in] SystemTable A pointer to the EFI System Table.
-
- @retval EFI_SUCCESS The entry point is executed successfully.
- @retval other Some error occurs when executing this entry point.
-
-**/
-EFI_STATUS
-EFIAPI
-InitializeUC2 (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
-{
- EfiCreateProtocolNotifyEvent (
- &gEfiUnicodeCollationProtocolGuid,
- TPL_CALLBACK,
- UcNotificationEvent,
- NULL,
- &mUc2Registration
- );
- return EFI_SUCCESS;
-}
-
-
-/**
- Performs a case-insensitive comparison of two Null-terminated Unicode
- strings.
-
- @param This Protocol instance pointer.
- @param Str1 A pointer to a Null-terminated Unicode string.
- @param Str2 A pointer to a Null-terminated Unicode string.
-
- @retval 0 Str1 is equivalent to Str2
- @retval > 0 Str1 is lexically greater than Str2
- @retval < 0 Str1 is lexically less than Str2
-
-**/
-INTN
-EFIAPI
-StriColl (
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,
- IN CHAR16 *Str1,
- IN CHAR16 *Str2
- )
-{
- UC2_PRIVATE_DATA *Private;
-
- Private = UC2_PRIVATE_DATA_FROM_THIS (This);
-
- return Private->UC->StriColl (Private->UC, Str1, Str2);
-}
-
-
-/**
- Converts all the Unicode characters in a Null-terminated Unicode string to
- lower case Unicode characters.
-
- @param This Protocol instance pointer.
- @param Str A pointer to a Null-terminated Unicode string.
-
-**/
-VOID
-EFIAPI
-StrLwr (
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,
- IN OUT CHAR16 *Str
- )
-{
- UC2_PRIVATE_DATA *Private;
-
- Private = UC2_PRIVATE_DATA_FROM_THIS (This);
-
- Private->UC->StrLwr (Private->UC, Str);
-}
-
-
-/**
- Converts all the Unicode characters in a Null-terminated Unicode string to upper
- case Unicode characters.
-
- @param This Protocol instance pointer.
- @param Str A pointer to a Null-terminated Unicode string.
-
-**/
-VOID
-EFIAPI
-StrUpr (
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,
- IN OUT CHAR16 *Str
- )
-{
- UC2_PRIVATE_DATA *Private;
-
- Private = UC2_PRIVATE_DATA_FROM_THIS (This);
-
- Private->UC->StrUpr (Private->UC, Str);
-}
-
-/**
- Performs a case-insensitive comparison of a Null-terminated Unicode
- pattern string and a Null-terminated Unicode string.
-
- @param This Protocol instance pointer.
- @param String A pointer to a Null-terminated Unicode string.
- @param Pattern A pointer to a Null-terminated Unicode pattern string.
-
- @retval TRUE Pattern was found in String.
- @retval FALSE Pattern was not found in String.
-
-**/
-BOOLEAN
-EFIAPI
-MetaiMatch (
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,
- IN CHAR16 *String,
- IN CHAR16 *Pattern
- )
-{
- UC2_PRIVATE_DATA *Private;
-
- Private = UC2_PRIVATE_DATA_FROM_THIS (This);
-
- return Private->UC->MetaiMatch (Private->UC, String, Pattern);
-}
-
-
-/**
- Converts an 8.3 FAT file name in an OEM character set to a Null-terminated
- Unicode string.
-
- @param This Protocol instance pointer.
- @param FatSize The size of the string Fat in bytes.
- @param Fat A pointer to a Null-terminated string that contains an 8.3 file
- name using an OEM character set.
- @param String A pointer to a Null-terminated Unicode string. The string must
- be preallocated to hold FatSize Unicode characters.
-
-**/
-VOID
-EFIAPI
-FatToStr (
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,
- IN UINTN FatSize,
- IN CHAR8 *Fat,
- OUT CHAR16 *String
- )
-{
- UC2_PRIVATE_DATA *Private;
-
- Private = UC2_PRIVATE_DATA_FROM_THIS (This);
-
- Private->UC->FatToStr (Private->UC, FatSize, Fat, String);
-}
-
-
-/**
- Converts a Null-terminated Unicode string to legal characters in a FAT
- filename using an OEM character set.
-
- @param This Protocol instance pointer.
- @param String A pointer to a Null-terminated Unicode string. The string must
- be preallocated to hold FatSize Unicode characters.
- @param FatSize The size of the string Fat in bytes.
- @param Fat A pointer to a Null-terminated string that contains an 8.3 file
- name using an OEM character set.
-
- @retval TRUE Fat is a Long File Name
- @retval FALSE Fat is an 8.3 file name
-
-**/
-BOOLEAN
-EFIAPI
-StrToFat (
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,
- IN CHAR16 *String,
- IN UINTN FatSize,
- OUT CHAR8 *Fat
- )
-{
- UC2_PRIVATE_DATA *Private;
-
- Private = UC2_PRIVATE_DATA_FROM_THIS (This);
-
- return Private->UC->StrToFat (Private->UC, String, FatSize, Fat);
-}
-