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

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI VlanExtractConfig (IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Request, OUT EFI_STRING *Progress, OUT EFI_STRING *Results)
 
EFI_STATUS EFIAPI VlanRouteConfig (IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)
 
EFI_STATUS EFIAPI VlanCallback (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)
 
VOID VlanUpdateForm (IN OUT VLAN_CONFIG_PRIVATE_DATA *PrivateData)
 
EFI_STATUS InstallVlanConfigForm (IN OUT VLAN_CONFIG_PRIVATE_DATA *PrivateData)
 
EFI_STATUS UninstallVlanConfigForm (IN OUT VLAN_CONFIG_PRIVATE_DATA *PrivateData)
 

Variables

CHAR16 mVlanStorageName [] = L"VlanNvData"
 
EFI_HII_CONFIG_ROUTING_PROTOCOLmHiiConfigRouting = NULL
 
VLAN_CONFIG_PRIVATE_DATA mVlanConfigPrivateDateTemplate
 
VENDOR_DEVICE_PATH mHiiVendorDevicePathNode
 

Detailed Description

HII Config Access protocol implementation of VLAN configuration module.

Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file VlanConfigImpl.c.

Function Documentation

◆ InstallVlanConfigForm()

EFI_STATUS InstallVlanConfigForm ( IN OUT VLAN_CONFIG_PRIVATE_DATA PrivateData)

This function publish the VLAN configuration Form for a network device. The HII Config Access protocol will be installed on a child handle of the network device.

Parameters
[in,out]PrivateDataPoints to VLAN configuration private data.
Return values
EFI_SUCCESSHII Form is installed for this network device.
EFI_OUT_OF_RESOURCESNot enough resource for HII Form installation.
OthersOther errors as indicated.

Definition at line 483 of file VlanConfigImpl.c.

◆ UninstallVlanConfigForm()

EFI_STATUS UninstallVlanConfigForm ( IN OUT VLAN_CONFIG_PRIVATE_DATA PrivateData)

This function remove the VLAN configuration Form for a network device. The child handle for HII Config Access protocol will be destroyed.

Parameters
[in,out]PrivateDataPoints to VLAN configuration private data.
Return values
EFI_SUCCESSHII Form has been uninstalled successfully.
OthersOther errors as indicated.

Definition at line 602 of file VlanConfigImpl.c.

◆ VlanCallback()

EFI_STATUS EFIAPI VlanCallback ( 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 215 of file VlanConfigImpl.c.

◆ VlanExtractConfig()

EFI_STATUS EFIAPI VlanExtractConfig ( 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 63 of file VlanConfigImpl.c.

◆ VlanRouteConfig()

EFI_STATUS EFIAPI VlanRouteConfig ( 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 172 of file VlanConfigImpl.c.

◆ VlanUpdateForm()

VOID VlanUpdateForm ( IN OUT VLAN_CONFIG_PRIVATE_DATA PrivateData)

This function update VLAN list in the VLAN configuration Form.

Parameters
[in,out]PrivateDataPoints to VLAN configuration private data.

Definition at line 338 of file VlanConfigImpl.c.

Variable Documentation

◆ mHiiConfigRouting

EFI_HII_CONFIG_ROUTING_PROTOCOL* mHiiConfigRouting = NULL

Definition at line 12 of file VlanConfigImpl.c.

◆ mHiiVendorDevicePathNode

VENDOR_DEVICE_PATH mHiiVendorDevicePathNode
Initial value:
= {
{
{
(UINT8)(sizeof (VENDOR_DEVICE_PATH)),
(UINT8)((sizeof (VENDOR_DEVICE_PATH)) >> 8)
}
},
VLAN_CONFIG_FORM_SET_GUID
}
#define HARDWARE_DEVICE_PATH
Definition: DevicePath.h:68
#define HW_VENDOR_DP
Definition: DevicePath.h:133

Definition at line 23 of file VlanConfigImpl.c.

◆ mVlanConfigPrivateDateTemplate

VLAN_CONFIG_PRIVATE_DATA mVlanConfigPrivateDateTemplate
Initial value:
= {
VLAN_CONFIG_PRIVATE_DATA_SIGNATURE,
{
}
}
EFI_STATUS EFIAPI VlanRouteConfig(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)
EFI_STATUS EFIAPI VlanCallback(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)
EFI_STATUS EFIAPI VlanExtractConfig(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Request, OUT EFI_STRING *Progress, OUT EFI_STRING *Results)

Definition at line 14 of file VlanConfigImpl.c.

◆ mVlanStorageName

CHAR16 mVlanStorageName[] = L"VlanNvData"

Definition at line 11 of file VlanConfigImpl.c.