## @file
#  Interactive I/O Library.
#
#  Copyright (c) 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                     = LibIIO
  FILE_GUID                     = c1e9fffb-5557-4cb5-a5f5-1fbd902a74ed
  MODULE_TYPE                   = UEFI_APPLICATION
  VERSION_STRING                = 1.0
  LIBRARY_CLASS                 = LibIIO

#
#  VALID_ARCHITECTURES          = IA32 X64
#

[Sources]
  IIO.c
  NonCanonRead.c
  CanonRead.c
  TerminalFunctions.c
  IIOutilities.c
  IIOwrite.c
  IIOecho.c

[Packages]
  MdePkg/MdePkg.dec
  StdLib/StdLib.dec
  StdLibPrivateInternalFiles/DoNotUse.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  MemoryAllocationLib
  LibC
  LibWchar
  LibContainer

[Protocols]
  gEfiSimpleTextInProtocolGuid          ## CONSUMES
  gEfiSimpleTextOutProtocolGuid         ## CONSUMES
