]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/Application/IpsecConfig/IpSecConfig.h
NetworkPkg: Support print help information using -? command.
[mirror_edk2.git] / NetworkPkg / Application / IpsecConfig / IpSecConfig.h
index d1a7681012fe5b87802b8f8603fc2cbeaed65a22..244926f888ca799d47f34460c95e38e68407570f 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   The internal structure and function declaration in IpSecConfig application.\r
 \r
-  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
 \r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
 #include <Library/DebugLib.h>\r
 #include <Library/MemoryAllocationLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
+#include <Library/UefiHiiServicesLib.h>\r
 #include <Library/NetLib.h>\r
 \r
 #include <Protocol/IpSecConfig.h>\r
 \r
-#define EFI_IPSEC_CONFIG_GUID \\r
-  { \\r
-    0x9db0c3ac, 0xd9d2, 0x4f96, {0x9e, 0xd7, 0x6d, 0xa6, 0x12, 0xa4, 0xf3, 0x27} \\r
-  }\r
+//\r
+// String token ID of VConfig command help message text.\r
+//\r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_STRING_ID mStringIpSecHelpTokenId = STRING_TOKEN (STR_IPSEC_CONFIG_HELP);\r
 \r
 #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))\r
 \r
 #define EFI_IPSEC_ANY_PROTOCOL    0xFFFF\r
 #define EFI_IPSEC_ANY_PORT        0\r
 \r
-typedef struct _VAR_CHECK_ITEM {\r
+///\r
+/// IPsec Authentication Algorithm Definition\r
+///   The number value definition is aligned to IANA assignment\r
+///\r
+#define IPSEC_AALG_NONE                0x00\r
+#define IPSEC_AALG_MD5HMAC             0x01\r
+#define IPSEC_AALG_SHA1HMAC            0x02\r
+#define IPSEC_AALG_SHA2_256HMAC        0x05\r
+#define IPSEC_AALG_SHA2_384HMAC        0x06\r
+#define IPSEC_AALG_SHA2_512HMAC        0x07\r
+#define IPSEC_AALG_AES_XCBC_MAC        0x09\r
+#define IPSEC_AALG_NULL                0xFB\r
+\r
+///\r
+/// IPsec Encryption Algorithm Definition\r
+///   The number value definition is aligned to IANA assignment\r
+///\r
+#define IPSEC_EALG_NONE                0x00\r
+#define IPSEC_EALG_DESCBC              0x02\r
+#define IPSEC_EALG_3DESCBC             0x03\r
+#define IPSEC_EALG_CASTCBC             0x06\r
+#define IPSEC_EALG_BLOWFISHCBC         0x07\r
+#define IPSEC_EALG_NULL                0x0B\r
+#define IPSEC_EALG_AESCBC              0x0C\r
+#define IPSEC_EALG_AESCTR              0x0D\r
+#define IPSEC_EALG_AES_CCM_ICV8        0x0E\r
+#define IPSEC_EALG_AES_CCM_ICV12       0x0F\r
+#define IPSEC_EALG_AES_CCM_ICV16       0x10\r
+#define IPSEC_EALG_AES_GCM_ICV8        0x12\r
+#define IPSEC_EALG_AES_GCM_ICV12       0x13\r
+#define IPSEC_EALG_AES_GCM_ICV16       0x14\r
+\r
+typedef struct {\r
   CHAR16      *VarName;\r
   UINT32      Attribute1;\r
   UINT32      Attribute2;\r
@@ -55,15 +88,15 @@ typedef struct _VAR_CHECK_ITEM {
   UINT32      Attribute4;\r
 } VAR_CHECK_ITEM;\r
 \r
-typedef struct _SHELL_PARAM_PACKAGE{\r
-  LIST_ENTRY     Link;\r
-  CHAR16         *Name;\r
-  ParamType      Type;\r
-  CHAR16         *Value;\r
-  UINTN          OriginalPosition;\r
+typedef struct {\r
+  LIST_ENTRY        Link;\r
+  CHAR16            *Name;\r
+  SHELL_PARAM_TYPE  Type;\r
+  CHAR16            *Value;\r
+  UINTN             OriginalPosition;\r
 } SHELL_PARAM_PACKAGE;\r
 \r
-typedef struct _STR2INT {\r
+typedef struct {\r
   CHAR16        *String;\r
   UINT32        Integer;\r
 } STR2INT;\r