/** @file\r
- This is THE shell (application)\r
+ This is a test application that demonstrates how to use the C-style entry point\r
+ for a shell application.\r
\r
- Copyright (c) 2009, Intel Corporation \r
- All rights reserved. This program and the accompanying materials \r
- are licensed and made available under the terms and conditions of the BSD License \r
- which accompanies this distribution. The full text of the license may be found at \r
- http://opensource.org/licenses/bsd-license.php \r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+ Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#include <Uefi.h>\r
-\r
#include <Library/UefiLib.h>\r
#include <Library/DebugLib.h>\r
+#include <Library/ShellCEntryLib.h>\r
+\r
+/**\r
+ UEFI application entry point which has an interface similar to a\r
+ standard C main function.\r
+\r
+ The ShellCEntryLib library instance wrappers the actual UEFI application\r
+ entry point and calls this ShellAppMain function.\r
+\r
+ @param[in] Argc The number of items in Argv.\r
+ @param[in] Argv Array of pointers to strings.\r
\r
-INTN \r
-EFIAPI \r
+ @retval 0 The application exited normally.\r
+ @retval Other An error occurred.\r
+\r
+**/\r
+INTN\r
+EFIAPI\r
ShellAppMain (\r
- IN INTN Argc, \r
+ IN UINTN Argc,\r
IN CHAR16 **Argv\r
)\r
{\r
- INTN Index;\r
-\r
- Print(L"ShellCTestApp.c:ShellAppMain called with %d parameters\n", Argc);\r
- for (Index = 0; Index < Argc; Index++) {\r
- Print(L"Argv[%d]: %s\n", Index, Argv[Index]);\r
+ UINTN Index;\r
+ if (Argc == 1) {\r
+ Print (L"Argv[1] = NULL\n");\r
+ }\r
+ for (Index = 1; Index < Argc; Index++) {\r
+ Print(L"Argv[%d]: \"%s\"\n", Index, Argv[Index]);\r
}\r
\r
return 0;\r
-}
\ No newline at end of file
+}\r