]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Include/Library/SemihostLib.h
ARM Packages: Removed trailing spaces
[mirror_edk2.git] / ArmPkg / Include / Library / SemihostLib.h
CommitLineData
1e57a462 1/** @file\r
2\r
3 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
c63626b7 4 Portions copyright (c) 2011, 2012, ARM Ltd. All rights reserved.<BR>\r
1e57a462 5\r
6 This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10\r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13\r
14**/\r
15\r
16#ifndef __SEMIHOSTING_H__\r
17#define __SEMIHOSTING_H__\r
18\r
19/*\r
20 *\r
21 * Please refer to ARM RVDS 3.0 Compiler and Libraries Guide for more information\r
22 * about the semihosting interface.\r
23 *\r
24 */\r
3402aac7 25\r
1e57a462 26#define SEMIHOST_FILE_MODE_READ (0 << 2)\r
27#define SEMIHOST_FILE_MODE_WRITE (1 << 2)\r
28#define SEMIHOST_FILE_MODE_APPEND (2 << 2)\r
29#define SEMIHOST_FILE_MODE_CREATE (1 << 1)\r
30#define SEMIHOST_FILE_MODE_BINARY (1 << 0)\r
31#define SEMIHOST_FILE_MODE_ASCII (0 << 0)\r
32\r
33BOOLEAN\r
34SemihostConnectionSupported (\r
35 VOID\r
36 );\r
37\r
38RETURN_STATUS\r
39SemihostFileOpen (\r
40 IN CHAR8 *FileName,\r
41 IN UINT32 Mode,\r
c63626b7 42 OUT UINTN *FileHandle\r
1e57a462 43 );\r
44\r
45RETURN_STATUS\r
46SemihostFileSeek (\r
c63626b7 47 IN UINTN FileHandle,\r
48 IN UINTN Offset\r
1e57a462 49 );\r
50\r
51RETURN_STATUS\r
52SemihostFileRead (\r
c63626b7 53 IN UINTN FileHandle,\r
54 IN OUT UINTN *Length,\r
1e57a462 55 OUT VOID *Buffer\r
56 );\r
57\r
58RETURN_STATUS\r
59SemihostFileWrite (\r
c63626b7 60 IN UINTN FileHandle,\r
61 IN OUT UINTN *Length,\r
1e57a462 62 IN VOID *Buffer\r
63 );\r
64\r
65RETURN_STATUS\r
66SemihostFileClose (\r
c63626b7 67 IN UINTN FileHandle\r
1e57a462 68 );\r
69\r
70RETURN_STATUS\r
71SemihostFileLength (\r
c63626b7 72 IN UINTN FileHandle,\r
73 OUT UINTN *Length\r
1e57a462 74 );\r
75\r
76RETURN_STATUS\r
77SemihostFileRemove (\r
78 IN CHAR8 *FileName\r
79 );\r
80\r
81CHAR8\r
82SemihostReadCharacter (\r
83 VOID\r
84 );\r
85\r
86VOID\r
87SemihostWriteCharacter (\r
88 IN CHAR8 Character\r
89 );\r
90\r
91VOID\r
92SemihostWriteString (\r
93 IN CHAR8 *String\r
94 );\r
3402aac7 95\r
1e57a462 96UINT32\r
97SemihostSystem (\r
98 IN CHAR8 *CommandLine\r
99 );\r
3402aac7 100\r
1e57a462 101#endif // __SEMIHOSTING_H__\r