TianoCore EDK2 master
Loading...
Searching...
No Matches
RamDiskImpl.c File Reference
#include "RamDiskImpl.h"

Go to the source code of this file.

Functions

EFI_STATUS InstallRamDiskConfigForm (IN OUT RAM_DISK_CONFIG_PRIVATE_DATA *ConfigPrivateData)
 
VOID UninstallRamDiskConfigForm (IN OUT RAM_DISK_CONFIG_PRIVATE_DATA *ConfigPrivateData)
 
VOID UnregisterAllRamDisks (VOID)
 
EFI_STATUS EFIAPI RamDiskExtractConfig (IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Request, OUT EFI_STRING *Progress, OUT EFI_STRING *Results)
 
EFI_STATUS EFIAPI RamDiskRouteConfig (IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)
 
EFI_STATUS HiiCreateRamDisk (IN UINT64 Size, IN EFI_FILE_HANDLE FileHandle, IN UINT8 MemoryType)
 
VOID UpdateMainForm (IN OUT RAM_DISK_CONFIG_PRIVATE_DATA *ConfigPrivate)
 
EFI_STATUS EFIAPI RamDiskCallback (IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN EFI_BROWSER_ACTION Action, IN EFI_QUESTION_ID QuestionId, IN UINT8 Type, IN EFI_IFR_TYPE_VALUE *Value, OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest)
 

Variables

CHAR16 mRamDiskStorageName [] = L"RAM_DISK_CONFIGURATION"
 
RAM_DISK_CONFIG_PRIVATE_DATA mRamDiskConfigPrivateDataTemplate
 
HII_VENDOR_DEVICE_PATH mRamDiskHiiVendorDevicePath
 

Detailed Description

HII Config Access protocol implementation of RamDiskDxe driver.

Copyright (c) 2016, Intel Corporation. All rights reserved.
(C) Copyright 2016-2018 Hewlett Packard Enterprise Development LP
Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file RamDiskImpl.c.

Function Documentation

◆ HiiCreateRamDisk()

EFI_STATUS HiiCreateRamDisk ( IN UINT64  Size,
IN EFI_FILE_HANDLE  FileHandle,
IN UINT8  MemoryType 
)

Allocate memory and register the RAM disk created within RamDiskDxe driver HII.

Parameters
[in]SizeIf creating raw, size of the RAM disk to create. If creating from file, zero.
[in]FileHandleIf creating raw, NULL. If creating from file, the file handle.
[in]MemoryTypeType of memory to be used to create RAM Disk.
Return values
EFI_SUCCESSRAM disk is created and registered.
EFI_OUT_OF_RESOURCESNot enough storage is available to match the size required.

Definition at line 292 of file RamDiskImpl.c.

◆ InstallRamDiskConfigForm()

EFI_STATUS InstallRamDiskConfigForm ( IN OUT RAM_DISK_CONFIG_PRIVATE_DATA ConfigPrivateData)

This function publish the RAM disk configuration Form.

Parameters
[in,out]ConfigPrivateDataPoints to RAM disk configuration private data.
Return values
EFI_SUCCESSHII Form is installed successfully.
EFI_OUT_OF_RESOURCESNot enough resource for HII Form installation.
OthersOther errors as indicated.

Definition at line 62 of file RamDiskImpl.c.

◆ RamDiskCallback()

EFI_STATUS EFIAPI RamDiskCallback ( IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL This,
IN EFI_BROWSER_ACTION  Action,
IN EFI_QUESTION_ID  QuestionId,
IN UINT8  Type,
IN EFI_IFR_TYPE_VALUE Value,
OUT EFI_BROWSER_ACTION_REQUEST *  ActionRequest 
)

This function processes the results of changes in configuration.

Parameters
[in]ThisPoints to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
[in]ActionSpecifies the type of action taken by the browser.
[in]QuestionIdA unique value which is sent to the original exporting driver so that it can identify the type of data to expect.
[in]TypeThe type of value for the question.
[in]ValueA pointer to the data being sent to the original exporting driver.
[out]ActionRequestOn return, points to the action requested by the callback function.
Return values
EFI_SUCCESSThe callback successfully handled the action.
EFI_OUT_OF_RESOURCESNot enough storage is available to hold the variable and its data.
EFI_DEVICE_ERRORThe variable could not be saved.
EFI_UNSUPPORTEDThe specified Action is not supported by the callback.

Definition at line 583 of file RamDiskImpl.c.

◆ RamDiskExtractConfig()

EFI_STATUS EFIAPI RamDiskExtractConfig ( IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL This,
IN CONST EFI_STRING  Request,
OUT EFI_STRING *  Progress,
OUT EFI_STRING *  Results 
)

This function allows a caller to extract the current configuration for one or more named elements from the target driver.

Parameters
[in]ThisPoints to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
[in]RequestA null-terminated Unicode string in <ConfigRequest> format.
[out]ProgressOn 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.
[out]ResultsA 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.
Return values
EFI_SUCCESSThe Results is filled with the requested values.
EFI_OUT_OF_RESOURCESNot enough memory to store the results.
EFI_INVALID_PARAMETERRequest is illegal syntax, or unknown name.
EFI_NOT_FOUNDRouting data doesn't match any storage in this driver.

Definition at line 226 of file RamDiskImpl.c.

◆ RamDiskRouteConfig()

EFI_STATUS EFIAPI RamDiskRouteConfig ( IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL This,
IN CONST EFI_STRING  Configuration,
OUT EFI_STRING *  Progress 
)

This function processes the results of changes in configuration.

Parameters
[in]ThisPoints to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
[in]ConfigurationA null-terminated Unicode string in <ConfigResp> format.
[out]ProgressA 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.
Return values
EFI_SUCCESSThe Results is processed successfully.
EFI_INVALID_PARAMETERConfiguration is NULL.
EFI_NOT_FOUNDRouting data doesn't match any storage in this driver.

Definition at line 261 of file RamDiskImpl.c.

◆ UninstallRamDiskConfigForm()

VOID UninstallRamDiskConfigForm ( IN OUT RAM_DISK_CONFIG_PRIVATE_DATA ConfigPrivateData)

This function removes RAM disk configuration Form.

Parameters
[in,out]ConfigPrivateDataPoints to RAM disk configuration private data.

Definition at line 122 of file RamDiskImpl.c.

◆ UnregisterAllRamDisks()

VOID UnregisterAllRamDisks ( VOID  )

Unregister all registered RAM disks.

Definition at line 157 of file RamDiskImpl.c.

◆ UpdateMainForm()

VOID UpdateMainForm ( IN OUT RAM_DISK_CONFIG_PRIVATE_DATA ConfigPrivate)

This function updates the registered RAM disks list on the main form.

Parameters
[in,out]ConfigPrivatePrivate data for configurating hii data for RAM disks.

Definition at line 461 of file RamDiskImpl.c.

Variable Documentation

◆ mRamDiskConfigPrivateDataTemplate

RAM_DISK_CONFIG_PRIVATE_DATA mRamDiskConfigPrivateDataTemplate
Initial value:
= {
RAM_DISK_CONFIG_PRIVATE_DATA_SIGNATURE,
{
EFI_PAGE_SIZE,
RAM_DISK_BOOT_SERVICE_DATA_MEMORY
},
{
}
}
EFI_STATUS EFIAPI RamDiskCallback(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN EFI_BROWSER_ACTION Action, IN EFI_QUESTION_ID QuestionId, IN UINT8 Type, IN EFI_IFR_TYPE_VALUE *Value, OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest)
Definition: RamDiskImpl.c:583
EFI_STATUS EFIAPI RamDiskRouteConfig(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)
Definition: RamDiskImpl.c:261
EFI_STATUS EFIAPI RamDiskExtractConfig(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Request, OUT EFI_STRING *Progress, OUT EFI_STRING *Results)
Definition: RamDiskImpl.c:226

Definition at line 15 of file RamDiskImpl.c.

◆ mRamDiskHiiVendorDevicePath

HII_VENDOR_DEVICE_PATH mRamDiskHiiVendorDevicePath
Initial value:
= {
{
{
{
(UINT8)(sizeof (VENDOR_DEVICE_PATH)),
(UINT8)((sizeof (VENDOR_DEVICE_PATH)) >> 8)
}
},
RAM_DISK_FORM_SET_GUID
},
{
END_DEVICE_PATH_TYPE,
END_ENTIRE_DEVICE_PATH_SUBTYPE,
{
(UINT8)(END_DEVICE_PATH_LENGTH),
(UINT8)((END_DEVICE_PATH_LENGTH) >> 8)
}
}
}
#define HARDWARE_DEVICE_PATH
Definition: DevicePath.h:68
#define HW_VENDOR_DP
Definition: DevicePath.h:133

Definition at line 28 of file RamDiskImpl.c.

◆ mRamDiskStorageName

CHAR16 mRamDiskStorageName[] = L"RAM_DISK_CONFIGURATION"

Definition at line 13 of file RamDiskImpl.c.