/** @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
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