## @file
#  BSD Socket Library, Infrastructure functions.
#
#  Copyright (c) 2010 - 2011, 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.
#
#  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                      = LibNetUtil
  FILE_GUID                      = f3c9667b-c50c-4e9c-a1f1-78c3b1ddf2c2
  MODULE_TYPE                    = UEFI_APPLICATION
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = LibNetUtil

#
#  VALID_ARCHITECTURES           = IA32 X64 IPF
#

[Sources]
  inet_addr.c           #
  inet_makeaddr.c       #
  inet_lnaof.c          #
  inet_netof.c          #
  inet_network.c        #
  inet_ntoa.c           #
  inet_ntop.c           #

[Packages]
  StdLib/StdLib.dec
  StdLibPrivateInternalFiles/DoNotUse.dec
  MdePkg/MdePkg.dec

[LibraryClasses]
  UefiLib
  BaseLib
  BaseMemoryLib
  MemoryAllocationLib
  LibStdLib
  LibStdio
  LibString
