15#ifndef OC_STRING_LIB_H
16#define OC_STRING_LIB_H
26#define L_STR_LEN(String) (ARRAY_SIZE (String) - 1)
35#define L_STR_SIZE(String) (sizeof (String))
44#define L_STR_SIZE_NT(String) (sizeof (String) - sizeof (*(String)))
127 IN CONST CHAR8 *String,
143 IN UINT32 BufferSize,
163 OUT CHAR8 *StartOfBuffer,
165 IN CONST CHAR8 *FormatString,
207 IN CONST CHAR8 *FirstString,
208 IN CONST CHAR8 *SecondString,
224 IN CONST CHAR8 *String,
225 IN CONST CHAR8 *SearchString,
226 IN BOOLEAN CaseInsensitiveMatch
241 IN CONST CHAR8 *String,
242 IN CONST CHAR8 *SearchString,
243 IN BOOLEAN CaseInsensitiveMatch
278 IN CONST CHAR16 *FirstString,
279 IN CONST CHAR16 *SecondString
323 IN CONST CHAR16 *FirstString,
324 IN CONST CHAR16 *SecondString,
354 IN CONST CHAR8 *String,
355 IN CONST CHAR8 *SearchString
377 IN CONST CHAR8 *String,
400 IN CONST CHAR8 *String,
414 IN CONST CHAR8 *String,
433 IN CONST CHAR8 *String,
449 IN OUT CHAR8 **AsciiBuffer,
450 IN OUT UINTN *AsciiBufferSize,
451 IN CONST CHAR8 *FormatString,
496 IN CONST CHAR16 *String,
497 IN CONST CHAR16 *SearchString
513 IN CONST CHAR16 *String,
514 IN UINTN StringLength,
515 IN CONST CHAR16 *SearchString,
516 IN UINTN SearchStringLength
534 IN CONST CHAR16 *String,
553 IN CONST CHAR16 *String,
573 OUT CHAR16 *StartOfBuffer,
575 IN CONST CHAR16 *FormatString,
591 IN CONST CHAR16 *String,
592 IN CONST CHAR16 *SearchString,
593 IN BOOLEAN CaseInsensitiveMatch
608 IN CONST CHAR16 *String,
609 IN CONST CHAR16 *SearchString,
610 IN BOOLEAN CaseInsensitiveMatch
620 IN OUT CHAR16 *String
639 IN OUT CHAR16 *String
650 IN OUT CHAR16 *String,
651 IN BOOLEAN SingleLine
662 IN OUT CHAR8 *String,
663 IN BOOLEAN SingleLine
676 IN CONST CHAR16 *String,
677 IN BOOLEAN SingleLine
690 IN CONST CHAR16 *String
712 IN CONST CHAR16 *FirstString,
713 IN CONST CHAR8 *SecondString
729 IN CONST VOID *Buffer1,
730 IN CONST VOID *Buffer2
BOOLEAN OcAsciiStringNPrintable(IN CONST CHAR8 *String, IN UINTN Number)
VOID AsciiFilterString(IN OUT CHAR8 *String, IN BOOLEAN SingleLine)
INTN IsAsciiAlpha(IN CHAR8 Char)
VOID EFIAPI OcAsciiPrintBuffer(IN OUT CHAR8 **AsciiBuffer, IN OUT UINTN *AsciiBufferSize, IN CONST CHAR8 *FormatString,...)
INTN MixedStrCmp(IN CONST CHAR16 *FirstString, IN CONST CHAR8 *SecondString)
CHAR8 * OcAsciiToLower(CHAR8 *Str)
CHAR16 *EFIAPI OcStrChr(IN CONST CHAR16 *String, IN CHAR16 Char)
VOID AsciiUefiSlashes(IN OUT CHAR8 *String)
VOID AsciiUnixSlashes(IN OUT CHAR8 *String)
CHAR8 *EFIAPI OcAsciiStrrChr(IN CONST CHAR8 *String, IN CHAR8 Char)
CHAR16 *EFIAPI OcStrrChr(IN CONST CHAR16 *String, IN CHAR16 Char)
BOOLEAN IsAsciiNumber(IN CHAR8 Char)
INTN EFIAPI OcStrniCmp(IN CONST CHAR16 *FirstString, IN CONST CHAR16 *SecondString, IN UINTN Length)
BOOLEAN UnicodeIsFilteredString(IN CONST CHAR16 *String, IN BOOLEAN SingleLine)
EFI_STATUS EFIAPI OcAsciiStrToRawGuid(IN CONST CHAR8 *String, OUT GUID *Guid)
BOOLEAN IsAsciiPrint(IN CHAR8 Char)
VOID UnicodeUefiSlashes(IN OUT CHAR16 *String)
CHAR8 *EFIAPI OcAsciiStrChr(IN CONST CHAR8 *String, IN CHAR8 Char)
BOOLEAN EFIAPI OcAsciiEndsWith(IN CONST CHAR8 *String, IN CONST CHAR8 *SearchString, IN BOOLEAN CaseInsensitiveMatch)
BOOLEAN OcIsSpace(CHAR16 Ch)
EFI_STATUS EFIAPI OcAsciiSafeSPrint(OUT CHAR8 *StartOfBuffer, IN UINTN BufferSize, IN CONST CHAR8 *FormatString,...)
BOOLEAN HasValidGuidStringPrefix(IN CONST CHAR16 *String)
INTN IsAsciiSpace(IN CHAR8 Char)
CONST CHAR16 * OcStrStrLength(IN CONST CHAR16 *String, IN UINTN StringLength, IN CONST CHAR16 *SearchString, IN UINTN SearchStringLength)
CHAR16 *EFIAPI OcStriStr(IN CONST CHAR16 *String, IN CONST CHAR16 *SearchString)
INTN EFIAPI OcStriCmp(IN CONST CHAR16 *FirstString, IN CONST CHAR16 *SecondString)
CHAR8 *EFIAPI OcAsciiStriStr(IN CONST CHAR8 *String, IN CONST CHAR8 *SearchString)
INTN EFIAPI OcAsciiStrniCmp(IN CONST CHAR8 *FirstString, IN CONST CHAR8 *SecondString, IN UINTN Length)
CHAR16 * AsciiStrCopyToUnicode(IN CONST CHAR8 *String, IN UINTN Length)
BOOLEAN UnicodeGetParentDirectory(IN OUT CHAR16 *String)
INTN EFIAPI OcReverseStringCompare(IN CONST VOID *Buffer1, IN CONST VOID *Buffer2)
BOOLEAN AsciiUint64ToLowerHex(OUT CHAR8 *Buffer, IN UINT32 BufferSize, IN UINT64 Value)
enum _OC_STRING_FORMAT OC_STRING_FORMAT
EFI_STATUS EFIAPI OcUnicodeSafeSPrint(OUT CHAR16 *StartOfBuffer, IN UINTN BufferSize, IN CONST CHAR16 *FormatString,...)
VOID UnicodeFilterString(IN OUT CHAR16 *String, IN BOOLEAN SingleLine)
BOOLEAN EFIAPI OcUnicodeStartsWith(IN CONST CHAR16 *String, IN CONST CHAR16 *SearchString, IN BOOLEAN CaseInsensitiveMatch)
BOOLEAN EFIAPI OcAsciiStartsWith(IN CONST CHAR8 *String, IN CONST CHAR8 *SearchString, IN BOOLEAN CaseInsensitiveMatch)
BOOLEAN EFIAPI OcUnicodeEndsWith(IN CONST CHAR16 *String, IN CONST CHAR16 *SearchString, IN BOOLEAN CaseInsensitiveMatch)
BOOLEAN OcIsSpaceOrNull(CHAR16 Ch)
OC_TYPING_BUFFER_ENTRY Buffer[OC_TYPING_BUFFER_SIZE]