#/** @file
# Component description file for the socket library.
#
# This module implements the socket library.
# Copyright (c) 2011, 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                      = BsdSocketLib
  FILE_GUID                      = E7A79769-DD6E-48f7-B90B-D4C510AC1741
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = BsdSocketLib

#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources.common]
  accept.c
  base64.c
  bind.c
  close.c
  connect.c
  getaddrinfo.c
  gethostbydns.c
  gethostbyht.c
  gethostbynis.c
  gethostname.c
  gethostnamadr.c
  gethostbynis.c
  getnameinfo.c
  getnetbydns.c
  getnetbynis.c
  getnetbyht.c
  getnetnamadr.c
  getpeername.c
  getprotoent.c
  getprotoname.c
  getproto.c
  getservbyname.c
  getservbyport.c
  getservent.c
  getsockname.c
  getsockopt.c
  herror.c
  inet_net_ntop.c
  inet_net_pton.c
  inet_neta.c
  inet_pton.c
  Ip6Addr_Any.c
  Ip6Addr_Loopback.c
  Ip6Addr_NodeLocal_AllNodes.c
  Ip6Addr_LinkLocal_AllNodes.c
  Ip6Addr_LinkLocal_AllRouters.c
  listen.c
  map_v4v6.c
  ns_addr.c
  ns_name.c
  ns_netint.c
  ns_ntoa.c
  ns_parse.c
  ns_print.c
  ns_ttl.c
  nsap_addr.c
  poll.c
  read.c
  recv.c
  recvfrom.c
  res_comp.c
  res_config.h
  res_data.c
  res_debug.c
  res_init.c
  res_mkquery.c
  res_mkupdate.c
  res_query.c
  res_send.c
  res_update.c
  send.c
  sendto.c
  sethostname.c
  setsockopt.c
  shutdown.c
  socket.c
  SocketInternals.h
  write.c

[Packages]
  StdLib/StdLib.dec
  StdLibPrivateInternalFiles/DoNotUse.dec
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  DebugLib
  DevUtility
  UefiBootServicesTableLib
  UefiLib

[Protocols]
  gEfiSocketServiceBindingProtocolGuid
  gEfiSocketProtocolGuid
