From d1f950002362305fcd4c30f108ef7b76679f5843 Mon Sep 17 00:00:00 2001 From: yshang1 Date: Tue, 19 Jun 2007 10:12:02 +0000 Subject: Checked in the Protocols introduced in UEFI/PI. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2674 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Include/Protocol/AuthenticationInfo.h | 125 +++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 MdePkg/Include/Protocol/AuthenticationInfo.h (limited to 'MdePkg/Include/Protocol/AuthenticationInfo.h') diff --git a/MdePkg/Include/Protocol/AuthenticationInfo.h b/MdePkg/Include/Protocol/AuthenticationInfo.h new file mode 100644 index 0000000000..f80dbf362b --- /dev/null +++ b/MdePkg/Include/Protocol/AuthenticationInfo.h @@ -0,0 +1,125 @@ +/** @file + EFI_AUTHENTICATION_INFO_PROTOCOL as defined in UEFI 2.0. + This protocol is used on any device handle to obtain authentication information + associated with the physical or logical device. + + Copyright (c) 2006, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + + Module Name: AuthenticationInfo.h + +**/ + +#ifndef __AUTHENTICATION_INFO_H__ +#define __AUTHENTICATION_INFO_H__ + +#define EFI_AUTHENTICATION_INFO_PROTOCOL_GUID \ + { \ + 0x7671d9d0, 0x53db, 0x4173, {0xaa, 0x69, 0x23, 0x27, 0xf2, 0x1f, 0x0b, 0xc7 } \ + } + +#define EFI_AUTHENTICATION_CHAP_RADIUS_GUID \ + { \ + 0xd6062b50, 0x15ca, 0x11da, {0x92, 0x19, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d } \ + } + +#define EFI_AUTHENTICATION_CHAP_LOCAL_GUID \ + { \ + 0xc280c73e, 0x15ca, 0x11da, {0xb0, 0xca, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d } \ + } + +typedef struct _EFI_AUTHENTICATION_INFO_PROTOCOL EFI_AUTHENTICATION_INFO_PROTOCOL; + +typedef struct { + EFI_GUID Guid; + UINT16 Length; +} AUTH_NODE_HEADER; + +typedef struct { + AUTH_NODE_HEADER Header; + EFI_IPv6_ADDRESS RadiusIpAddr; // IPv4 or IPv6 address + UINT16 Reserved; + EFI_IPv6_ADDRESS NasIpAddr; // IPv4 or IPv6 address + UINT16 NasSecretLength; + UINT8 *NasSecret; + UINT16 ChapSecretLength; + UINT8 *ChapSecret; + UINT16 ChapNameLength; + UINT8 *ChapName; +} CHAP_RADIUS_AUTH_NODE; + +typedef struct { + AUTH_NODE_HEADER Header; + UINT16 Reserved; + UINT16 UserSecretLength; + UINT8 *UserSecret; + UINT16 UserNameLength; + UINT8 *UserName; + UINT16 ChapSecretLength; + UINT8 *ChapSecret; + UINT16 ChapNameLength; + UINT8 *ChapName; +} CHAP_LOCAL_AUTH_NODE; + +/** + Retrieves the Authentication information associated with a particular controller handle. + + @param This Pointer to the EFI_AUTHENTICATION_INFO_PROTOCOL + @param ControllerHandle Handle to the Controller + @param Buffer Pointer to the authentication information. + + @retval EFI_SUCCESS Successfully retrieved Authentication information for the given ControllerHandle + @retval EFI_INVALID_PARAMETER No matching Authentication information found for the given ControllerHandle + @retval EFI_DEVICE_ERROR The authentication information could not be retrieved due to a + hardware error. + +**/ +typedef +EFI_STATUS +(EFIAPI *EFI_AUTHENTICATION_PROTOCOL_INFO_GET) ( + IN EFI_AUTHENTICATION_INFO_PROTOCOL *This, + IN EFI_HANDLE *ControllerHandle, + OUT VOID *Buffer + ) +; + +/** + Set the Authentication information for a given controller handle. + + @param This Pointer to the EFI_AUTHENTICATION_INFO_PROTOCOL + @param ControllerHandle Handle to the Controller + @param Buffer Pointer to the authentication information. + + @retval EFI_SUCCESS Successfully set Authentication information for the given ControllerHandle + @retval EFI_UNSUPPORTED If the platform policies do not allow setting of the Authentication + information. + @retval EFI_DEVICE_ERROR The authentication information could not be configured due to a + hardware error. + @retval EFI_OUT_OF_RESOURCES Not enough storage is available to hold the data. + +**/ +typedef +EFI_STATUS +(EFIAPI *EFI_AUTHENTICATION_PROTOCOL_INFO_SET) ( + IN EFI_AUTHENTICATION_INFO_PROTOCOL *This, + IN EFI_HANDLE *ControllerHandle, + IN VOID *Buffer + ) +; + +struct _EFI_AUTHENTICATION_INFO_PROTOCOL { + EFI_AUTHENTICATION_PROTOCOL_INFO_GET Get; + EFI_AUTHENTICATION_PROTOCOL_INFO_SET Set; +}; + +extern EFI_GUID gEfiAuthenticationInfoProtocolGuid; +extern EFI_GUID gEfiAuthenticationChapRadiusGuid; +extern EFI_GUID gEfiAuthenticationChapLocalGuid; + +#endif -- cgit v1.2.3