summaryrefslogtreecommitdiff
path: root/Core/EM/UEfiNetworkStack/Common/NetworkStackSetupScreen/NetworkStackSetupScreen.c
blob: c28650d285b31b48820a01847ce5c1c945a22680 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2013, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**      5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093        **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************
//**********************************************************************
// $Header: /Alaska/BIN/Modules/Network/UEFINetworkStack II/Common/NetworkStackSetupScreen/NetworkStackSetupScreen.c 3     6/09/14 4:10a Anushav $Revision:
//
// $Date:
//**********************************************************************
// Revision History
// ----------------
// 
//**********************************************************************

#include <AmiDxeLib.h>
#include <NetworkStackSetupScreen.h>

NETWORK_STACK  	mNetworkStackData;
EFI_GUID  	mNetworkStackGuid = NETWORK_STACK_GUID;



//<AMI_PHDR_START>
//----------------------------------------------------------------------------
// Name:        InitNetworkStackVar
//
// Description: Entry point of the  network stack setup driver. This entry point is 
//  necessary to initlialize the NetworkStack setup driver.
//
// Input:
//  ImageHandle   EFI_HANDLE: A handle for the image that is initializing this driver
//  SystemTable   EFI_SYSTEM_TABLE: A pointer to the EFI system table  
// 
// Output:
//  EFI_SUCCESS:              Driver initialized successfully
//----------------------------------------------------------------------------
//<AMI_PHDR_END>

EFI_STATUS InitNetworkStackVar (
  IN EFI_HANDLE           ImageHandle,
  IN EFI_SYSTEM_TABLE     *SystemTable
  )
{

  UINTN                Size;
  EFI_STATUS           Status;

  InitAmiLib(ImageHandle,SystemTable);

  Size = sizeof(NETWORK_STACK);
  Status = pRS->GetVariable(L"NetworkStackVar",&mNetworkStackGuid, NULL, &Size, &mNetworkStackData);

  if (Status == EFI_NOT_FOUND) {

    pBS->SetMem(&mNetworkStackData, 
                    sizeof(NETWORK_STACK), 
                    0);

    pRS->SetVariable(
         L"NetworkStackVar",&mNetworkStackGuid,
         EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
         sizeof(NETWORK_STACK), &mNetworkStackData
     );

  } 

  return EFI_SUCCESS;

}

//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2013, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**      5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093        **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************