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