2 EFI_AUTHENTICATION_INFO_PROTOCOL as defined in UEFI 2.0.
3 This protocol is used on any device handle to obtain authentication information
4 associated with the physical or logical device.
6 Copyright (c) 2006 - 2008, Intel Corporation
7 All rights reserved. This program and the accompanying materials
8 are licensed and made available under the terms and conditions of the BSD License
9 which accompanies this distribution. The full text of the license may be found at
10 http://opensource.org/licenses/bsd-license.php
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 #ifndef __AUTHENTICATION_INFO_H__
18 #define __AUTHENTICATION_INFO_H__
20 #define EFI_AUTHENTICATION_INFO_PROTOCOL_GUID \
22 0x7671d9d0, 0x53db, 0x4173, {0xaa, 0x69, 0x23, 0x27, 0xf2, 0x1f, 0x0b, 0xc7 } \
25 #define EFI_AUTHENTICATION_CHAP_RADIUS_GUID \
27 0xd6062b50, 0x15ca, 0x11da, {0x92, 0x19, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d } \
30 #define EFI_AUTHENTICATION_CHAP_LOCAL_GUID \
32 0xc280c73e, 0x15ca, 0x11da, {0xb0, 0xca, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d } \
35 typedef struct _EFI_AUTHENTICATION_INFO_PROTOCOL EFI_AUTHENTICATION_INFO_PROTOCOL
;
39 /// Authentication Type GUID.
44 /// Length of this structure in bytes.
50 AUTH_NODE_HEADER Header
;
53 /// RADIUS Server IPv4 or IPv6 Address
55 EFI_IPv6_ADDRESS RadiusIpAddr
; ///< IPv4 or IPv6 address
58 /// Reserved for future use
63 /// Network Access Server IPv4 or IPv6 Address (OPTIONAL)
65 EFI_IPv6_ADDRESS NasIpAddr
; ///< IPv4 or IPv6 address
68 /// Network Access Server Secret Length in bytes (OPTIONAL)
70 UINT16 NasSecretLength
;
73 /// Network Access Server secret (OPTIONAL)
78 /// CHAP Initiator Secret length in bytes
80 UINT16 ChapSecretLength
;
83 /// CHAP Initiator Secret
88 /// CHAP Initiator Name Length in bytes
90 UINT16 ChapNameLength
;
93 /// CHAP Initiator Name
96 } CHAP_RADIUS_AUTH_NODE
;
99 AUTH_NODE_HEADER Header
;
102 /// Reserved for future use
107 /// User Secret Length in bytes
109 UINT16 UserSecretLength
;
117 /// User Name Length in bytes
119 UINT16 UserNameLength
;
127 /// CHAP Initiator Secret length in bytes
129 UINT16 ChapSecretLength
;
132 /// CHAP Initiator Secret
137 /// CHAP Initiator Name Length in bytes
139 UINT16 ChapNameLength
;
142 /// CHAP Initiator Name
145 } CHAP_LOCAL_AUTH_NODE
;
148 Retrieves the authentication information associated with a particular controller handle.
150 @param This Pointer to the EFI_AUTHENTICATION_INFO_PROTOCOL
151 @param ControllerHandle Handle to the Controller
152 @param Buffer Pointer to the authentication information.
154 @retval EFI_SUCCESS Successfully retrieved authentication information for the given ControllerHandle
155 @retval EFI_INVALID_PARAMETER No matching authentication information found for the given ControllerHandle
156 @retval EFI_DEVICE_ERROR The authentication information could not be retrieved due to a
162 (EFIAPI
*EFI_AUTHENTICATION_PROTOCOL_INFO_GET
)(
163 IN EFI_AUTHENTICATION_INFO_PROTOCOL
*This
,
164 IN EFI_HANDLE
*ControllerHandle
,
169 Set the authentication information for a given controller handle.
171 @param This Pointer to the EFI_AUTHENTICATION_INFO_PROTOCOL
172 @param ControllerHandle Handle to the Controller
173 @param Buffer Pointer to the authentication information.
175 @retval EFI_SUCCESS Successfully set authentication information for the given ControllerHandle
176 @retval EFI_UNSUPPORTED If the platform policies do not allow setting of the authentication
178 @retval EFI_DEVICE_ERROR The authentication information could not be configured due to a
180 @retval EFI_OUT_OF_RESOURCES Not enough storage is available to hold the data.
185 (EFIAPI
*EFI_AUTHENTICATION_PROTOCOL_INFO_SET
)(
186 IN EFI_AUTHENTICATION_INFO_PROTOCOL
*This
,
187 IN EFI_HANDLE
*ControllerHandle
,
192 /// This protocol is used on any device handle to obtain authentication
193 /// information associated with the physical or logical device.
195 struct _EFI_AUTHENTICATION_INFO_PROTOCOL
{
196 EFI_AUTHENTICATION_PROTOCOL_INFO_GET Get
;
197 EFI_AUTHENTICATION_PROTOCOL_INFO_SET Set
;
200 extern EFI_GUID gEfiAuthenticationInfoProtocolGuid
;
201 extern EFI_GUID gEfiAuthenticationChapRadiusGuid
;
202 extern EFI_GUID gEfiAuthenticationChapLocalGuid
;