## @file
#  This library instance provides the basic network services.
#
#  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
#  (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
#  Copyright (c) Microsoft Corporation
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##


[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = DxeNetLib
  MODULE_UNI_FILE                = DxeNetLib.uni
  FILE_GUID                      = db6dcef3-9f4e-4340-9351-fc35aa8a5888
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = NetLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  DxeNetLib.c
  NetBuffer.c


[Packages]
  MdePkg/MdePkg.dec
  NetworkPkg/NetworkPkg.dec


[LibraryClasses]
  BaseLib
  DebugLib
  BaseMemoryLib
  UefiBootServicesTableLib
  UefiRuntimeServicesTableLib
  UefiLib
  MemoryAllocationLib
  DevicePathLib
  PrintLib


[Guids]
  gEfiSmbiosTableGuid                           ## SOMETIMES_CONSUMES  ## SystemTable
  gEfiSmbios3TableGuid                          ## SOMETIMES_CONSUMES  ## SystemTable
  gEfiAdapterInfoMediaStateGuid                 ## SOMETIMES_CONSUMES
  gEfiRngAlgorithmRaw                           ## CONSUMES
  gEfiRngAlgorithmSp80090Ctr256Guid             ## CONSUMES
  gEfiRngAlgorithmSp80090Hmac256Guid            ## CONSUMES
  gEfiRngAlgorithmSp80090Hash256Guid            ## CONSUMES
  gEfiRngAlgorithmArmRndr                       ## CONSUMES

[Protocols]
  gEfiSimpleNetworkProtocolGuid                 ## SOMETIMES_CONSUMES
  gEfiManagedNetworkProtocolGuid                ## SOMETIMES_CONSUMES
  gEfiManagedNetworkServiceBindingProtocolGuid  ## SOMETIMES_CONSUMES
  gEfiIp4Config2ProtocolGuid                    ## SOMETIMES_CONSUMES
  gEfiComponentNameProtocolGuid                 ## SOMETIMES_CONSUMES
  gEfiComponentName2ProtocolGuid                ## SOMETIMES_CONSUMES
  gEfiAdapterInformationProtocolGuid            ## SOMETIMES_CONSUMES
  gEfiRngProtocolGuid                           ## CONSUMES

[FixedPcd]
  gEfiNetworkPkgTokenSpaceGuid.PcdEnforceSecureRngAlgorithms ## CONSUMES

[Depex]
  gEfiRngProtocolGuid
