#ifndef __EFI_SHELL_PROTOCOL__\r
#define __EFI_SHELL_PROTOCOL__\r
\r
-#include <Protocol/SimpleFileSystem.h>\r
+#include <ShellBase.h>\r
#include <Guid/FileInfo.h>\r
\r
#define EFI_SHELL_PROTOCOL_GUID \\r
// replaced EFI_LIST_ENTRY with LIST_ENTRY for simplicity.\r
// they are identical outside of the name.\r
typedef struct {\r
- LIST_ENTRY Link; ///< Linked list members.\r
- EFI_STATUS Status; ///< Status of opening the file. Valid only if Handle != NULL.\r
- CONST CHAR16 *FullName; ///< Fully qualified filename.\r
- CONST CHAR16 *FileName; ///< name of this file.\r
- EFI_FILE_HANDLE Handle; ///< Handle for interacting with the opened file or NULL if closed.\r
- EFI_FILE_INFO *Info; ///< Pointer to the FileInfo struct for this file or NULL.\r
+ LIST_ENTRY Link; ///< Linked list members.\r
+ EFI_STATUS Status; ///< Status of opening the file. Valid only if Handle != NULL.\r
+ CONST CHAR16 *FullName; ///< Fully qualified filename.\r
+ CONST CHAR16 *FileName; ///< name of this file.\r
+ SHELL_FILE_HANDLE Handle; ///< Handle for interacting with the opened file or NULL if closed.\r
+ EFI_FILE_INFO *Info; ///< Pointer to the FileInfo struct for this file or NULL.\r
} EFI_SHELL_FILE_INFO;\r
\r
/**\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_CLOSE_FILE)(\r
- IN EFI_FILE_HANDLE FileHandle\r
+ IN SHELL_FILE_HANDLE FileHandle\r
);\r
\r
/**\r
already exists and is non-volatile then EFI_INVALID_PARAMETER is returned.\r
\r
@param[in] FileName Pointer to NULL-terminated file path.\r
- @param[in] FileAttribs The new file's attrbiutes. the different attributes are\r
+ @param[in] FileAttribs The new file's attrbiutes. The different attributes are\r
described in EFI_FILE_PROTOCOL.Open().\r
- @param[out] FileHandle On return, points to the created file handle or directory's handle\r
+ @param[out] FileHandle On return, points to the created file handle or directory's handle.\r
\r
@retval EFI_SUCCESS The file was opened. FileHandle points to the new file's handle.\r
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_CREATE_FILE)(\r
- IN CONST CHAR16 *FileName,\r
- IN UINT64 FileAttribs,\r
- OUT EFI_FILE_HANDLE *FileHandle\r
+ IN CONST CHAR16 *FileName,\r
+ IN UINT64 FileAttribs,\r
+ OUT SHELL_FILE_HANDLE *FileHandle\r
);\r
\r
/**\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_DELETE_FILE)(\r
- IN EFI_FILE_HANDLE FileHandle\r
+ IN SHELL_FILE_HANDLE FileHandle\r
);\r
\r
/**\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_EXECUTE) (\r
- IN EFI_HANDLE *ParentImageHandle,\r
- IN CHAR16 *CommandLine OPTIONAL,\r
- IN CHAR16 **Environment OPTIONAL,\r
- OUT EFI_STATUS *StatusCode OPTIONAL\r
+ IN EFI_HANDLE *ParentImageHandle,\r
+ IN CHAR16 *CommandLine OPTIONAL,\r
+ IN CHAR16 **Environment OPTIONAL,\r
+ OUT EFI_STATUS *StatusCode OPTIONAL\r
);\r
\r
/**\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_FIND_FILES)(\r
- IN CONST CHAR16 *FilePattern,\r
- OUT EFI_SHELL_FILE_INFO **FileList\r
+ IN CONST CHAR16 *FilePattern,\r
+ OUT EFI_SHELL_FILE_INFO **FileList\r
);\r
\r
/**\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_FIND_FILES_IN_DIR)(\r
-IN EFI_FILE_HANDLE FileDirHandle,\r
-OUT EFI_SHELL_FILE_INFO **FileList\r
+IN SHELL_FILE_HANDLE FileDirHandle,\r
+OUT EFI_SHELL_FILE_INFO **FileList\r
);\r
\r
/**\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_FLUSH_FILE)(\r
- IN EFI_FILE_HANDLE FileHandle\r
+ IN SHELL_FILE_HANDLE FileHandle\r
);\r
\r
/**\r
**/\r
typedef\r
EFI_STATUS\r
-(*EFI_SHELL_GET_DEVICE_NAME) (\r
- IN EFI_HANDLE DeviceHandle,\r
- IN EFI_SHELL_DEVICE_NAME_FLAGS Flags,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **BestDeviceName\r
+(EFIAPI *EFI_SHELL_GET_DEVICE_NAME) (\r
+ IN EFI_HANDLE DeviceHandle,\r
+ IN EFI_SHELL_DEVICE_NAME_FLAGS Flags,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **BestDeviceName\r
);\r
\r
/**\r
typedef\r
EFI_FILE_INFO *\r
(EFIAPI *EFI_SHELL_GET_FILE_INFO)(\r
- IN EFI_FILE_HANDLE FileHandle\r
+ IN SHELL_FILE_HANDLE FileHandle\r
);\r
\r
/**\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_GET_FILE_POSITION)(\r
- IN EFI_FILE_HANDLE FileHandle,\r
+ IN SHELL_FILE_HANDLE FileHandle,\r
OUT UINT64 *Position\r
);\r
\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_GET_FILE_SIZE)(\r
- IN EFI_FILE_HANDLE FileHandle,\r
+ IN SHELL_FILE_HANDLE FileHandle,\r
OUT UINT64 *Size\r
);\r
\r
If there are multiple map names they will be semi-colon seperated in the\r
NULL-terminated string.\r
\r
- @param[in,out] DevicePath On entry, points to a device path pointer. On\r
- exit, updates the pointer to point to the\r
- portion of the device path after the mapping.\r
+ @param[in, out] DevicePath On entry, points to a device path pointer. On\r
+ exit, updates the pointer to point to the\r
+ portion of the device path after the mapping.\r
\r
@retval NULL No mapping was found.\r
@retval !=NULL Pointer to NULL-terminated mapping. The buffer\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_OPEN_FILE_BY_NAME) (\r
IN CONST CHAR16 *FileName,\r
- OUT EFI_FILE_HANDLE *FileHandle,\r
+ OUT SHELL_FILE_HANDLE *FileHandle,\r
IN UINT64 OpenMode\r
);\r
\r
according to the rules specified in UEFI Shell 2.0 spec section 3.7.1. Each\r
matching file has an EFI_SHELL_FILE_INFO structure created in a linked list.\r
\r
- @param[in] Path A pointer to the path string.\r
- @param[in] OpenMode Specifies the mode used to open each file, EFI_FILE_MODE_READ or\r
- EFI_FILE_MODE_WRITE.\r
- @param[in,out] FileList Points to the start of a list of files opened.\r
+ @param[in] Path A pointer to the path string.\r
+ @param[in] OpenMode Specifies the mode used to open each file, EFI_FILE_MODE_READ or\r
+ EFI_FILE_MODE_WRITE.\r
+ @param[in, out] FileList Points to the start of a list of files opened.\r
\r
@retval EFI_SUCCESS Create the file list successfully.\r
@return Can't create the file list.\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_OPEN_ROOT)(\r
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
- OUT EFI_FILE_HANDLE *FileHandle\r
+ OUT SHELL_FILE_HANDLE *FileHandle\r
);\r
\r
/**\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_OPEN_ROOT_BY_HANDLE)(\r
IN EFI_HANDLE DeviceHandle,\r
- OUT EFI_FILE_HANDLE *FileHandle\r
+ OUT SHELL_FILE_HANDLE *FileHandle\r
);\r
\r
/**\r
current position is increased by the number of bytes returned.\r
If FileHandle is a directory, then an error is returned.\r
\r
- @param[in] FileHandle The opened file handle for read.\r
- @param[in] ReadSize On input, the size of Buffer, in bytes. On output, the amount of data read.\r
- @param[in,out] Buffer The buffer in which data is read.\r
+ @param[in] FileHandle The opened file handle for read.\r
+ @param[in] ReadSize On input, the size of Buffer, in bytes. On output, the amount of data read.\r
+ @param[in, out] Buffer The buffer in which data is read.\r
\r
@retval EFI_SUCCESS Data was read.\r
@retval EFI_NO_MEDIA The device has no media.\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_READ_FILE) (\r
- IN EFI_FILE_HANDLE FileHandle,\r
+ IN SHELL_FILE_HANDLE FileHandle,\r
IN OUT UINTN *ReadSize,\r
IN OUT VOID *Buffer\r
);\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_SET_FILE_INFO)(\r
- IN EFI_FILE_HANDLE FileHandle,\r
+ IN SHELL_FILE_HANDLE FileHandle,\r
IN CONST EFI_FILE_INFO *FileInfo\r
);\r
\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_SET_FILE_POSITION)(\r
- IN EFI_FILE_HANDLE FileHandle,\r
+ IN SHELL_FILE_HANDLE FileHandle,\r
IN UINT64 Position\r
);\r
\r
\r
Direct writes to opened directories are not supported.\r
\r
- @param[in] FileHandle The opened file handle for writing.\r
- @param[in,out] BufferSize On input, size of Buffer.\r
- @param[in] Buffer The buffer in which data to write.\r
+ @param[in] FileHandle The opened file handle for writing.\r
+ @param[in, out] BufferSize On input, size of Buffer.\r
+ @param[in] Buffer The buffer in which data to write.\r
\r
@retval EFI_SUCCESS Data was written.\r
@retval EFI_UNSUPPORTED Writes to open directory are not supported.\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SHELL_WRITE_FILE)(\r
- IN EFI_FILE_HANDLE FileHandle,\r
+ IN SHELL_FILE_HANDLE FileHandle,\r
IN OUT UINTN *BufferSize,\r
IN VOID *Buffer\r
);\r