EDK2 doxygen online documents - Firmware Encoding Index 1
EDK2 doxygen online documents - Firmware Encoding Index

MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigImpl.h

Go to the documentation of this file.
00001 
00016 #ifndef __VLAN_CONFIG_IMPL_H__
00017 #define __VLAN_CONFIG_IMPL_H__
00018 
00019 #include <Uefi.h>
00020 
00021 #include <Protocol/ComponentName.h>
00022 #include <Protocol/ComponentName2.h>
00023 #include <Protocol/HiiConfigAccess.h>
00024 #include <Protocol/HiiConfigRouting.h>
00025 #include <Protocol/VlanConfig.h>
00026 
00027 #include <Library/BaseLib.h>
00028 #include <Library/BaseMemoryLib.h>
00029 #include <Library/DebugLib.h>
00030 #include <Library/MemoryAllocationLib.h>
00031 #include <Library/UefiBootServicesTableLib.h>
00032 #include <Library/UefiLib.h>
00033 #include <Library/NetLib.h>
00034 #include <Library/HiiLib.h>
00035 #include <Library/DevicePathLib.h>
00036 #include <Library/PrintLib.h>
00037 
00038 #include <Guid/MdeModuleHii.h>
00039 
00040 #include "VlanConfigNvData.h"
00041 
00042 extern EFI_COMPONENT_NAME2_PROTOCOL gVlanConfigComponentName2;
00043 extern EFI_COMPONENT_NAME_PROTOCOL  gVlanConfigComponentName;
00044 
00045 //
00046 // Tool generated IFR binary data and String package data
00047 //
00048 extern UINT8                        VlanConfigBin[];
00049 extern UINT8                        VlanConfigDxeStrings[];
00050 
00051 #define VLAN_LIST_VAR_OFFSET ((UINT16) OFFSET_OF (VLAN_CONFIGURATION, VlanList))
00052 
00053 typedef struct {
00054   UINTN                           Signature;
00055 
00056   EFI_HII_CONFIG_ACCESS_PROTOCOL  ConfigAccess;
00057   EFI_HII_HANDLE                  HiiHandle;
00058   EFI_HANDLE                      DriverHandle;
00059   EFI_DEVICE_PATH_PROTOCOL        *ChildDevicePath;
00060 
00061   EFI_HANDLE                      ControllerHandle;
00062   EFI_HANDLE                      ImageHandle;
00063   EFI_DEVICE_PATH_PROTOCOL        *ParentDevicePath;
00064   EFI_VLAN_CONFIG_PROTOCOL        *VlanConfig;
00065   CHAR16                          *MacString;
00066 
00067   UINT16                          NumberOfVlan;
00068   UINT16                          VlanId[MAX_VLAN_NUMBER];
00069 } VLAN_CONFIG_PRIVATE_DATA;
00070 
00071 #define VLAN_CONFIG_PRIVATE_DATA_SIGNATURE     SIGNATURE_32 ('V', 'C', 'P', 'D')
00072 #define VLAN_CONFIG_PRIVATE_DATA_FROM_THIS(a)  CR (a, VLAN_CONFIG_PRIVATE_DATA, ConfigAccess, VLAN_CONFIG_PRIVATE_DATA_SIGNATURE)
00073 
00074 extern VLAN_CONFIG_PRIVATE_DATA mVlanConfigPrivateDateTemplate;
00075 
00076 
00111 EFI_STATUS
00112 EFIAPI
00113 VlanConfigComponentNameGetDriverName (
00114   IN     EFI_COMPONENT_NAME_PROTOCOL   *This,
00115   IN     CHAR8                         *Language,
00116      OUT CHAR16                        **DriverName
00117   );
00118 
00177 EFI_STATUS
00178 EFIAPI
00179 VlanConfigComponentNameGetControllerName (
00180   IN     EFI_COMPONENT_NAME_PROTOCOL   *This,
00181   IN     EFI_HANDLE                    ControllerHandle,
00182   IN     EFI_HANDLE                    ChildHandle OPTIONAL,
00183   IN     CHAR8                         *Language,
00184      OUT CHAR16                        **ControllerName
00185   );
00186 
00200 EFI_STATUS
00201 EFIAPI
00202 VlanConfigDriverBindingSupported (
00203   IN EFI_DRIVER_BINDING_PROTOCOL     *This,
00204   IN EFI_HANDLE                      ControllerHandle,
00205   IN EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath OPTIONAL
00206   );
00207 
00221 EFI_STATUS
00222 EFIAPI
00223 VlanConfigDriverBindingStart (
00224   IN EFI_DRIVER_BINDING_PROTOCOL     *This,
00225   IN EFI_HANDLE                      ControllerHandle,
00226   IN EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath OPTIONAL
00227   );
00228 
00242 EFI_STATUS
00243 EFIAPI
00244 VlanConfigDriverBindingStop (
00245   IN EFI_DRIVER_BINDING_PROTOCOL     *This,
00246   IN EFI_HANDLE                      ControllerHandle,
00247   IN UINTN                           NumberOfChildren,
00248   IN EFI_HANDLE                      *ChildHandleBuffer
00249   );
00250 
00257 VOID
00258 VlanUpdateForm (
00259   IN OUT VLAN_CONFIG_PRIVATE_DATA    *PrivateData
00260   );
00261 
00274 EFI_STATUS
00275 InstallVlanConfigForm (
00276   IN OUT VLAN_CONFIG_PRIVATE_DATA    *PrivateData
00277   );
00278 
00286 VOID
00287 UninstallVlanConfigForm (
00288   IN OUT VLAN_CONFIG_PRIVATE_DATA    *PrivateData
00289   );
00290 
00317 EFI_STATUS
00318 EFIAPI
00319 VlanExtractConfig (
00320   IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL        *This,
00321   IN CONST EFI_STRING                            Request,
00322        OUT EFI_STRING                            *Progress,
00323        OUT EFI_STRING                            *Results
00324   );
00325 
00344 EFI_STATUS
00345 EFIAPI
00346 VlanRouteConfig (
00347   IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL      *This,
00348   IN CONST EFI_STRING                          Configuration,
00349        OUT EFI_STRING                          *Progress
00350   );
00351 
00374 EFI_STATUS
00375 EFIAPI
00376 VlanCallback (
00377   IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL      *This,
00378   IN     EFI_BROWSER_ACTION                    Action,
00379   IN     EFI_QUESTION_ID                       QuestionId,
00380   IN     UINT8                                 Type,
00381   IN     EFI_IFR_TYPE_VALUE                    *Value,
00382      OUT EFI_BROWSER_ACTION_REQUEST            *ActionRequest
00383   );
00384 
00385 #endif
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines