]>
Commit | Line | Data |
---|---|---|
94028105 HW |
1 | /** @file\r |
2 | This file defines the EFI EAP Management2 protocol.\r | |
3 | \r | |
4 | Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r | |
9344f092 | 5 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
94028105 HW |
6 | \r |
7 | @par Revision Reference:\r | |
8 | This Protocol is introduced in UEFI Specification 2.5\r | |
9 | \r | |
10 | **/\r | |
11 | \r | |
12 | #ifndef __EFI_EAP_MANAGEMENT2_PROTOCOL_H__\r | |
13 | #define __EFI_EAP_MANAGEMENT2_PROTOCOL_H__\r | |
14 | \r | |
15 | #include <Protocol/EapManagement.h>\r | |
16 | \r | |
17 | ///\r | |
18 | /// This EFI EAP Management2 protocol provides the ability to configure and control EAPOL\r | |
19 | /// state machine, and retrieve the information, status and the statistics information of\r | |
20 | /// EAPOL state machine.\r | |
21 | ///\r | |
22 | #define EFI_EAP_MANAGEMENT2_PROTOCOL_GUID \\r | |
23 | { \\r | |
24 | 0x5e93c847, 0x456d, 0x40b3, {0xa6, 0xb4, 0x78, 0xb0, 0xc9, 0xcf, 0x7f, 0x20 } \\r | |
25 | }\r | |
26 | \r | |
27 | typedef struct _EFI_EAP_MANAGEMENT2_PROTOCOL EFI_EAP_MANAGEMENT2_PROTOCOL;\r | |
28 | \r | |
29 | /**\r | |
30 | Return key generated through EAP process.\r | |
31 | \r | |
32 | The GetKey() function return the key generated through EAP process, so that the 802.11\r | |
33 | MAC layer driver can use MSK to derive more keys, e.g. PMK (Pairwise Master Key).\r | |
34 | \r | |
35 | @param[in] This Pointer to the EFI_EAP_MANAGEMENT2_PROTOCOL instance.\r | |
36 | @param[in, out] Msk Pointer to MSK (Master Session Key) buffer.\r | |
37 | @param[in, out] MskSize MSK buffer size.\r | |
38 | @param[in, out] Emsk Pointer to EMSK (Extended Master Session Key) buffer.\r | |
39 | @param[in, out] EmskSize EMSK buffer size.\r | |
40 | \r | |
41 | @retval EFI_SUCCESS The operation completed successfully.\r | |
42 | @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r | |
43 | Msk is NULL.\r | |
44 | MskSize is NULL.\r | |
45 | Emsk is NULL.\r | |
46 | EmskSize is NULL.\r | |
47 | @retval EFI_NOT_READY MSK and EMSK are not generated in current session yet.\r | |
48 | \r | |
49 | **/\r | |
50 | typedef\r | |
51 | EFI_STATUS\r | |
52 | (EFIAPI *EFI_EAP_GET_KEY) (\r | |
53 | IN EFI_EAP_MANAGEMENT2_PROTOCOL *This,\r | |
54 | IN OUT UINT8 *Msk,\r | |
55 | IN OUT UINTN *MskSize,\r | |
56 | IN OUT UINT8 *Emsk,\r | |
57 | IN OUT UINT8 *EmskSize\r | |
58 | );\r | |
59 | \r | |
60 | ///\r | |
61 | /// The EFI_EAP_MANAGEMENT2_PROTOCOL\r | |
62 | /// is used to control, configure and monitor EAPOL state machine on a Port, and return\r | |
63 | /// information of the Port. EAPOL state machine is built on a per-Port basis. Herein, a\r | |
64 | /// Port means a NIC. For the details of EAPOL, please refer to IEEE 802.1x\r | |
65 | /// specification.\r | |
66 | ///\r | |
67 | struct _EFI_EAP_MANAGEMENT2_PROTOCOL {\r | |
68 | EFI_EAP_GET_SYSTEM_CONFIGURATION GetSystemConfiguration;\r | |
69 | EFI_EAP_SET_SYSTEM_CONFIGURATION SetSystemConfiguration;\r | |
70 | EFI_EAP_INITIALIZE_PORT InitializePort;\r | |
71 | EFI_EAP_USER_LOGON UserLogon;\r | |
72 | EFI_EAP_USER_LOGOFF UserLogoff;\r | |
73 | EFI_EAP_GET_SUPPLICANT_STATUS GetSupplicantStatus;\r | |
74 | EFI_EAP_SET_SUPPLICANT_CONFIGURATION SetSupplicantConfiguration;\r | |
75 | EFI_EAP_GET_SUPPLICANT_STATISTICS GetSupplicantStatistics;\r | |
76 | EFI_EAP_GET_KEY GetKey;\r | |
77 | };\r | |
78 | \r | |
79 | extern EFI_GUID gEfiEapManagement2ProtocolGuid;\r | |
80 | \r | |
81 | #endif\r |