24#define USL_FREE_NON_NULL(Pointer) \
26 if ((Pointer) != NULL) { \
27 FreePool((Pointer)); \
53 IN OUT VOID *BufferToSort,
56 IN SORT_COMPARE CompareFunction
61 ASSERT (BufferToSort !=
NULL);
62 ASSERT (CompareFunction !=
NULL);
65 ASSERT (Buffer !=
NULL);
106 if (DevicePath1 ==
NULL) {
107 if (DevicePath2 ==
NULL) {
114 if (DevicePath2 ==
NULL) {
118 if (mUnicodeCollation ==
NULL) {
119 Status =
gBS->LocateProtocol (
120 &gEfiUnicodeCollation2ProtocolGuid,
122 (VOID **)&mUnicodeCollation
140 if (TextPath1 ==
NULL) {
142 }
else if (TextPath2 ==
NULL) {
145 RetVal = mUnicodeCollation->StriColl (
152 USL_FREE_NON_NULL (TextPath1);
153 USL_FREE_NON_NULL (TextPath2);
177 if (mUnicodeCollation ==
NULL) {
178 Status =
gBS->LocateProtocol (
179 &gEfiUnicodeCollation2ProtocolGuid,
181 (VOID **)&mUnicodeCollation
187 return (mUnicodeCollation->StriColl (
INTN EFIAPI StrCmp(IN CONST CHAR16 *FirstString, IN CONST CHAR16 *SecondString)
VOID EFIAPI QuickSort(IN OUT VOID *BufferToSort, IN CONST UINTN Count, IN CONST UINTN ElementSize, IN BASE_SORT_COMPARE CompareFunction, OUT VOID *BufferOneElement)
CHAR16 *EFIAPI ConvertDevicePathToText(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN BOOLEAN DisplayOnly, IN BOOLEAN AllowShortcuts)
VOID *EFIAPI AllocateZeroPool(IN UINTN AllocationSize)
VOID EFIAPI FreePool(IN VOID *Buffer)
#define ASSERT_EFI_ERROR(StatusParameter)
VOID EFIAPI PerformQuickSort(IN OUT VOID *BufferToSort, IN CONST UINTN Count, IN CONST UINTN ElementSize, IN SORT_COMPARE CompareFunction)
INTN EFIAPI StringNoCaseCompare(IN CONST VOID *Buffer1, IN CONST VOID *Buffer2)
INTN EFIAPI DevicePathCompare(IN CONST VOID *Buffer1, IN CONST VOID *Buffer2)
INTN EFIAPI StringCompare(IN CONST VOID *Buffer1, IN CONST VOID *Buffer2)