Newer
Older
AMI-Aptio-BIOS-Reversed / AmiNetworkPkg / UefiNetworkStack / Common / NetworkStackSetupScreen / NetworkStackSetupScreen.h
/** @file
  NetworkStackSetupScreen.h
**/

#ifndef __NETWORKSTACKSETUPSCREEN_H__
#define __NETWORKSTACKSETUPSCREEN_H__

#include "../uefi_headers/Uefi.h"

typedef struct {
  UINT32 Flags;
  UINT8  BootFlag;
  UINT8  Reserved[4];
  UINT16 ReservedWord;
} NETWORK_STACK_VAR;

extern EFI_HANDLE           gImageHandle;
extern EFI_SYSTEM_TABLE    *gSystemTable;
extern EFI_BOOT_SERVICES   *gBootServices;
extern EFI_RUNTIME_SERVICES *gRuntimeServices;

extern EFI_AMI_BOARD_INFO_PROTOCOL *gBoardInfoProtocol;
extern EFI_PHYSICAL_ADDRESS         gHobListAddress;

extern UINT64  gBootServicesCopy;
extern UINT64  gRuntimeServicesCopy;
extern UINT64  gSystemTableCopy;

extern NETWORK_STACK_VAR gNetworkStackVarData;
extern UINT8              gNetworkStackBootFlag;
extern UINT16             gNetworkStackReservedWord;

extern EFI_GUID gBoardInfoProtocolGuid;
extern EFI_GUID gPiHobListGuid;
extern EFI_GUID gNetworkStackVarGuid;

UINT64
EFIAPI
ReadUnalignedU64 (
  IN VOID *Buffer
  );

BOOLEAN
EFIAPI
CompareGuidU64 (
  IN VOID *Buffer1,
  IN VOID *Buffer2
  );

UINTN
EFIAPI
ReadNetworkStackNvStorage (
  VOID
  );

EFI_AMI_BOARD_INFO_PROTOCOL *
EFIAPI
LocateBoardInfoProtocol (
  VOID
  );

VOID
EFIAPI
AmiBoardInfoAssertCallback (
  IN CHAR8 *FileName,
  IN UINTN LineNumber,
  IN CHAR8 *Expression
  );

EFI_STATUS
EFIAPI
SendBoardInfoIfNetworkStackEnabled (
  IN UINTN Mask,
  IN UINTN Arg2,
  ...
  );

EFI_PHYSICAL_ADDRESS
EFIAPI
GetHobListAddress (
  IN EFI_SYSTEM_TABLE *SystemTable
  );

EFI_STATUS
EFIAPI
InitializeNetworkStackVar (
  IN UINTN             N10Param,
  IN EFI_SYSTEM_TABLE *SystemTable
  );

EFI_STATUS
EFIAPI
NetworkStackSetupScreenEntryPoint (
  IN EFI_HANDLE        ImageHandle,
  IN EFI_SYSTEM_TABLE *SystemTable
  );

#endif