Code Scrub for Pcd, PlatformDriOverride and PlatOverMngr driver.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6998 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4
2008-12-11 09:30:13 +00:00
parent c84507ab52
commit cebc8d486e
13 changed files with 214 additions and 63 deletions

View File

@ -134,15 +134,51 @@ typedef struct {
EFI_STRING_ID DescriptionToken;
} CFG_PROTOCOL_INVOKER_CHOICE;
/**
This function allows a caller to extract the current configuration for one
or more named elements from the target driver.
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
@param Request A null-terminated Unicode string in <ConfigRequest> format.
@param Progress On return, points to a character in the Request string.
Points to the string's null terminator if request was successful.
Points to the most recent '&' before the first failing name/value
pair (or the beginning of the string if the failure is in the
first name/value pair) if the request was not successful.
@param Results A null-terminated Unicode string in <ConfigAltResp> format which
has all values filled in for the names in the Request string.
String to be allocated by the called function.
@retval EFI_SUCCESS The Results is filled with the requested values.
@retval EFI_OUT_OF_RESOURCES Not enough memory to store the results.
@retval EFI_INVALID_PARAMETER Request is NULL, illegal syntax, or unknown name.
@retval EFI_NOT_FOUND Routing data doesn't match any storage in this driver.
**/
EFI_STATUS
EFIAPI
PlatOverMngrExtractConfig (
IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
IN CONST EFI_STRING Request,
OUT EFI_STRING *Progress,
OUT EFI_STRING *Results
);
/**
This function processes the results of changes in configuration.
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
@param Configuration A null-terminated Unicode string in <ConfigRequest> format.
@param Progress A pointer to a string filled in with the offset of the most
recent '&' before the first failing name/value pair (or the
beginning of the string if the failure is in the first
name/value pair) or the terminating NULL if all was successful.
@retval EFI_SUCCESS The Results is processed successfully.
@retval EFI_INVALID_PARAMETER Configuration is NULL.
@retval EFI_NOT_FOUND Routing data doesn't match any storage in this driver.
**/
EFI_STATUS
EFIAPI
PlatOverMngrRouteConfig (
@ -151,6 +187,27 @@ PlatOverMngrRouteConfig (
OUT EFI_STRING *Progress
);
/**
This is the function that is called to provide results data to the driver. This data
consists of a unique key which is used to identify what data is either being passed back
or being asked for.
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
@param Action A null-terminated Unicode string in <ConfigRequest> format.
@param KeyValue A unique Goto OpCode callback value which record user's selection.
0x100 <= KeyValue <0x500 : user select a controller item in the first page;
KeyValue == 0x1234 : user select 'Refresh' in first page, or user select 'Go to Previous Menu' in second page
KeyValue == 0x1235 : user select 'Pci device filter' in first page
KeyValue == 0x1500 : user select 'order ... priority' item in second page
KeyValue == 0x1800 : user select 'commint changes' in third page
KeyValue == 0x2000 : user select 'Go to Previous Menu' in third page
@param Type The type of value for the question.
@param Value A pointer to the data being sent to the original exporting driver.
@param ActionRequest On return, points to the action requested by the callback function.
@retval EFI_SUCCESS Always returned.
**/
EFI_STATUS
EFIAPI
PlatOverMngrCallback (
@ -162,14 +219,32 @@ PlatOverMngrCallback (
OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
);
/**
Get the image name
@param Image Image to search.
@retval !NULL Pointer into the image name if the image name is found,
@retval NULL Pointer to NULL if the image name is not found.
**/
CHAR16 *
GetImageName (
IN EFI_LOADED_IMAGE_PROTOCOL *Image
IN EFI_LOADED_IMAGE_PROTOCOL *Image
);
CHAR16 *
/**
Get the description string by device path.
@param DevPath The input device path.
@retval !NULL The description string retured.
@retval NULL The description string cannot be found.
**/
CHAR16 *
DevicePathToStr (
EFI_DEVICE_PATH_PROTOCOL *DevPath
IN EFI_DEVICE_PATH_PROTOCOL *DevPath
);
#endif