// /** @file
// Provides interface to shell functionality for shell commands and applications.
//
// Provides interface to shell functionality for shell commands and applications.
//
// Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/

#string STR_MODULE_ABSTRACT
#language en-US
"Provides interface to shell functionality for shell commands and applications."

#string STR_MODULE_DESCRIPTION
#language en-US
"Provides interface to shell functionality for shell commands and applications."


