Commit Graph

20 Commits

Author SHA1 Message Date
Tapan Shah 583448b441 ShellPkg: Expand special output file to include "NULL" and case insensitive
As per ECR 1349 change in UEFI Shell Specification 2.2, expanding
a special output file name to include "NULL". Previously it only
supported "NUL" as a special output file and it was case sensitive.
With this change both "NUL" and "NULL" are special output file and
checked as case insensitive.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Tapan Shah <tapandshah@hpe.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2016-09-22 14:17:24 -07:00
Liming Gao 06ac66ecb6 ShellPkg: Update Guid/Protocol usages in INF files.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Shumin Qiu <shumin.qiu@intel.com>
2016-04-13 14:52:59 +08:00
jaben carsey 9ed21946c7 ShellPkg: Fix ASCII and UNICODE file pipes.
Fix various errors when piping a UNICODE or ASCII file to a simple shell application that reads standard input and writes it to standard output.

1) When the memory file is created by CreateFileInferfaceMem() to capture the pipe output, no UNICODE BOM is written to the memory file. Later, when the memory file is read by the application using ShellFileHandleReadLine(), the function indicates that the file is ASCII because there is no BOM.

2) If the file is piped as ASCII, the ASCII memory image is not correctly created by FileInterfaceMemWrite() as each ASCII character is followed by '\0' in the image (when the ASCII data is written to the memory image, the file position should only be incremented by half the buffer size).

3) ShellFileHandleReadLine() does not read ASCII files correctly (writes to Buffer need to be cast as CHAR8*).

4) FileInterfaceMemRead() and FileInterfaceMemWrite() as somewhat hard to read and difficult to debug with certain tools due to the typecasting of This. Added a local variable (MemFile) of the correct type to these functions and used it instead of This.

Enhancement: ShellFileHandleReadLine() now returns EFI_END_OF_FILE when appropriate.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jim Dailey <jim_dailey@dell.com>
reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2016-02-09 13:22:14 -08:00
Qiu Shumin ecd07f3737 ShellPkg: Refine the fomat in INF/DEC files to follow spec.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>





git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16634 6f19259b-4bc3-4df7-8a09-765794883524
2015-01-22 01:44:11 +00:00
Laszlo Ersek 3fe23dc606 ShellPkg: UefiShellLib: drop wrong PathLib library class dependency
SVN r16601 ("MdeModulePkg, MdePkg, NetworkPkg, OvmfPkg, PerformancePkg,
ShellPkg: Library Migration.") incorporated ShellPkg/Library/BasePathLib
into MdePkg/Library/BaseLib. BasePathLib had been the only instance of
library class PathLib.

Even so, SVN r16606 ("ShellPkg: allow creating of files to create required
directory path") added a PathLib dependency to
"ShellPkg/Library/UefiShellLib/UefiShellLib.inf".

This breaks edk2 platforms that build the "new" UEFI shell from source.
Undo the wrong dependency.

Similarly, update the <Library/PathLib.h> #include directive to
<Library/BaseLib.h> (example function prototype: PathRemoveLastItem()).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16609 6f19259b-4bc3-4df7-8a09-765794883524
2015-01-14 16:25:48 +00:00
jaben carsey 21a86a7d0a ShellPkg: allow creating of files to create required directory path
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jaben carsey <jaben.carsey@intel.com>
Reviewed-by: Tapan Shah <tapandshah@hp.com>
Reviewed-by: Joe Peterson <joe.peterson@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16606 6f19259b-4bc3-4df7-8a09-765794883524
2015-01-13 22:16:41 +00:00
Harry Liebel 4be58c16a0 ShellPkg: Add DXE_DRIVER class type to some libraries
Shell Libraries can now be used from Platform Drivers with the
introduction of the Shell Dynamic Command Protocol.
Adding DXE_DRIVER class allows to use these libraries with this
class of driver.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <Jaben.Carsey@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16052 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-03 09:03:10 +00:00
jcarsey 6398b08db2 ShellPkg: Enable Runtime DXE drivers to make use of Shell libraries with the expectation that the driver is responsible for ensuring that they are only called when boot services are present. Also adds a ShellCommandLib Depex for gEfiUnicodeCollation2ProtocolGuid to fix constructor crash when used by drivers.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eugene Cohen eugene@hp.com
reviewed-by: jaben carsey jaben.carsey@intel.com

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13380 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-30 17:34:16 +00:00
jcarsey 252d945725 updated comments and added string-to-number conversion with return value to indicate success or failure. All parameter checking updated to non-case-sensitive.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11424 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-25 20:49:53 +00:00
jcarsey a405b86d27 udk2010.up2.shell initial release.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10874 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-14 05:18:09 +00:00
hhtian 3a888f2a22 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10428 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 12:12:42 +00:00
lgao4 7b202cb0f9 1. Correct File header to ## @file
2. Remove unnecessary .common] postfix on section.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10051 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-23 23:58:38 +00:00
jcarsey c9d92df05f k8 fixes and moving prompting for responses into this file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9922 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-03 15:37:54 +00:00
jcarsey 91876ff963 remove unnecessary PCD usage
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9921 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-03 14:59:00 +00:00
jcarsey 1e6e84c7af fixed license header / copyright date on all files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9810 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-25 20:05:08 +00:00
jcarsey b3011f4041 updating comments mostly. also added some new lib functions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9710 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-11 21:49:04 +00:00
jcarsey e2f8297f9c updates from code review, buffer length, and correct use of StdOut for printing
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9499 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-01 05:40:24 +00:00
jcarsey 2247dde4b6 Upgrade ShellLib and fix bug with param parsing
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9398 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-09 18:08:58 +00:00
jcarsey b1f95a06ca Updating with new functions and adding "C" style entrypoint library with example application.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8564 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-16 00:23:19 +00:00
jcarsey 14e96c2996 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8563 6f19259b-4bc3-4df7-8a09-765794883524 2009-06-15 23:45:12 +00:00