TianoCore EDK2 master
|
Go to the source code of this file.
Functions | |
EFI_STATUS | VolumeOpen (IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *This, OUT EFI_FILE **Root) |
EFI_STATUS | FileOpen (IN EFI_FILE *This, OUT EFI_FILE **NewHandle, IN CHAR16 *FileName, IN UINT64 OpenMode, IN UINT64 Attributes) |
EFI_STATUS | FileClose (IN EFI_FILE *This) |
EFI_STATUS | FileDelete (IN EFI_FILE *This) |
EFI_STATUS | FileRead (IN EFI_FILE *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer) |
EFI_STATUS | FileWrite (IN EFI_FILE *This, IN OUT UINTN *BufferSize, IN VOID *Buffer) |
EFI_STATUS | FileGetPosition (IN EFI_FILE *File, OUT UINT64 *Position) |
EFI_STATUS | FileSetPosition (IN EFI_FILE *File, IN UINT64 Position) |
EFI_STATUS | FileGetInfo (IN EFI_FILE *This, IN EFI_GUID *InformationType, IN OUT UINTN *BufferSize, OUT VOID *Buffer) |
EFI_STATUS | FileSetInfo (IN EFI_FILE *This, IN EFI_GUID *InformationType, IN UINTN BufferSize, IN VOID *Buffer) |
EFI_STATUS | FileFlush (IN EFI_FILE *File) |
Support a Semi Host file system over a debuggers JTAG
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file SemihostFs.h.
EFI_STATUS FileClose | ( | IN EFI_FILE * | This | ) |
Close a specified file handle.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle to close. |
EFI_SUCCESS | The file was closed. |
EFI_INVALID_PARAMETER | The parameter "This" is NULL. |
Definition at line 407 of file SemihostFs.c.
EFI_STATUS FileDelete | ( | IN EFI_FILE * | This | ) |
Close and delete a file.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle to delete. |
EFI_SUCCESS | The file was closed and deleted. |
EFI_WARN_DELETE_FAILURE | The handle was closed, but the file was not deleted. |
EFI_INVALID_PARAMETER | The parameter "This" is NULL. |
Definition at line 450 of file SemihostFs.c.
EFI_STATUS FileFlush | ( | IN EFI_FILE * | File | ) |
Definition at line 1181 of file SemihostFs.c.
EFI_STATUS FileGetInfo | ( | IN EFI_FILE * | This, |
IN EFI_GUID * | InformationType, | ||
IN OUT UINTN * | BufferSize, | ||
OUT VOID * | Buffer | ||
) |
Return information about a file or a file system.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle the requested information is for. |
[in] | InformationType | The type identifier for the information being requested : EFI_FILE_INFO_ID or EFI_FILE_SYSTEM_INFO_ID or EFI_FILE_SYSTEM_VOLUME_LABEL_ID |
[in,out] | BufferSize | The size, in bytes, of Buffer. |
[out] | Buffer | A pointer to the data buffer to return. The type of the data inside the buffer is indicated by InformationType. |
EFI_SUCCESS | The information was returned. |
EFI_UNSUPPORTED | The InformationType is not known. |
EFI_BUFFER_TOO_SMALL | The BufferSize is too small to return the information. BufferSize has been updated with the size needed to complete the request. |
EFI_INVALID_PARAMETER | The parameter "This" or the parameter "Buffer" is NULL. |
Return information about a file or a file system.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle the requested information is for. |
[in] | InformationType | The type identifier for the information being requested : EFI_FILE_INFO_ID or EFI_FILE_SYSTEM_INFO_ID or EFI_FILE_SYSTEM_VOLUME_LABEL_ID |
[in,out] | BufferSize | The size, in bytes, of Buffer. |
[out] | Buffer | A pointer to the data buffer to return. The type of the data inside the buffer is indicated by InformationType. |
EFI_SUCCESS | The information was returned. |
EFI_UNSUPPORTED | The InformationType is not known. |
EFI_BUFFER_TOO_SMALL | The BufferSize is too small to return the information. BufferSize has been updated with the size needed to complete the request. |
EFI_INVALID_PARAMETER | The parameter "This" or "InformationType" or "BufferSize" is NULL or "Buffer" is NULL and "*Buffersize" is greater than 0. |
Definition at line 890 of file SemihostFs.c.
EFI_STATUS FileGetPosition | ( | IN EFI_FILE * | This, |
OUT UINT64 * | Position | ||
) |
Return a file's current position.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle to get the current position on. |
[out] | Position | The address to return the file's current position value. |
EFI_SUCCESS | The position was returned. |
EFI_INVALID_PARAMETER | Position is a NULL pointer. |
Return a file's current position.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle to get the current position on. |
[out] | Position | The address to return the file's current position value. |
EFI_SUCCESS | The position was returned. |
EFI_INVALID_PARAMETER | The parameter "This" or "Position" is NULL. |
Definition at line 682 of file SemihostFs.c.
EFI_STATUS FileOpen | ( | IN EFI_FILE * | This, |
OUT EFI_FILE ** | NewHandle, | ||
IN CHAR16 * | FileName, | ||
IN UINT64 | OpenMode, | ||
IN UINT64 | Attributes | ||
) |
Open a file on the host system by means of the semihosting interface.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle to source location. |
[out] | NewHandle | A pointer to the location to return the opened handle for the new file. |
[in] | FileName | The Null-terminated string of the name of the file to be opened. |
[in] | OpenMode | The mode to open the file : Read or Read/Write or Read/Write/Create |
[in] | Attributes | Only valid for EFI_FILE_MODE_CREATE, in which case these are the attribute bits for the newly created file. The mnemonics of the attribute bits are : EFI_FILE_READ_ONLY, EFI_FILE_HIDDEN, EFI_FILE_SYSTEM, EFI_FILE_RESERVED, EFI_FILE_DIRECTORY and EFI_FILE_ARCHIVE. |
EFI_SUCCESS | The file was open. |
EFI_NOT_FOUND | The specified file could not be found. |
EFI_DEVICE_ERROR | The last issued semi-hosting operation failed. |
EFI_WRITE_PROTECTED | Attempt to create a directory. This is not possible with the semi-hosting interface. |
EFI_OUT_OF_RESOURCES | Not enough resources were available to open the file. |
EFI_INVALID_PARAMETER | At least one of the parameters is invalid. |
Definition at line 174 of file SemihostFs.c.
Read data from an open file.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle to read data from. |
[in,out] | BufferSize | On input, the size of the Buffer. On output, the amount of data returned in Buffer. In both cases, the size is measured in bytes. |
[out] | Buffer | The buffer into which the data is read. |
EFI_SUCCESS | The data was read. |
EFI_DEVICE_ERROR | On entry, the current file position is beyond the end of the file, or the semi-hosting interface reported an error while performing the read operation. |
EFI_INVALID_PARAMETER | The parameter "This" or the parameter "Buffer" is NULL. |
Read data from an open file.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle to read data from. |
[in,out] | BufferSize | On input, the size of the Buffer. On output, the amount of data returned in Buffer. In both cases, the size is measured in bytes. |
[out] | Buffer | The buffer into which the data is read. |
EFI_SUCCESS | The data was read. |
EFI_DEVICE_ERROR | On entry, the current file position is beyond the end of the file, or the semi-hosting interface reported an error while performing the read operation. |
EFI_INVALID_PARAMETER | At least one of the three input pointers is NULL. |
Definition at line 507 of file SemihostFs.c.
EFI_STATUS FileSetInfo | ( | IN EFI_FILE * | This, |
IN EFI_GUID * | InformationType, | ||
IN UINTN | BufferSize, | ||
IN VOID * | Buffer | ||
) |
Set information about a file or a file system.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle the information is for. |
[in] | InformationType | The type identifier for the information being set : EFI_FILE_INFO_ID or EFI_FILE_SYSTEM_INFO_ID or EFI_FILE_SYSTEM_VOLUME_LABEL_ID |
[in] | BufferSize | The size, in bytes, of Buffer. |
[in] | Buffer | A pointer to the data buffer to write. The type of the data inside the buffer is indicated by InformationType. |
EFI_SUCCESS | The information was set. |
EFI_UNSUPPORTED | The InformationType is not known. |
EFI_DEVICE_ERROR | The last issued semi-hosting operation failed. |
EFI_ACCESS_DENIED | An attempt is being made to change the EFI_FILE_DIRECTORY Attribute. |
EFI_ACCESS_DENIED | InformationType is EFI_FILE_INFO_ID and the file is a read-only file or has been opened in read-only mode and an attempt is being made to modify a field other than Attribute. |
EFI_ACCESS_DENIED | An attempt is made to change the name of a file to a file that is already present. |
EFI_WRITE_PROTECTED | An attempt is being made to modify a read-only attribute. |
EFI_BAD_BUFFER_SIZE | The size of the buffer is lower than that indicated by the data inside the buffer. |
EFI_OUT_OF_RESOURCES | An allocation needed to process the request failed. |
EFI_INVALID_PARAMETER | At least one of the parameters is invalid. |
Definition at line 1118 of file SemihostFs.c.
EFI_STATUS FileSetPosition | ( | IN EFI_FILE * | This, |
IN UINT64 | Position | ||
) |
Set a file's current position.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle to set the requested position on. |
[in] | Position | The byte position from the start of the file to set. |
EFI_SUCCESS | The position was set. |
EFI_DEVICE_ERROR | The semi-hosting positioning operation failed. |
EFI_UNSUPPORTED | The seek request for nonzero is not valid on open directories. |
Set a file's current position.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle to set the requested position on. |
[in] | Position | The byte position from the start of the file to set. |
EFI_SUCCESS | The position was set. |
EFI_DEVICE_ERROR | The semi-hosting positioning operation failed. |
EFI_UNSUPPORTED | The seek request for nonzero is not valid on open directories. |
EFI_INVALID_PARAMETER | The parameter "This" is NULL. |
Definition at line 715 of file SemihostFs.c.
Write data to an open file.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle to write data to. |
[in,out] | BufferSize | On input, the size of the Buffer. On output, the size of the data actually written. In both cases, the size is measured in bytes. |
[in] | Buffer | The buffer of data to write. |
EFI_SUCCESS | The data was written. |
EFI_ACCESS_DENIED | Attempt to write into a read only file or in a file opened in read only mode. |
EFI_DEVICE_ERROR | The last issued semi-hosting operation failed. |
EFI_INVALID_PARAMETER | The parameter "This" or the parameter "Buffer" is NULL. |
Write data to an open file.
[in] | This | A pointer to the EFI_FILE_PROTOCOL instance that is the file handle to write data to. |
[in,out] | BufferSize | On input, the size of the Buffer. On output, the size of the data actually written. In both cases, the size is measured in bytes. |
[in] | Buffer | The buffer of data to write. |
EFI_SUCCESS | The data was written. |
EFI_ACCESS_DENIED | Attempt to write into a read only file or in a file opened in read only mode. |
EFI_DEVICE_ERROR | The last issued semi-hosting operation failed. |
EFI_INVALID_PARAMETER | At least one of the three input pointers is NULL. |
Definition at line 610 of file SemihostFs.c.
EFI_STATUS VolumeOpen | ( | IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL * | This, |
OUT EFI_FILE ** | Root | ||
) |
Definition at line 121 of file SemihostFs.c.