X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FEbcDxe%2FEbcDebugger%2FEdbSupport.h;h=43f750440fefd420df97c913d4abd17a3c3ab4ab;hb=HEAD;hp=8908718edb91a8816534453ec10b6681e62f7457;hpb=3e118ea87dbdfd5190b624a9febd7e8b07a1aa6e;p=mirror_edk2.git diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSupport.h b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSupport.h index 8908718edb..43f750440f 100644 --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSupport.h +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSupport.h @@ -1,13 +1,7 @@ /** @file -Copyright (c) 2007, Intel Corporation All rights reserved.
-This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +Copyright (c) 2007, Intel Corporation. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -23,169 +17,364 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #define EFI_DEBUGGER_LINE_NUMBER_IN_PAGE 0x10 -#define EFI_DEBUG_MAX_PRINT_BUFFER (80 * 4) +#define EFI_DEBUG_MAX_PRINT_BUFFER (80 * 4) + +/** + + Convert hex string to uint. + + @param Str - The string +**/ UINTN EFIAPI Xtoi ( CHAR16 *Str ); +/** + + Convert hex string to uint. + + @param Str - The string + +**/ UINT64 EFIAPI LXtoi ( CHAR16 *Str ); +/** + + Convert hex string to uint. + + @param Str - The string + +**/ UINTN EFIAPI Atoi ( CHAR16 *Str ); +/** + + Convert hex string to uint. + + @param Str - The string + +**/ UINTN EFIAPI AsciiXtoi ( CHAR8 *Str ); +/** + + Convert hex string to uint. + + @param Str - The string + +**/ UINTN EFIAPI AsciiAtoi ( CHAR8 *Str ); +/** + Compare the Unicode and Ascii string pointed by String to the string pointed by String2. + + @param String - Unicode String to process + + @param String2 - Ascii string to process + + @return Return a positive integer if String is lexicall greater than String2; Zero if + the two strings are identical; and a negative interger if String is lexically + less than String2. + +**/ INTN EFIAPI StrCmpUnicodeAndAscii ( - IN CHAR16 *String, - IN CHAR8 *String2 + IN CHAR16 *String, + IN CHAR8 *String2 ); +/** + + Compare the Unicode string pointed by String to the string pointed by String2. + + @param String - Unicode String to process + @param String2 - Unicode string to process + + @return Return a positive integer if String is lexically greater than String2; Zero if + the two strings are identical; and a negative integer if String is lexically + less than String2. + +**/ INTN EFIAPI StriCmp ( - IN CHAR16 *String, - IN CHAR16 *String2 + IN CHAR16 *String, + IN CHAR16 *String2 ); +/** + + Compare the Unicode and Ascii string pointed by String to the string pointed by String2. + + @param String - Unicode String to process + @param String2 - Ascii string to process + + @return Return a positive integer if String is lexically greater than String2; Zero if + the two strings are identical; and a negative integer if String is lexically + less than String2. + +**/ INTN EFIAPI StriCmpUnicodeAndAscii ( - IN CHAR16 *String, - IN CHAR8 *String2 + IN CHAR16 *String, + IN CHAR8 *String2 ); +/** + + Verify if the string is end with the sub string. + + @param Str - The string where to search the sub string + @param SubStr - The substring. + +**/ BOOLEAN EFIAPI StrEndWith ( - IN CHAR16 *Str, - IN CHAR16 *SubStr + IN CHAR16 *Str, + IN CHAR16 *SubStr ); +/** + Duplicate a string. + + @param Src The string to be duplicated. + +**/ CHAR16 * EFIAPI StrDuplicate ( - IN CHAR16 *Src + IN CHAR16 *Src ); +/** + + Find the next token after one or more specified characters. + + @param String Point to the string where to find the substring. + @param CharSet Point to the string to be found. + +**/ CHAR16 * EFIAPI StrGetNewTokenLine ( - IN CHAR16 *String, - IN CHAR16 *CharSet + IN CHAR16 *String, + IN CHAR16 *CharSet ); +/** + + Find the next token after one or more specified characters. + + @param CharSet Point to the string to be found. + +**/ CHAR16 * EFIAPI StrGetNextTokenLine ( - IN CHAR16 *CharSet + IN CHAR16 *CharSet ); +/** + + Find the next token after one specificed characters. + + @param String Point to the string where to find the substring. + @param CharSet Point to the string to be found. + +**/ CHAR16 * EFIAPI StrGetNewTokenField ( - IN CHAR16 *String, - IN CHAR16 *CharSet + IN CHAR16 *String, + IN CHAR16 *CharSet ); +/** + + Find the next token after one specificed characters. + + @param CharSet Point to the string to be found. + +**/ CHAR16 * EFIAPI StrGetNextTokenField ( - IN CHAR16 *CharSet + IN CHAR16 *CharSet ); +/** + + Patch a character to the end of a string. + + @param Buffer The string to be patched. + @param Patch The patch character. + +**/ VOID EFIAPI PatchForStrTokenAfter ( - IN CHAR16 *Buffer, - IN CHAR16 Patch + IN CHAR16 *Buffer, + IN CHAR16 Patch ); +/** + Patch a character at the beginning of a string. + + @param Buffer The string to be patched. + @param Patch The patch character. + +**/ VOID EFIAPI PatchForStrTokenBefore ( - IN CHAR16 *Buffer, - IN CHAR16 Patch + IN CHAR16 *Buffer, + IN CHAR16 Patch ); +/** + + Find the next token after one or more specified characters. + + @param String Point to the string where to find the substring. + @param CharSet Point to the string to be found. + +**/ CHAR8 * EFIAPI AsciiStrGetNewTokenLine ( - IN CHAR8 *String, - IN CHAR8 *CharSet + IN CHAR8 *String, + IN CHAR8 *CharSet ); +/** + + Find the next token after one or more specified characters. + + @param CharSet Point to the string to be found. + +**/ CHAR8 * EFIAPI AsciiStrGetNextTokenLine ( - IN CHAR8 *CharSet + IN CHAR8 *CharSet ); +/** + + Find the next token after one specificed characters. + + @param String Point to the string where to find the substring. + @param CharSet Point to the string to be found. + +**/ CHAR8 * EFIAPI AsciiStrGetNewTokenField ( - IN CHAR8 *String, - IN CHAR8 *CharSet + IN CHAR8 *String, + IN CHAR8 *CharSet ); +/** + + Find the next token after one specificed characters. + + @param CharSet Point to the string to be found. + +**/ CHAR8 * EFIAPI AsciiStrGetNextTokenField ( - IN CHAR8 *CharSet + IN CHAR8 *CharSet ); +/** + + Patch a character to the end of a string. + + @param Buffer The string to be patched. + @param Patch The patch character. + +**/ VOID EFIAPI PatchForAsciiStrTokenAfter ( - IN CHAR8 *Buffer, - IN CHAR8 Patch + IN CHAR8 *Buffer, + IN CHAR8 Patch ); +/** + Patch a character at the beginning of a string. + + @param Buffer The string to be patched. + @param Patch The patch character. + +**/ VOID EFIAPI PatchForAsciiStrTokenBefore ( - IN CHAR8 *Buffer, - IN CHAR8 Patch + IN CHAR8 *Buffer, + IN CHAR8 Patch ); /** -Shell Library. + + Shell Library. + Get user input. + + @param Prompt The prompt string. + @param InStr Point to the input string. + @param StrLen The max length of string user can input. + **/ VOID EFIAPI Input ( - IN CHAR16 *Prompt OPTIONAL, - OUT CHAR16 *InStr, - IN UINTN StrLen + IN CHAR16 *Prompt OPTIONAL, + OUT CHAR16 *InStr, + IN UINTN StrLen ); +/** + + SetPageBreak. + +**/ BOOLEAN EFIAPI SetPageBreak ( VOID ); +/** + Print a Unicode string to the output device. + + @param Format A Null-terminated Unicode format string. + @param ... The variable argument list that contains pointers to Null- + terminated Unicode strings to be printed + +**/ UINTN EFIAPI EDBPrint ( @@ -193,6 +382,17 @@ EDBPrint ( ... ); +/** + Print a Unicode string to the output buffer. + + @param Buffer A pointer to the output buffer for the produced Null-terminated + Unicode string. + @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer. + @param Format A Null-terminated Unicode format string. + @param ... The variable argument list that contains pointers to Null- + terminated Unicode strings to be printed + +**/ UINTN EFIAPI EDBSPrint ( @@ -202,6 +402,18 @@ EDBSPrint ( ... ); +/** + Print a Unicode string to the output buffer with specified offset.. + + @param Buffer A pointer to the output buffer for the produced Null-terminated + Unicode string. + @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer. + @param Offset The offset of the buffer. + @param Format A Null-terminated Unicode format string. + @param ... The variable argument list that contains pointers to Null- + terminated Unicode strings to be printed + +**/ UINTN EFIAPI EDBSPrintWithOffset ( @@ -212,23 +424,54 @@ EDBSPrintWithOffset ( ... ); +/** + + Read a file. + If ScanFs is FLASE, it will use DebuggerPrivate->Vol as default Fs. + If ScanFs is TRUE, it will scan all FS and check the file. + If there is only one file match the name, it will be read. + If there is more than one file match the name, it will return Error. + + @param DebuggerPrivate - EBC Debugger private data structure + @param FileName - The file to be read. + @param BufferSize - The file buffer size + @param Buffer - The file buffer + @param ScanFs - Need Scan all FS + + @retval EFI_SUCCESS - read file successfully + @retval EFI_NOT_FOUND - file not found + @retval EFI_NO_MAPPING - there is duplicated files found + +**/ EFI_STATUS EFIAPI ReadFileToBuffer ( - IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, - IN CHAR16 *FileName, - OUT UINTN *BufferSize, - OUT VOID **Buffer, - IN BOOLEAN ScanFs + IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, + IN CHAR16 *FileName, + OUT UINTN *BufferSize, + OUT VOID **Buffer, + IN BOOLEAN ScanFs ); +/** + + Get file name under this dir with index + + @param DebuggerPrivate - EBC Debugger private data structure + @param DirName - The dir to be read. + @param FileName - The file name pattern under this dir + @param Index - The file index under this dir + + @return File Name which match the pattern and index. + +**/ CHAR16 * EFIAPI GetFileNameUnderDir ( - IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, - IN CHAR16 *DirName, - IN CHAR16 *FileName, - IN OUT UINTN *Index + IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, + IN CHAR16 *DirName, + IN CHAR16 *FileName, + IN OUT UINTN *Index ); #endif