7 unicode_collation protocol, Unicode_collation protocol, Unicode_collation – Intel Extensible Firmware Interface User Manual
Page 410: Unicode collation protocol

Extensible Firmware Interface Specification
11-50
12/01/02
Version 1.10
11.7 UNICODE_COLLATION Protocol
This section defines the Unicode Collation protocol. This protocol is used to allow code running
in the boot services environment to perform lexical comparison functions on Unicode strings for
given languages.
UNICODE_COLLATION Protocol
Summary
Is used to perform case-insensitive comparisons of Unicode strings.
GUID
#define UNICODE_COLLATION_PROTOCOL \
{ 1d85cd7f-f43d-11d2-9a0c-0090273fc14d }
Protocol Interface Structure
typedef struct {
EFI_UNICODE_COLLATION_STRICOLL
StriColl;
EFI_UNICODE_COLLATION_METAIMATCH
MetaiMatch;
EFI_UNICODE_COLLATION_STRLWR
StrLwr;
EFI_UNICODE_COLLATION_STRUPR
StrUpr;
EFI_UNICODE_COLLATION_FATTOSTR
FatToStr;
EFI_UNICODE_COLLATION_STRTOFAT
StrToFat;
CHAR8
*SupportedLanguages;
} UNICODE_COLLATION_INTERFACE;
Parameters
StriColl
Performs a case-insensitive comparison of two Null-terminated
Unicode strings. See the
function description.
MetaiMatch
Performs a case-insensitive comparison between a Null-
terminated Unicode pattern string and a Null-terminated Unicode
string. The pattern string can use the ‘?’ wildcard to match any
character, and the ‘*’ wildcard to match any substring. See the
function description.
StrLwr
Converts all the Unicode characters in a Null-terminated
Unicode string to lowercase Unicode characters. See the
function description.
StrUpr
Converts all the Unicode characters in a Null-terminated
Unicode string to uppercase Unicode characters. See the
function description.
FatToStr
Converts an 8.3 FAT file name using an OEM character set to a
Null-terminated Unicode string. See the
function
description.