## @file
#  Client-side DHCPv6 services.
#
#  This driver produces EFI DHCPv6 Protocol which is used to get IPv6 addresses
#  and other configuration parameters from DHCPv6 servers.
#
#  (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
#  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = Dhcp6Dxe
  FILE_GUID                      = 95E3669D-34BE-4775-A651-7EA41B69D89E
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = Dhcp6DriverEntryPoint
  UNLOAD_IMAGE                   = NetLibDefaultUnload
  MODULE_UNI_FILE                = Dhcp6Dxe.uni

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#
#  DRIVER_BINDING                =  gDhcp6DriverBinding
#  COMPONENT_NAME                =  gDhcp6ComponentName
#  COMPONENT_NAME2               =  gDhcp6ComponentName2
#

[Sources]
  Dhcp6Driver.c
  Dhcp6Driver.h
  Dhcp6Impl.c
  Dhcp6Impl.h
  Dhcp6Io.c
  Dhcp6Io.h
  Dhcp6Utility.c
  Dhcp6Utility.h
  ComponentName.c


[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  NetworkPkg/NetworkPkg.dec

[LibraryClasses]
  UefiLib
  BaseLib
  BaseMemoryLib
  MemoryAllocationLib
  UefiDriverEntryPoint
  UefiBootServicesTableLib
  UefiRuntimeServicesTableLib
  DebugLib
  NetLib
  UdpIoLib


[Protocols]
  gEfiUdp6ServiceBindingProtocolGuid                 ## TO_START
  gEfiUdp6ProtocolGuid                               ## TO_START
  gEfiDhcp6ServiceBindingProtocolGuid                ## BY_START
  gEfiDhcp6ProtocolGuid                              ## BY_START
  gEfiIp6ConfigProtocolGuid                          ## TO_START

[Guids]
  gZeroGuid                   ## SOMETIMES_CONSUMES   ## GUID

[Pcd]
  gEfiNetworkPkgTokenSpaceGuid.PcdDhcp6UidType       ## SOMETIMES_CONSUMES

[UserExtensions.TianoCore."ExtraFiles"]
  Dhcp6DxeExtra.uni
