+++ /dev/null
-/** @file\r
- Unicode Collation protocol that follows the EFI 1.0 specification.\r
-\r
- Copyright (c) 2006, 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
- Module Name: UnicodeCollation.h\r
-\r
-**/\r
-\r
-#ifndef __UNICODE_COLLATION_H__\r
-#define __UNICODE_COLLATION_H__\r
-\r
-#define EFI_UNICODE_COLLATION_PROTOCOL_GUID \\r
- { \\r
- 0x1d85cd7f, 0xf43d, 0x11d2, {0x9a, 0xc, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \\r
- }\r
-\r
-typedef struct _EFI_UNICODE_COLLATION_PROTOCOL EFI_UNICODE_COLLATION_PROTOCOL;\r
-\r
-//\r
-// Protocol data structures and defines\r
-//\r
-#define EFI_UNICODE_BYTE_ORDER_MARK (CHAR16) (0xfeff)\r
-\r
-//\r
-// Protocol member functions\r
-//\r
-/**\r
- Performs a case-insensitive comparison of two Null-terminated Unicode \r
- strings.\r
-\r
- @param This Protocol instance pointer.\r
- @param Str1 A pointer to a Null-terminated Unicode string.\r
- @param Str2 A pointer to a Null-terminated Unicode string.\r
-\r
- @retval 0 Str1 is equivalent to Str2\r
- @retval >_0 Str1 is lexically greater than Str2\r
- @retval <_0 Str1 is lexically less than Str2\r
-\r
-**/\r
-typedef\r
-INTN\r
-(EFIAPI *EFI_UNICODE_COLLATION_STRICOLL) (\r
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,\r
- IN CHAR16 *Str1,\r
- IN CHAR16 *Str2\r
- )\r
-;\r
-\r
-/**\r
- Performs a case-insensitive comparison of a Null-terminated Unicode \r
- pattern string and a Null-terminated Unicode string.\r
-\r
- @param This Protocol instance pointer.\r
- @param String A pointer to a Null-terminated Unicode string.\r
- @param Pattern A pointer to a Null-terminated Unicode pattern string.\r
-\r
- @retval TRUE Pattern was found in String.\r
- @retval FALSE Pattern was not found in String.\r
-\r
-**/\r
-typedef\r
-BOOLEAN\r
-(EFIAPI *EFI_UNICODE_COLLATION_METAIMATCH) (\r
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,\r
- IN CHAR16 *String,\r
- IN CHAR16 *Pattern\r
- )\r
-;\r
-\r
-/**\r
- Converts all the Unicode characters in a Null-terminated Unicode string to \r
- lower case Unicode characters.\r
-\r
- @param This Protocol instance pointer.\r
- @param String A pointer to a Null-terminated Unicode string.\r
-\r
- NONE\r
-\r
-**/\r
-typedef\r
-VOID\r
-(EFIAPI *EFI_UNICODE_COLLATION_STRLWR) (\r
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,\r
- IN OUT CHAR16 *Str\r
- )\r
-;\r
-\r
-/**\r
- Converts all the Unicode characters in a Null-terminated Unicode string to upper\r
- case Unicode characters.\r
-\r
- @param This Protocol instance pointer.\r
- @param String A pointer to a Null-terminated Unicode string.\r
-\r
- NONE\r
-\r
-**/\r
-typedef\r
-VOID\r
-(EFIAPI *EFI_UNICODE_COLLATION_STRUPR) (\r
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,\r
- IN OUT CHAR16 *Str\r
- )\r
-;\r
-\r
-/**\r
- Converts an 8.3 FAT file name in an OEM character set to a Null-terminated \r
- Unicode string.\r
-\r
- @param This Protocol instance pointer.\r
- @param FatSize The size of the string Fat in bytes.\r
- @param Fat A pointer to a Null-terminated string that contains an 8.3 file\r
- name using an OEM character set.\r
- @param String A pointer to a Null-terminated Unicode string. The string must\r
- be preallocated to hold FatSize Unicode characters.\r
-\r
- NONE\r
-\r
-**/\r
-typedef\r
-VOID\r
-(EFIAPI *EFI_UNICODE_COLLATION_FATTOSTR) (\r
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,\r
- IN UINTN FatSize,\r
- IN CHAR8 *Fat,\r
- OUT CHAR16 *String\r
- )\r
-;\r
-\r
-/**\r
- Converts a Null-terminated Unicode string to legal characters in a FAT \r
- filename using an OEM character set. \r
-\r
- @param This Protocol instance pointer.\r
- @param String A pointer to a Null-terminated Unicode string. The string must\r
- be preallocated to hold FatSize Unicode characters.\r
- @param FatSize The size of the string Fat in bytes.\r
- @param Fat A pointer to a Null-terminated string that contains an 8.3 file\r
- name using an OEM character set.\r
-\r
- @retval TRUE Fat is a Long File Name\r
- @retval FALSE Fat is an 8.3 file name\r
-\r
-**/\r
-typedef\r
-BOOLEAN\r
-(EFIAPI *EFI_UNICODE_COLLATION_STRTOFAT) (\r
- IN EFI_UNICODE_COLLATION_PROTOCOL *This,\r
- IN CHAR16 *String,\r
- IN UINTN FatSize,\r
- OUT CHAR8 *Fat\r
- )\r
-;\r
-\r
-struct _EFI_UNICODE_COLLATION_PROTOCOL {\r
- //\r
- // general\r
- //\r
- EFI_UNICODE_COLLATION_STRICOLL StriColl;\r
- EFI_UNICODE_COLLATION_METAIMATCH MetaiMatch;\r
- EFI_UNICODE_COLLATION_STRLWR StrLwr;\r
- EFI_UNICODE_COLLATION_STRUPR StrUpr;\r
-\r
- //\r
- // for supporting fat volumes\r
- //\r
- EFI_UNICODE_COLLATION_FATTOSTR FatToStr;\r
- EFI_UNICODE_COLLATION_STRTOFAT StrToFat;\r
-\r
- CHAR8 *SupportedLanguages;\r
-};\r
-\r
-extern EFI_GUID gEfiUnicodeCollationProtocolGuid;\r
-\r
-#endif\r