]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Include/Library/SemihostLib.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ArmPkg / Include / Library / SemihostLib.h
index 62565517712646271b99e6bee105b6cd1703caba..e0ff9251cb99d2953dd89ad2a7174577e4300dc6 100644 (file)
@@ -3,18 +3,12 @@
   Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
   Portions copyright (c) 2011, 2012, ARM Ltd. All rights reserved.<BR>\r
 \r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
-#ifndef __SEMIHOSTING_H__\r
-#define __SEMIHOSTING_H__\r
+#ifndef SEMIHOSTING_LIB_H_\r
+#define SEMIHOSTING_LIB_H_\r
 \r
 /*\r
  *\r
  *  about the semihosting interface.\r
  *\r
  */\r
\r
-#define SEMIHOST_FILE_MODE_READ     (0 << 2)\r
-#define SEMIHOST_FILE_MODE_WRITE    (1 << 2)\r
-#define SEMIHOST_FILE_MODE_APPEND   (2 << 2)\r
-#define SEMIHOST_FILE_MODE_CREATE   (1 << 1)\r
-#define SEMIHOST_FILE_MODE_BINARY   (1 << 0)\r
-#define SEMIHOST_FILE_MODE_ASCII    (0 << 0)\r
+\r
+#define SEMIHOST_FILE_MODE_READ    (0 << 2)\r
+#define SEMIHOST_FILE_MODE_WRITE   (1 << 2)\r
+#define SEMIHOST_FILE_MODE_APPEND  (2 << 2)\r
+#define SEMIHOST_FILE_MODE_UPDATE  (1 << 1)\r
+#define SEMIHOST_FILE_MODE_BINARY  (1 << 0)\r
+#define SEMIHOST_FILE_MODE_ASCII   (0 << 0)\r
 \r
 BOOLEAN\r
 SemihostConnectionSupported (\r
@@ -37,9 +31,9 @@ SemihostConnectionSupported (
 \r
 RETURN_STATUS\r
 SemihostFileOpen (\r
-  IN  CHAR8  *FileName,\r
-  IN  UINT32 Mode,\r
-  OUT UINTN  *FileHandle\r
+  IN  CHAR8   *FileName,\r
+  IN  UINT32  Mode,\r
+  OUT UINTN   *FileHandle\r
   );\r
 \r
 RETURN_STATUS\r
@@ -73,9 +67,46 @@ SemihostFileLength (
   OUT UINTN  *Length\r
   );\r
 \r
+/**\r
+  Get a temporary name for a file from the host running the debug agent.\r
+\r
+  @param[out]  Buffer      Pointer to the buffer where the temporary name has to\r
+                           be stored\r
+  @param[in]   Identifier  File name identifier (integer in the range 0 to 255)\r
+  @param[in]   Length      Length of the buffer to store the temporary name\r
+\r
+  @retval  RETURN_SUCCESS            Temporary name returned\r
+  @retval  RETURN_INVALID_PARAMETER  Invalid buffer address\r
+  @retval  RETURN_ABORTED            Temporary name not returned\r
+\r
+**/\r
+RETURN_STATUS\r
+SemihostFileTmpName (\r
+  OUT  VOID   *Buffer,\r
+  IN   UINT8  Identifier,\r
+  IN   UINTN  Length\r
+  );\r
+\r
 RETURN_STATUS\r
 SemihostFileRemove (\r
-  IN CHAR8 *FileName\r
+  IN CHAR8  *FileName\r
+  );\r
+\r
+/**\r
+  Rename a specified file.\r
+\r
+  @param[in]  FileName     Name of the file to rename.\r
+  @param[in]  NewFileName  The new name of the file.\r
+\r
+  @retval  RETURN_SUCCESS            File Renamed\r
+  @retval  RETURN_INVALID_PARAMETER  Either the current or the new name is not specified\r
+  @retval  RETURN_ABORTED            Rename failed\r
+\r
+**/\r
+RETURN_STATUS\r
+SemihostFileRename (\r
+  IN  CHAR8  *FileName,\r
+  IN  CHAR8  *NewFileName\r
   );\r
 \r
 CHAR8\r
@@ -85,17 +116,17 @@ SemihostReadCharacter (
 \r
 VOID\r
 SemihostWriteCharacter (\r
-  IN CHAR8 Character\r
+  IN CHAR8  Character\r
   );\r
 \r
 VOID\r
 SemihostWriteString (\r
-  IN CHAR8 *String\r
+  IN CHAR8  *String\r
   );\r
-  \r
+\r
 UINT32\r
 SemihostSystem (\r
-  IN CHAR8 *CommandLine\r
+  IN CHAR8  *CommandLine\r
   );\r
-  \r
-#endif // __SEMIHOSTING_H__\r
+\r
+#endif // SEMIHOSTING_LIB_H_\r