11CHAR8 mEngUpperMap[MAP_TABLE_SIZE];
12CHAR8 mEngLowerMap[MAP_TABLE_SIZE];
13CHAR8 mEngInfoMap[MAP_TABLE_SIZE];
15CHAR8 mOtherChars[] = {
102 for (Index = 0; Index < MAP_TABLE_SIZE; Index++) {
103 mEngUpperMap[Index] = (CHAR8)Index;
104 mEngLowerMap[Index] = (CHAR8)Index;
105 mEngInfoMap[Index] = 0;
107 if (((Index >=
'a') && (Index <=
'z')) || ((Index >= 0xe0) && (Index <= 0xf6)) || ((Index >= 0xf8) && (Index <= 0xfe))) {
108 Index2 = Index - 0x20;
109 mEngUpperMap[Index] = (CHAR8)Index2;
110 mEngLowerMap[Index2] = (CHAR8)Index;
112 mEngInfoMap[Index] |= CHAR_FAT_VALID;
113 mEngInfoMap[Index2] |= CHAR_FAT_VALID;
117 for (Index = 0; mOtherChars[Index] != 0; Index++) {
118 Index2 = mOtherChars[Index];
119 mEngInfoMap[Index2] |= CHAR_FAT_VALID;
124 Status =
gBS->InstallMultipleProtocolInterfaces (
126 &gEfiUnicodeCollationProtocolGuid,
128 &gEfiUnicodeCollation2ProtocolGuid,
134 Status =
gBS->InstallMultipleProtocolInterfaces (
136 &gEfiUnicodeCollation2ProtocolGuid,
144 Status =
gBS->InstallMultipleProtocolInterfaces (
146 &gEfiUnicodeCollationProtocolGuid,
157 Status = EFI_UNSUPPORTED;
185 if (TO_UPPER (*Str1) != TO_UPPER (*Str2)) {
193 return TO_UPPER (*Str1) - TO_UPPER (*Str2);
212 *Str = TO_LOWER (*Str);
233 *Str = TO_UPPER (*Str);
281 while (*String != 0) {
326 if ((CharP == 0) || (CharP ==
']')) {
333 if ((TO_UPPER (CharC) >= TO_UPPER (Index3)) && (TO_UPPER (CharC) <= TO_UPPER (CharP))) {
342 if (TO_UPPER (CharC) == TO_UPPER (CharP)) {
355 while ((CharP != 0) && (CharP !=
']')) {
365 if (TO_UPPER (CharC) != TO_UPPER (CharP)) {
398 while ((*Fat != 0) && (FatSize != 0)) {
432 BOOLEAN SpecialCharExist;
434 SpecialCharExist =
FALSE;
435 while ((*String != 0) && (FatSize != 0)) {
439 if ((*String !=
'.') && (*String !=
' ')) {
444 if ((*String < MAP_TABLE_SIZE) && ((mEngInfoMap[*String] & CHAR_FAT_VALID) != 0)) {
445 *Fat = mEngUpperMap[*String];
448 SpecialCharExist =
TRUE;
461 return SpecialCharExist;
#define GLOBAL_REMOVE_IF_UNREFERENCED
#define ASSERT_EFI_ERROR(StatusParameter)
#define FeaturePcdGet(TokenName)
BOOLEAN EFIAPI EngStrToFat(IN EFI_UNICODE_COLLATION_PROTOCOL *This, IN CHAR16 *String, IN UINTN FatSize, OUT CHAR8 *Fat)
VOID EFIAPI EngStrLwr(IN EFI_UNICODE_COLLATION_PROTOCOL *This, IN OUT CHAR16 *Str)
VOID EFIAPI EngFatToStr(IN EFI_UNICODE_COLLATION_PROTOCOL *This, IN UINTN FatSize, IN CHAR8 *Fat, OUT CHAR16 *String)
EFI_STATUS EFIAPI InitializeUnicodeCollationEng(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
VOID EFIAPI EngStrUpr(IN EFI_UNICODE_COLLATION_PROTOCOL *This, IN OUT CHAR16 *Str)
BOOLEAN EFIAPI EngMetaiMatch(IN EFI_UNICODE_COLLATION_PROTOCOL *This, IN CHAR16 *String, IN CHAR16 *Pattern)
INTN EFIAPI EngStriColl(IN EFI_UNICODE_COLLATION_PROTOCOL *This, IN CHAR16 *Str1, IN CHAR16 *Str2)