]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/CCode/Source/GenCapsuleHdr/GenCapsuleHdr.c
- Fixed EDKT513 by adding existing section files into the dependency check of genffsf...
[mirror_edk2.git] / Tools / CCode / Source / GenCapsuleHdr / GenCapsuleHdr.c
index d1f55b9abd44c54bb2b9f119dfe3de7fe874062a..6f182615a64d8377fec178bc4210f84476b7ae10 100644 (file)
@@ -41,7 +41,10 @@ Abstract:
 #include "EfiUtilityMsgs.h"\r
 \r
 #define MAX_PATH                  256\r
-#define PROGRAM_NAME              "GenCapsuleHdr"\r
+\r
+#define UTILITY_NAME              "GenCapsuleHdr"\r
+#define UTILITY_MAJOR_VERSION     1\r
+#define UTILITY_MINOR_VERSION     0\r
 \r
 #define UNICODE_BACKSLASH         L'\\'\r
 #define UNICODE_FILE_START        0xFEFF\r
@@ -158,6 +161,12 @@ SplitCapsule (
   INT8 *CapsuleFileName\r
   );\r
 \r
+static\r
+void\r
+Version (\r
+  VOID\r
+  );\r
+\r
 static\r
 void\r
 Usage (\r
@@ -273,7 +282,7 @@ Returns:
   //\r
   // Specify our program name to the error printing routines.\r
   //\r
-  SetUtilityName (PROGRAM_NAME);\r
+  SetUtilityName (UTILITY_NAME);\r
   //\r
   // Process the command-line arguments\r
   //\r
@@ -2359,6 +2368,23 @@ Returns:
     Usage ();\r
     return STATUS_ERROR;\r
   }\r
+  \r
+  if ((strcmp(Argv[0], "-h") == 0) || (strcmp(Argv[0], "--help") == 0) ||\r
+      (strcmp(Argv[0], "-?") == 0) || (strcmp(Argv[0], "/?") == 0)) {\r
+    Usage();\r
+    return STATUS_ERROR;\r
+  }\r
+  \r
+  if ((strcmp(Argv[0], "-V") == 0) || (strcmp(Argv[0], "--version") == 0)) {\r
+    Version();\r
+    return STATUS_ERROR;\r
+  }\r
+  \r
+  if (Argc == 1) {\r
+    Usage ();\r
+    return STATUS_ERROR;\r
+  }\r
\r
   //\r
   // Process until no more options\r
   //\r
@@ -2622,6 +2648,31 @@ Returns:
   return STATUS_SUCCESS;\r
 }\r
 \r
+static\r
+void \r
+Version(\r
+  void\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Print out version information for this utility.\r
+\r
+Arguments:\r
+\r
+  None\r
+  \r
+Returns:\r
+\r
+  None\r
+  \r
+--*/ \r
+{\r
+  printf ("%s v%d.%d -EDK utility to create a capsule header.\n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION);\r
+  printf ("Copyright (c) 1999-2006 Intel Corporation. All rights reserved.\n");\r
+}\r
+\r
 static\r
 void\r
 Usage (\r
@@ -2645,13 +2696,13 @@ Returns:
 {\r
   int               Index;\r
   static const char *Str[] = {\r
-    PROGRAM_NAME " -- create a capsule header",\r
-    "  Usage: "PROGRAM_NAME " {options} [CapsuleFV]",\r
+    "\nUsage: "UTILITY_NAME " {options} [CapsuleFV]",\r
     //\r
     // {FfsFileNames}",\r
     //\r
     "    Options include:",\r
-    "      -h or -?         for this help information",\r
+    "      -h,--help,-?,/?  to display help messages",\r
+    "      -V,--version     to display version information",\r
     "      -script fname    to take capsule header info from unicode script",\r
     "                       file fname",\r
     "      -o fname         write output to file fname (required)",\r
@@ -2668,6 +2719,9 @@ Returns:
     //\r
     NULL\r
   };\r
+  \r
+  Version();\r
+  \r
   for (Index = 0; Str[Index] != NULL; Index++) {\r
     fprintf (stdout, "%s\n", Str[Index]);\r
   }\r