## @file
#  Client-side iSCSI service.
#
#  The iSCSI driver provides iSCSI service in the preboot environment and supports
#  booting over iSCSI.
#                                                    
# Copyright (c) 2004 - 2015, 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                      = IScsiDxe
  FILE_GUID                      = 86CDDF93-4872-4597-8AF9-A35AE4D3725F
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = IScsiDriverEntryPoint
  UNLOAD_IMAGE                   = IScsiUnload
  MODULE_UNI_FILE                = IScsiDxe.uni

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF
#
#  DRIVER_BINDING                =  gIScsiDriverBinding
#  COMPONENT_NAME                =  gIScsiComponentName
#  COMPONENT_NAME2               =  gIScsiComponentName2
#


[Sources]
  ComponentName.c
  IScsiAuthenticationInfo.c
  IScsiCHAP.h
  IScsiCHAP.c
  IScsiConfig.c
  IScsiConfig.h
  IScsiConfigNVDataStruc.h
  IScsiConfigStrings.uni
  IScsiConfigVfr.vfr
  IScsiDhcp.c
  IScsiDhcp.h
  IScsiDhcp6.c
  IScsiDhcp6.h
  IScsiDriver.c
  IScsiDriver.h
  IScsiExtScsiPassThru.c
  IScsiIbft.c
  IScsiIbft.h
  IScsiInitiatorName.c 
  IScsiImpl.h
  IScsiMisc.c
  IScsiMisc.h
  IScsiProto.c
  IScsiProto.h

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  CryptoPkg/CryptoPkg.dec
  NetworkPkg/NetworkPkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  DebugLib
  DevicePathLib
  HiiLib
  MemoryAllocationLib
  NetLib
  TcpIoLib
  PrintLib
  UefiBootServicesTableLib
  UefiDriverEntryPoint
  UefiLib  
  UefiRuntimeServicesTableLib
  UefiHiiServicesLib
  BaseCryptLib

[Protocols]
  gEfiAcpiTableProtocolGuid                     ## SOMETIMES_CONSUMES ## SystemTable
  gEfiDriverBindingProtocolGuid                 ## SOMETIMES_PRODUCES
  gEfiPciIoProtocolGuid                         ## SOMETIMES_CONSUMES
  gEfiDhcp4ProtocolGuid                         ## TO_START
  gEfiDhcp6ProtocolGuid                         ## TO_START  
  gEfiDhcp4ServiceBindingProtocolGuid           ## TO_START
  gEfiDhcp6ServiceBindingProtocolGuid           ## TO_START  
  gEfiTcp4ProtocolGuid                          ## TO_START
  gEfiTcp6ProtocolGuid                          ## TO_START  
  gEfiTcp4ServiceBindingProtocolGuid            ## TO_START
  gEfiTcp6ServiceBindingProtocolGuid            ## TO_START  
  gEfiExtScsiPassThruProtocolGuid               ## BY_START
  gEfiHiiConfigAccessProtocolGuid               ## PRODUCES
  ## TO_START
  ## PRODUCES
  gEfiDevicePathProtocolGuid
  ## PRODUCES
  ## UNDEFINED # Variable
  gEfiIScsiInitiatorNameProtocolGuid
  ## PRODUCES       
  gEfiAuthenticationInfoProtocolGuid
  ## CONSUMES
  gEfiAdapterInformationProtocolGuid

[Guids]
  gEfiEventExitBootServicesGuid                 ## SOMETIMES_CONSUMES ## Event
  gEfiIfrTianoGuid                              ## SOMETIMES_PRODUCES ## UNDEFINED
  gEfiAcpiTableGuid                             ## SOMETIMES_CONSUMES ## SystemTable
  gEfiAcpi10TableGuid                           ## SOMETIMES_CONSUMES ## SystemTable
  gEfiAcpi20TableGuid                           ## SOMETIMES_CONSUMES ## SystemTable
  gEfiAdapterInfoNetworkBootGuid                ## SOMETIMES_CONSUMES ## UNDEFINED
  
  ## SOMETIMES_PRODUCES ## Variable:L"AttemptOrder"
  ## SOMETIMES_CONSUMES ## Variable:L"AttemptOrder"
  ## SOMETIMES_CONSUMES ## UNDEFINED # HiiIsConfigHdrMatch   mVendorStorageName
  ## SOMETIMES_PRODUCES ## UNDEFINED # HiiConstructConfigHdr mVendorStorageName
  ## SOMETIMES_PRODUCES ## UNDEFINED # HiiGetBrowserData     mVendorStorageName
  ## SOMETIMES_CONSUMES ## UNDEFINED # HiiSetBrowserData     mVendorStorageName
  ## SOMETIMES_CONSUMES ## HII
  gIScsiConfigGuid

[Pcd]
  gEfiNetworkPkgTokenSpaceGuid.PcdIScsiAIPNetworkBootPolicy ## CONSUMES
  
[UserExtensions.TianoCore."ExtraFiles"]
  IScsiDxeExtra.uni