#/** @file
# Component name for module DxeNetLib
#
# FIX ME!
# Copyright (c) 2006, Intel Corporation.
#
#  All rights reserved. This program and the accompanying materials
#  are licensed and made available under the terms and conditions of the BSD License
#  which accompanies this distribution. The full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.php
#
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
#
#**/

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = DxeNetLib
  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_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
  EDK_RELEASE_VERSION            = 0x00020000
  EFI_SPECIFICATION_VERSION      = 0x00020000


#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources.common]
  DxeNetLib.c
  NetBuffer.c
  NetDebug.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec


[LibraryClasses]
   NetLib
   BaseLib
   DebugLib
   BaseMemoryLib
   UefiBootServicesTableLib
   UefiRuntimeServicesTableLib
   UefiLib
   MemoryAllocationLib

[Protocols]
  gEfiSimpleNetworkProtocolGuid                 # PROTOCOL ALWAYS_CONSUMED
  gEfiNicIp4ConfigProtocolGuid                  # PROTOCOL ALWAYS_CONSUMED
