]> 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 03f3bce7a95f70bf081c4f3897eadd7a1bb71642..e0ff9251cb99d2953dd89ad2a7174577e4300dc6 100644 (file)
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-
-  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.
-
-**/
-
-#ifndef __SEMIHOSTING_H__
-#define __SEMIHOSTING_H__
-
-/*
- *
- *  Please refer to ARM RVDS 3.0 Compiler and Libraries Guide for more information
- *  about the semihosting interface.
- *
- */
-#define SEMIHOST_FILE_MODE_READ     (0 << 2)
-#define SEMIHOST_FILE_MODE_WRITE    (1 << 2)
-#define SEMIHOST_FILE_MODE_APPEND   (2 << 2)
-#define SEMIHOST_FILE_MODE_CREATE   (1 << 1)
-#define SEMIHOST_FILE_MODE_BINARY   (1 << 0)
-#define SEMIHOST_FILE_MODE_ASCII    (0 << 0)
-
-BOOLEAN
-SemihostConnectionSupported (
-  VOID
-  );
-
-EFI_STATUS
-SemihostFileOpen (
-  IN  CHAR8  *FileName,
-  IN  UINT32 Mode,
-  OUT UINT32 *FileHandle
-  );
-
-EFI_STATUS
-SemihostFileSeek (
-  IN UINT32 FileHandle,
-  IN UINT32 Offset
-  );
-
-EFI_STATUS
-SemihostFileRead (
-  IN     UINT32 FileHandle,
-  IN OUT UINT32 *Length,
-  OUT    VOID   *Buffer
-  );
-
-EFI_STATUS
-SemihostFileWrite (
-  IN     UINT32 FileHandle,
-  IN OUT UINT32 *Length,
-  IN     VOID   *Buffer
-  );
-
-EFI_STATUS
-SemihostFileClose (
-  IN UINT32 FileHandle
-  );
-
-EFI_STATUS
-SemihostFileLength (
-  IN  UINT32 FileHandle,
-  OUT UINT32 *Length
-  );
-
-EFI_STATUS
-SemihostFileRemove (
-  IN CHAR8 *FileName
-  );
-
-CHAR8
-SemihostReadCharacter (
-  VOID
-  );
-
-VOID
-SemihostWriteCharacter (
-  IN CHAR8 Character
-  );
-
-VOID
-SemihostWriteString (
-  IN CHAR8 *String
-  );
-  
-UINT32
-SemihostSystem (
-  IN CHAR8 *CommandLine
-  );
-  
-#endif // __SEMIHOSTING_H__
+/** @file\r
+\r
+  Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
+  Portions copyright (c) 2011, 2012, ARM Ltd. All rights reserved.<BR>\r
+\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#ifndef SEMIHOSTING_LIB_H_\r
+#define SEMIHOSTING_LIB_H_\r
+\r
+/*\r
+ *\r
+ *  Please refer to ARM RVDS 3.0 Compiler and Libraries Guide for more information\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_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
+  VOID\r
+  );\r
+\r
+RETURN_STATUS\r
+SemihostFileOpen (\r
+  IN  CHAR8   *FileName,\r
+  IN  UINT32  Mode,\r
+  OUT UINTN   *FileHandle\r
+  );\r
+\r
+RETURN_STATUS\r
+SemihostFileSeek (\r
+  IN UINTN  FileHandle,\r
+  IN UINTN  Offset\r
+  );\r
+\r
+RETURN_STATUS\r
+SemihostFileRead (\r
+  IN     UINTN  FileHandle,\r
+  IN OUT UINTN  *Length,\r
+  OUT    VOID   *Buffer\r
+  );\r
+\r
+RETURN_STATUS\r
+SemihostFileWrite (\r
+  IN     UINTN  FileHandle,\r
+  IN OUT UINTN  *Length,\r
+  IN     VOID   *Buffer\r
+  );\r
+\r
+RETURN_STATUS\r
+SemihostFileClose (\r
+  IN UINTN  FileHandle\r
+  );\r
+\r
+RETURN_STATUS\r
+SemihostFileLength (\r
+  IN  UINTN  FileHandle,\r
+  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
+  );\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
+SemihostReadCharacter (\r
+  VOID\r
+  );\r
+\r
+VOID\r
+SemihostWriteCharacter (\r
+  IN CHAR8  Character\r
+  );\r
+\r
+VOID\r
+SemihostWriteString (\r
+  IN CHAR8  *String\r
+  );\r
+\r
+UINT32\r
+SemihostSystem (\r
+  IN CHAR8  *CommandLine\r
+  );\r
+\r
+#endif // SEMIHOSTING_LIB_H_\r