UEFI HII: Merge UEFI HII support changes from branch.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4600 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qwang12
2008-01-21 14:41:31 +00:00
parent 93e3992d1e
commit 7d582d6b49
21 changed files with 3518 additions and 3273 deletions

View File

@@ -19,8 +19,6 @@
#ifndef __HII_CONFIG_ROUTING_H__
#define __HII_CONFIG_ROUTING_H__
#error "UEFI 2.1 HII is not fully implemented for now, Please don't include this file now."
#define EFI_HII_CONFIG_ROUTING_PROTOCOL_GUID \
{ 0x587e72d7, 0xcc50, 0x4f79, { 0x82, 0x09, 0xca, 0x29, 0x1f, 0xc1, 0xa1, 0x0f } }
@@ -112,7 +110,7 @@ typedef
EFI_STATUS
(EFIAPI * EFI_HII_ROUTING_EXTRACT_CONFIG ) (
IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
IN CONST EFI_STRING *Request,
IN CONST EFI_STRING Request,
OUT EFI_STRING *Progress,
OUT EFI_STRING *Results
);
@@ -278,7 +276,7 @@ EFI_STATUS
IN CONST EFI_STRING ConfigRequest,
IN CONST UINT8 *Block,
IN CONST UINTN BlockSize,
OUT EFI_STRING **Config,
OUT EFI_STRING *Config,
OUT EFI_STRING *Progress
);
@@ -334,12 +332,62 @@ typedef
EFI_STATUS
(EFIAPI * EFI_HII_ROUTING_CONFIG_TO_BLOCK ) (
IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
IN CONST EFI_STRING *ConfigResp,
IN CONST UINT8 *Block,
IN CONST EFI_STRING ConfigResp,
IN OUT UINT8 *Block,
IN OUT UINTN *BlockSize,
OUT EFI_STRING *Progress
);
typedef
EFI_STATUS
(EFIAPI * EFI_HII_GET_ALT_CFG) (
IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
IN CONST EFI_STRING Configuration,
IN CONST EFI_GUID *Guid,
IN CONST EFI_STRING Name,
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
IN CONST UINT16 *AltCfgId,
OUT EFI_STRING *AltCfgResp
)
/*++
Routine Description:
This helper function is to be called by drivers to extract portions of
a larger configuration string.
Arguments:
This - A pointer to the EFI_HII_CONFIG_ROUTING_PROTOCOL instance.
Configuration - A null-terminated Unicode string in <MultiConfigAltResp> format.
Guid - A pointer to the GUID value to search for in the
routing portion of the ConfigResp string when retrieving
the requested data. If Guid is NULL, then all GUID
values will be searched for.
Name - A pointer to the NAME value to search for in the
routing portion of the ConfigResp string when retrieving
the requested data. If Name is NULL, then all Name
values will be searched for.
DevicePath - A pointer to the PATH value to search for in the
routing portion of the ConfigResp string when retrieving
the requested data. If DevicePath is NULL, then all
DevicePath values will be searched for.
AltCfgId - A pointer to the ALTCFG value to search for in the
routing portion of the ConfigResp string when retrieving
the requested data. If this parameter is NULL,
then the current setting will be retrieved.
AltCfgResp - A pointer to a buffer which will be allocated by the
function which contains the retrieved string as requested.
This buffer is only allocated if the call was successful.
Returns:
EFI_SUCCESS - The request succeeded. The requested data was extracted
and placed in the newly allocated AltCfgResp buffer.
EFI_OUT_OF_RESOURCES - Not enough memory to allocate AltCfgResp.
EFI_INVALID_PARAMETER - Any parameter is invalid.
EFI_NOT_FOUND - Target for the specified routing data was not found.
--*/
;
/**
@@ -354,6 +402,7 @@ struct _EFI_HII_CONFIG_ROUTING_PROTOCOL {
EFI_HII_ROUTING_ROUTE_CONFIG RouteConfig;
EFI_HII_ROUTING_BLOCK_TO_CONFIG BlockToConfig;
EFI_HII_ROUTING_CONFIG_TO_BLOCK ConfigToBlock;
EFI_HII_GET_ALT_CFG GetAltConfig;
};
extern EFI_GUID gEfiHiiConfigRoutingProtocolGuid;