## @file
# Component description file for Undi module.
#
# This module provides support for Universal Network Driver Interface
# Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
#
#  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                      = UndiRuntimeDxe
  FILE_GUID                      = A1f436EA-A127-4EF8-957C-8048606FF670
  MODULE_TYPE                    = DXE_RUNTIME_DRIVER
  VERSION_STRING                 = 1.0

  ENTRY_POINT                    = InitializeUndi

#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources]
  Undi32.h
  E100b.h
  E100b.c
  Decode.c
  Init.c
  ComponentName.c

[Packages]
  MdePkg/MdePkg.dec


[LibraryClasses]
  UefiLib
  UefiBootServicesTableLib
  BaseMemoryLib
  DebugLib
  UefiRuntimeLib
  UefiDriverEntryPoint
  BaseLib

[Protocols]
  gEfiNetworkInterfaceIdentifierProtocolGuid_31
  gEfiPciIoProtocolGuid
  gEfiDevicePathProtocolGuid

[Guids]
  gEfiEventExitBootServicesGuid        ## PRODUCES ## Event
  gEfiEventVirtualAddressChangeGuid    ## PRODUCES ## Event

[Depex]
  gEfiBdsArchProtocolGuid AND
  gEfiCpuArchProtocolGuid AND
  gEfiMetronomeArchProtocolGuid AND
  gEfiMonotonicCounterArchProtocolGuid AND
  gEfiRealTimeClockArchProtocolGuid AND
  gEfiResetArchProtocolGuid AND
  gEfiRuntimeArchProtocolGuid AND
  gEfiSecurityArchProtocolGuid AND
  gEfiTimerArchProtocolGuid AND
  gEfiVariableWriteArchProtocolGuid AND
  gEfiVariableArchProtocolGuid AND
  gEfiWatchdogTimerArchProtocolGuid
