## @file
#  Provides interface to shell functionality for shell commands and applications.
#
#  Copyright (c) 2006 - 2010, 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                    = 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]
  UefiShellCEntryLib.c

[Packages]
  MdePkg/MdePkg.dec
  ShellPkg/ShellPkg.dec

[LibraryClasses]
  UefiApplicationEntryPoint
  DebugLib


[Protocols]
  gEfiShellParametersProtocolGuid                         # ALWAYS_CONSUMED
  gEfiShellInterfaceGuid                                  # SOMETIMES_CONSUMED

[Guids]

[Pcd]

