The structures defined in RFC 5246 are not to have any padding between
fields or at the end; use the "pack" pragma as necessary.
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=915
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Long Qin <qin.long@intel.com>
Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
/// Hello Messages". The value of EFI_TLS_CIPHER is from TLS Cipher\r
/// Suite Registry of IANA.\r
///\r
/// Hello Messages". The value of EFI_TLS_CIPHER is from TLS Cipher\r
/// Suite Registry of IANA.\r
///\r
typedef struct {\r
UINT8 Data1;\r
UINT8 Data2;\r
} EFI_TLS_CIPHER;\r
typedef struct {\r
UINT8 Data1;\r
UINT8 Data2;\r
} EFI_TLS_CIPHER;\r
\r
///\r
/// EFI_TLS_COMPRESSION\r
\r
///\r
/// EFI_TLS_COMPRESSION\r
/// Note: The definition of EFI_TLS_EXTENSION if from "RFC 5246 A.4.1.\r
/// Hello Messages".\r
///\r
/// Note: The definition of EFI_TLS_EXTENSION if from "RFC 5246 A.4.1.\r
/// Hello Messages".\r
///\r
typedef struct {\r
UINT16 ExtensionType;\r
UINT16 Length;\r
UINT8 Data[1];\r
} EFI_TLS_EXTENSION;\r
typedef struct {\r
UINT16 ExtensionType;\r
UINT16 Length;\r
UINT8 Data[1];\r
} EFI_TLS_EXTENSION;\r
\r
///\r
/// EFI_TLS_VERIFY\r
\r
///\r
/// EFI_TLS_VERIFY\r
/// Note: The definition of EFI_TLS_RANDOM is from "RFC 5246 A.4.1.\r
/// Hello Messages".\r
///\r
/// Note: The definition of EFI_TLS_RANDOM is from "RFC 5246 A.4.1.\r
/// Hello Messages".\r
///\r
typedef struct {\r
UINT32 GmtUnixTime;\r
UINT8 RandomBytes[28];\r
} EFI_TLS_RANDOM;\r
typedef struct {\r
UINT32 GmtUnixTime;\r
UINT8 RandomBytes[28];\r
} EFI_TLS_RANDOM;\r
\r
///\r
/// EFI_TLS_MASTER_SECRET\r
/// Note: The definition of EFI_TLS_MASTER_SECRET is from "RFC 5246 8.1.\r
/// Computing the Master Secret".\r
///\r
\r
///\r
/// EFI_TLS_MASTER_SECRET\r
/// Note: The definition of EFI_TLS_MASTER_SECRET is from "RFC 5246 8.1.\r
/// Computing the Master Secret".\r
///\r
typedef struct {\r
UINT8 Data[48];\r
} EFI_TLS_MASTER_SECRET;\r
typedef struct {\r
UINT8 Data[48];\r
} EFI_TLS_MASTER_SECRET;\r
\r
///\r
/// EFI_TLS_SESSION_ID\r
/// Note: The definition of EFI_TLS_SESSION_ID is from "RFC 5246 A.4.1. Hello Messages".\r
///\r
#define MAX_TLS_SESSION_ID_LENGTH 32\r
\r
///\r
/// EFI_TLS_SESSION_ID\r
/// Note: The definition of EFI_TLS_SESSION_ID is from "RFC 5246 A.4.1. Hello Messages".\r
///\r
#define MAX_TLS_SESSION_ID_LENGTH 32\r
typedef struct {\r
UINT16 Length;\r
UINT8 Data[MAX_TLS_SESSION_ID_LENGTH];\r
} EFI_TLS_SESSION_ID;\r
typedef struct {\r
UINT16 Length;\r
UINT8 Data[MAX_TLS_SESSION_ID_LENGTH];\r
} EFI_TLS_SESSION_ID;\r
\r
///\r
/// EFI_TLS_SESSION_STATE\r
\r
///\r
/// EFI_TLS_SESSION_STATE\r