summaryrefslogtreecommitdiff
path: root/EmbeddedPkg/EblExternCmd/Main.c
diff options
context:
space:
mode:
Diffstat (limited to 'EmbeddedPkg/EblExternCmd/Main.c')
-rw-r--r--EmbeddedPkg/EblExternCmd/Main.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/EmbeddedPkg/EblExternCmd/Main.c b/EmbeddedPkg/EblExternCmd/Main.c
new file mode 100644
index 0000000000..04f1eab600
--- /dev/null
+++ b/EmbeddedPkg/EblExternCmd/Main.c
@@ -0,0 +1,52 @@
+/** @file
+ Example of an external EBL command. It's loaded via EBL start command.
+ Argc and Argv are passed in via "" of the EBL command line.
+
+ Start fs0:\EdkExternCmd.efi "Argv[0] Argv[1] 2"
+
+ will launch this command with
+ Argv[0] = "Argv[0]"
+ Argv[1] = "Argv[2]"
+ Argv[2] = "3"
+
+ Copyright (c) 2007, Intel Corporation<BR>
+ Portions copyright (c) 2008-2009, Apple Inc. All rights reserved.
+
+ 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.
+
+
+**/
+
+
+/**
+ Entry point with Argc, Argv. Put your code here.
+
+ @param Argc Number of command arguments in Argv
+ @param Argv Array of strings that represent the parsed command line.
+ Argv[0] is the comamnd name
+
+ @return EFI_SUCCESS
+
+**/
+EFI_STATUS
+EblMain (
+ IN UINTN Argc,
+ IN CHAR8 **Argv
+ )
+{
+ UINTN Index;
+
+ AsciiPrint ("Hello World\n");
+ for (Index = 0; Index < Argc; Index++) {
+ AsciiPrint ("Argv[%d] = %a\n", Index, Argv[Index]);
+ }
+
+ return EFI_SUCCESS;
+}
+