]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Include/Library/ShellLib.h
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8681 6f19259b...
[mirror_edk2.git] / ShellPkg / Include / Library / ShellLib.h
index 1a9ef5ac59e96d10f4631ad18418e3242e0e84bc..6bf4e6ec9b41fe7771733f776fe8a6d4dfcd1693 100644 (file)
@@ -135,7 +135,7 @@ ShellOpenFileByDevicePath(
 EFI_STATUS\r
 EFIAPI\r
 ShellOpenFileByName(\r
-  IN CHAR16                              *FilePath,\r
+  IN CONST CHAR16                          *FilePath,\r
   OUT EFI_FILE_HANDLE           *FileHandle,\r
   IN UINT64                     OpenMode,\r
   IN UINT64                            Attributes\r
@@ -171,7 +171,7 @@ ShellOpenFileByName(
 EFI_STATUS\r
 EFIAPI\r
 ShellCreateDirectory(\r
-  IN CHAR16                   *DirectoryName,\r
+  IN CONST CHAR16             *DirectoryName,\r
   OUT EFI_FILE_HANDLE         *FileHandle\r
   );\r
 \r
@@ -455,7 +455,7 @@ ShellGetExecutionBreakFlag(
 CONST CHAR16*\r
 EFIAPI\r
 ShellGetEnvironmentVariable (\r
-  IN CHAR16                     *EnvKey\r
+  IN CONST CHAR16                *EnvKey\r
   );\r
 \r
 /**\r
@@ -566,7 +566,7 @@ ShellSetPageBreakMode (
   and will process '?' and '*' as such.  the list must be freed with a call to \r
   ShellCloseFileMetaArg().\r
 \r
-  This function will fail if called sequentially without freeing the list in the middle.\r
+  If you are NOT appending to an existing list *ListHead must be NULL.\r
 \r
   @param Arg                    pointer to path string\r
   @param OpenMode               mode to open files with\r
@@ -749,4 +749,42 @@ EFIAPI
 ShellInitialize (\r
   );\r
 \r
+/**\r
+  Print at a specific location on the screen.\r
+\r
+  This function will move the cursor to a given screen location, print the specified string, \r
+  and return the cursor to the original locaiton.  \r
+  \r
+  If -1 is specified for either the Row or Col the current screen location for BOTH \r
+  will be used and the cursor's position will not be moved back to an original location.\r
+\r
+  if either Row or Col is out of range for the current console, then ASSERT\r
+  if Format is NULL, then ASSERT\r
+\r
+  In addition to the standard %-based flags as supported by UefiLib Print() this supports \r
+  the following additional flags:\r
+    %N       -   Set output attribute to normal\r
+    %H       -   Set output attribute to highlight\r
+    %E       -   Set output attribute to error\r
+    %B       -   Set output attribute to blue color\r
+    %V       -   Set output attribute to green color\r
+\r
+  Note: The background color is controlled by the shell command cls.\r
+\r
+  @param[in] Row        the row to print at\r
+  @param[in] Col        the column to print at\r
+  @param[in] Format     the format string\r
+\r
+  @return the number of characters printed to the screen\r
+**/\r
+\r
+UINTN\r
+EFIAPI\r
+ShellPrintEx(\r
+  IN INT32                Col OPTIONAL,\r
+  IN INT32                Row OPTIONAL,\r
+  IN CONST CHAR16         *Format,\r
+  ...\r
+  );\r
+\r
 #endif // __SHELL_LIB__
\ No newline at end of file