/** @file\r
EFI Shell protocol as defined in the UEFI Shell 2.0 specification including errata.\r
\r
- Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
#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
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
+ 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
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
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
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
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