TianoCore EDK2 master
Loading...
Searching...
No Matches
VlanConfigImpl.h
Go to the documentation of this file.
1
9#ifndef __VLAN_CONFIG_IMPL_H__
10#define __VLAN_CONFIG_IMPL_H__
11
12#include <Uefi.h>
13
18#include <Protocol/VlanConfig.h>
19
20#include <Library/BaseLib.h>
22#include <Library/DebugLib.h>
25#include <Library/UefiLib.h>
26#include <Library/NetLib.h>
27#include <Library/HiiLib.h>
29#include <Library/PrintLib.h>
30
31#include <Guid/MdeModuleHii.h>
32
33#include "VlanConfigNvData.h"
34
35extern EFI_COMPONENT_NAME2_PROTOCOL gVlanConfigComponentName2;
36extern EFI_COMPONENT_NAME_PROTOCOL gVlanConfigComponentName;
37
38//
39// Tool generated IFR binary data and String package data
40//
41extern UINT8 VlanConfigBin[];
42extern UINT8 VlanConfigDxeStrings[];
43
44#define VLAN_LIST_VAR_OFFSET ((UINT16) OFFSET_OF (VLAN_CONFIGURATION, VlanList))
45
46typedef struct {
47 UINTN Signature;
48
50 EFI_HII_HANDLE HiiHandle;
51 EFI_HANDLE DriverHandle;
52 EFI_DEVICE_PATH_PROTOCOL *ChildDevicePath;
53
54 EFI_HANDLE ControllerHandle;
55 EFI_HANDLE ImageHandle;
56 EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;
57 EFI_VLAN_CONFIG_PROTOCOL *VlanConfig;
58 CHAR16 *MacString;
59
60 UINT16 NumberOfVlan;
61 UINT16 VlanId[MAX_VLAN_NUMBER];
63
64#define VLAN_CONFIG_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('V', 'C', 'P', 'D')
65#define VLAN_CONFIG_PRIVATE_DATA_FROM_THIS(a) CR (a, VLAN_CONFIG_PRIVATE_DATA, ConfigAccess, VLAN_CONFIG_PRIVATE_DATA_SIGNATURE)
66
67extern VLAN_CONFIG_PRIVATE_DATA mVlanConfigPrivateDateTemplate;
68
104EFIAPI
107 IN CHAR8 *Language,
108 OUT CHAR16 **DriverName
109 );
110
170EFIAPI
173 IN EFI_HANDLE ControllerHandle,
174 IN EFI_HANDLE ChildHandle OPTIONAL,
175 IN CHAR8 *Language,
176 OUT CHAR16 **ControllerName
177 );
178
193EFIAPI
196 IN EFI_HANDLE ControllerHandle,
197 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
198 );
199
214EFIAPI
217 IN EFI_HANDLE ControllerHandle,
218 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
219 );
220
235EFIAPI
238 IN EFI_HANDLE ControllerHandle,
239 IN UINTN NumberOfChildren,
240 IN EFI_HANDLE *ChildHandleBuffer
241 );
242
249VOID
251 IN OUT VLAN_CONFIG_PRIVATE_DATA *PrivateData
252 );
253
268 IN OUT VLAN_CONFIG_PRIVATE_DATA *PrivateData
269 );
270
283 IN OUT VLAN_CONFIG_PRIVATE_DATA *PrivateData
284 );
285
313EFIAPI
316 IN CONST EFI_STRING Request,
317 OUT EFI_STRING *Progress,
318 OUT EFI_STRING *Results
319 );
320
340EFIAPI
343 IN CONST EFI_STRING Configuration,
344 OUT EFI_STRING *Progress
345 );
346
370EFIAPI
373 IN EFI_BROWSER_ACTION Action,
374 IN EFI_QUESTION_ID QuestionId,
375 IN UINT8 Type,
376 IN EFI_IFR_TYPE_VALUE *Value,
377 OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
378 );
379
380#endif
UINT64 UINTN
#define CONST
Definition: Base.h:259
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33
VOID * EFI_HII_HANDLE
EFI_STATUS EFIAPI VlanConfigComponentNameGetDriverName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN CHAR8 *Language, OUT CHAR16 **DriverName)
Definition: ComponentName.c:80
EFI_STATUS EFIAPI VlanConfigDriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)
EFI_STATUS EFIAPI VlanConfigDriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)
VOID VlanUpdateForm(IN OUT VLAN_CONFIG_PRIVATE_DATA *PrivateData)
EFI_STATUS EFIAPI VlanRouteConfig(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)
EFI_STATUS UninstallVlanConfigForm(IN OUT VLAN_CONFIG_PRIVATE_DATA *PrivateData)
EFI_STATUS InstallVlanConfigForm(IN OUT VLAN_CONFIG_PRIVATE_DATA *PrivateData)
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 VlanConfigComponentNameGetControllerName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
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 VlanConfigDriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)