summaryrefslogtreecommitdiffstats
path: root/ShellPkg/Include/Protocol
diff options
context:
space:
mode:
authorjcarsey <jcarsey@6f19259b-4bc3-4df7-8a09-765794883524>2009-05-11 18:02:16 +0000
committerjcarsey <jcarsey@6f19259b-4bc3-4df7-8a09-765794883524>2009-05-11 18:02:16 +0000
commitd2b4564ba50b095d5a5e00b9c7bebef004967d5e (patch)
treef646839a453fb83c6c094a876bcbbfac5916834a /ShellPkg/Include/Protocol
parent446b94b0a1b98635d7db21d67fff158c6f153de4 (diff)
downloadedk2-d2b4564ba50b095d5a5e00b9c7bebef004967d5e.tar.gz
edk2-d2b4564ba50b095d5a5e00b9c7bebef004967d5e.tar.bz2
edk2-d2b4564ba50b095d5a5e00b9c7bebef004967d5e.zip
fixed to build under IPF.
Refactored some commands into FileHandleLib since they are used in many binaries. Added .h for GUID that was missing. Added PCD for initialization of shell apps and shell itself in shell library interaction. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8295 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ShellPkg/Include/Protocol')
-rw-r--r--ShellPkg/Include/Protocol/EfiShell.h24
-rw-r--r--ShellPkg/Include/Protocol/EfiShellEnvironment2.h16
2 files changed, 26 insertions, 14 deletions
diff --git a/ShellPkg/Include/Protocol/EfiShell.h b/ShellPkg/Include/Protocol/EfiShell.h
index 8421056145..bd0aebe1d8 100644
--- a/ShellPkg/Include/Protocol/EfiShell.h
+++ b/ShellPkg/Include/Protocol/EfiShell.h
@@ -23,13 +23,10 @@
0x6302d008, 0x7f9b, 0x4f30, { 0x87, 0xac, 0x60, 0xc9, 0xfe, 0xf5, 0xda, 0x4e } \
}
-typedef struct _EFI_LIST_ENTRY {
- struct _EFI_LIST_ENTRY *Flink;
- struct _EFI_LIST_ENTRY *Blink;
-} EFI_LIST_ENTRY;
-
+// replaced EFI_LIST_ENTRY with LIST_ENTRY for simplicity.
+// they are identical outside of the name.
typedef struct {
- EFI_LIST_ENTRY Link;
+ LIST_ENTRY Link;
EFI_STATUS Status;
CONST CHAR16 *FullName;
CONST CHAR16 *FileName;
@@ -317,6 +314,16 @@ typedef UINT32 EFI_SHELL_DEVICE_NAME_FLAGS;
handle. If no user-readable name could be generated, then *BestDeviceName will be
NULL and EFI_NOT_FOUND will be returned.
+ If EFI_DEVICE_NAME_USE_COMPONENT_NAME is set, then the function will return the
+ device’s name using the EFI_COMPONENT_NAME2_PROTOCOL, if present on
+ DeviceHandle.
+
+ If EFI_DEVICE_NAME_USE_DEVICE_PATH is set, then the function will return the
+ device’s name using the EFI_DEVICE_PATH_PROTOCOL, if present on DeviceHandle.
+ If both EFI_DEVICE_NAME_USE_COMPONENT_NAME and
+ EFI_DEVICE_NAME_USE_DEVICE_PATH are set, then
+ EFI_DEVICE_NAME_USE_COMPONENT_NAME will have higher priority.
+
@param DeviceHandle The handle of the device.
@param Flags Determines the possible sources of component names.
@param Language A pointer to the language specified for the device
@@ -946,4 +953,9 @@ typedef struct _EFI_SHELL_PROTOCOL {
extern EFI_GUID gEfiShellProtocolGuid;
+enum ShellVersion {
+ SHELL_MAJOR_VERSION = 2,
+ SHELL_MINOR_VERSION = 0
+};
+
#endif
diff --git a/ShellPkg/Include/Protocol/EfiShellEnvironment2.h b/ShellPkg/Include/Protocol/EfiShellEnvironment2.h
index 537b916071..cafecb0cf3 100644
--- a/ShellPkg/Include/Protocol/EfiShellEnvironment2.h
+++ b/ShellPkg/Include/Protocol/EfiShellEnvironment2.h
@@ -82,7 +82,7 @@ EFI_STATUS
**/
typedef struct {
UINT32 Signature; ///< SHELL_FILE_ARG_SIGNATURE
- EFI_LIST_ENTRY Link; ///< linked list helper
+ LIST_ENTRY Link; ///< linked list helper
EFI_STATUS Status; ///< File's status
EFI_FILE_HANDLE Parent; ///< what is the Parent file of this file
@@ -270,7 +270,7 @@ CHAR16*
support for wildcard characters ('?' and '*') in the Arg path. if there are
any wildcard characters in the path this function will find any and all files
that match the wildcards. the return is a double linked list based on the
- EFI_LIST_ENTRY linked list structure. use this in conjunction with the
+ LIST_ENTRY linked list structure. use this in conjunction with the
SHELL_FILE_ARG_SIGNATURE to get the SHELL_FILE_ARG structures that are returned.
The memory allocated by the callee for this list is freed by making a call to
SHELLENV_FREE_FILE_LIST.
@@ -288,7 +288,7 @@ CHAR16*
EFI_STATUS
(EFIAPI *SHELLENV_FILE_META_ARG) (
IN CHAR16 *Arg,
- IN OUT EFI_LIST_ENTRY *ListHead
+ IN OUT LIST_ENTRY *ListHead
);
/**
@@ -301,7 +301,7 @@ EFI_STATUS
typedef
EFI_STATUS
(EFIAPI *SHELLENV_FREE_FILE_LIST) (
- IN OUT EFI_LIST_ENTRY *ListHead
+ IN OUT LIST_ENTRY *ListHead
);
/**
@@ -618,7 +618,7 @@ typedef struct {
**/
typedef struct {
UINTN Signature; ///< PROTOCOL_INFO_SIGNATURE
- EFI_LIST_ENTRY Link; ///< standard lined list helper member
+ LIST_ENTRY Link; ///< standard lined list helper member
//
// parsing info for the protocol
//
@@ -845,7 +845,7 @@ EFI_STATUS
support the wildcard characters ('?' and '*') in the Arg path. if there are
any wildcard characters in the path this function will return
EFI_INVALID_PARAMETER. the return is a double linked list based on the
- EFI_LIST_ENTRY linked list structure. use this in conjunction with the
+ LIST_ENTRY linked list structure. use this in conjunction with the
SHELL_FILE_ARG_SIGNATURE to get the SHELL_FILE_ARG structures that are returned.
The memory allocated by the callee for this list is freed by making a call to
SHELLENV_FREE_FILE_LIST.
@@ -864,7 +864,7 @@ typedef
EFI_STATUS
(EFIAPI *SHELLENV_FILE_META_ARG_NO_WILDCARD) (
IN CHAR16 *Arg,
- IN OUT EFI_LIST_ENTRY *ListHead
+ IN OUT LIST_ENTRY *ListHead
);
/**
@@ -885,7 +885,7 @@ EFI_STATUS
typedef
EFI_STATUS
(EFIAPI *SHELLENV_DEL_DUP_FILE) (
- IN EFI_LIST_ENTRY * ListHead
+ IN LIST_ENTRY * ListHead
);
/**