#/** @file
# Provides interface to shell functionality for shell commands and applications.
#
# Copyright (c) 2006 - 2009, 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                    = 0x00010006
  BASE_NAME                      = UefiShellCEntryLib
  FILE_GUID                      = 0e205c8a-8586-4dec-9f5c-4f9e394aefe8
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = ShellCEntryLib|UEFI_APPLICATION

#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources.common]
  UefiShellCEntryLib.c

[Packages]
  MdePkg/MdePkg.dec
  ShellPkg/ShellPkg.dec

[LibraryClasses]
  UefiApplicationEntryPoint
  DebugLib


[Protocols]
  gEfiShellParametersProtocolGuid                         # ALWAYS_CONSUMED
  gEfiShellInterfaceGuid                                  # SOMETIMES_CONSUMED

[Guids]

[Pcd.common]

