ArmPkg[all]  0.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
SemihostLib.h File Reference

Macros

#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_UPDATE   (1 << 1)
 
#define SEMIHOST_FILE_MODE_BINARY   (1 << 0)
 
#define SEMIHOST_FILE_MODE_ASCII   (0 << 0)
 

Functions

BOOLEAN SemihostConnectionSupported (VOID)
 
RETURN_STATUS SemihostFileOpen (IN CHAR8 *FileName, IN UINT32 Mode, OUT UINTN *FileHandle)
 
RETURN_STATUS SemihostFileSeek (IN UINTN FileHandle, IN UINTN Offset)
 
RETURN_STATUS SemihostFileRead (IN UINTN FileHandle, IN OUT UINTN *Length, OUT VOID *Buffer)
 
RETURN_STATUS SemihostFileWrite (IN UINTN FileHandle, IN OUT UINTN *Length, IN VOID *Buffer)
 
RETURN_STATUS SemihostFileClose (IN UINTN FileHandle)
 
RETURN_STATUS SemihostFileLength (IN UINTN FileHandle, OUT UINTN *Length)
 
RETURN_STATUS SemihostFileTmpName (OUT VOID *Buffer, IN UINT8 Identifier, IN UINTN Length)
 
RETURN_STATUS SemihostFileRemove (IN CHAR8 *FileName)
 
RETURN_STATUS SemihostFileRename (IN CHAR8 *FileName, IN CHAR8 *NewFileName)
 
CHAR8 SemihostReadCharacter (VOID)
 
VOID SemihostWriteCharacter (IN CHAR8 Character)
 
VOID SemihostWriteString (IN CHAR8 *String)
 
UINT32 SemihostSystem (IN CHAR8 *CommandLine)
 

Detailed Description

Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
Portions copyright (c) 2011, 2012, ARM Ltd. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define SEMIHOST_FILE_MODE_APPEND   (2 << 2)
#define SEMIHOST_FILE_MODE_ASCII   (0 << 0)
#define SEMIHOST_FILE_MODE_BINARY   (1 << 0)
#define SEMIHOST_FILE_MODE_READ   (0 << 2)
#define SEMIHOST_FILE_MODE_UPDATE   (1 << 1)
#define SEMIHOST_FILE_MODE_WRITE   (1 << 2)

Function Documentation

BOOLEAN SemihostConnectionSupported ( VOID  )
RETURN_STATUS SemihostFileClose ( IN UINTN  FileHandle)
RETURN_STATUS SemihostFileLength ( IN UINTN  FileHandle,
OUT UINTN *  Length 
)
RETURN_STATUS SemihostFileOpen ( IN CHAR8 *  FileName,
IN UINT32  Mode,
OUT UINTN *  FileHandle 
)
RETURN_STATUS SemihostFileRead ( IN UINTN  FileHandle,
IN OUT UINTN *  Length,
OUT VOID *  Buffer 
)
RETURN_STATUS SemihostFileRemove ( IN CHAR8 *  FileName)
RETURN_STATUS SemihostFileRename ( IN CHAR8 *  FileName,
IN CHAR8 *  NewFileName 
)

Rename a specified file.

Parameters
[in]FileNameName of the file to rename.
[in]NewFileNameThe new name of the file.
Return values
RETURN_SUCCESSFile Renamed
RETURN_INVALID_PARAMETEREither the current or the new name is not specified
RETURN_ABORTEDRename failed
RETURN_STATUS SemihostFileSeek ( IN UINTN  FileHandle,
IN UINTN  Offset 
)
RETURN_STATUS SemihostFileTmpName ( OUT VOID *  Buffer,
IN UINT8  Identifier,
IN UINTN  Length 
)

Get a temporary name for a file from the host running the debug agent.

Parameters
[out]BufferPointer to the buffer where the temporary name has to be stored
[in]IdentifierFile name identifier (integer in the range 0 to 255)
[in]LengthLength of the buffer to store the temporary name
Return values
RETURN_SUCCESSTemporary name returned
RETURN_INVALID_PARAMETERInvalid buffer address
RETURN_ABORTEDTemporary name not returned
RETURN_STATUS SemihostFileWrite ( IN UINTN  FileHandle,
IN OUT UINTN *  Length,
IN VOID *  Buffer 
)
CHAR8 SemihostReadCharacter ( VOID  )
UINT32 SemihostSystem ( IN CHAR8 *  CommandLine)
VOID SemihostWriteCharacter ( IN CHAR8  Character)
VOID SemihostWriteString ( IN CHAR8 *  String)