summaryrefslogtreecommitdiffstats
path: root/OldMdePkg/Include/Protocol/AuthenticationInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'OldMdePkg/Include/Protocol/AuthenticationInfo.h')
-rw-r--r--OldMdePkg/Include/Protocol/AuthenticationInfo.h125
1 files changed, 125 insertions, 0 deletions
diff --git a/OldMdePkg/Include/Protocol/AuthenticationInfo.h b/OldMdePkg/Include/Protocol/AuthenticationInfo.h
new file mode 100644
index 0000000000..f80dbf362b
--- /dev/null
+++ b/OldMdePkg/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