summaryrefslogtreecommitdiff
path: root/Core/EM/HddSecurity/Hddpassword/HddPassword.h
diff options
context:
space:
mode:
Diffstat (limited to 'Core/EM/HddSecurity/Hddpassword/HddPassword.h')
-rw-r--r--Core/EM/HddSecurity/Hddpassword/HddPassword.h185
1 files changed, 185 insertions, 0 deletions
diff --git a/Core/EM/HddSecurity/Hddpassword/HddPassword.h b/Core/EM/HddSecurity/Hddpassword/HddPassword.h
new file mode 100644
index 0000000..ccfdffb
--- /dev/null
+++ b/Core/EM/HddSecurity/Hddpassword/HddPassword.h
@@ -0,0 +1,185 @@
+//****************************************************************************
+//****************************************************************************
+//** **
+//** (C)Copyright 1985-2014, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Norcross, GA 30093 **
+//** **
+//** Phone (770)-246-8600 **
+//** **
+//****************************************************************************
+//****************************************************************************
+// $Header: /Alaska/SOURCE/Modules/HddSecurity/HddPassword/HddPassword.h 11 9/10/14 2:59a Divyac $
+//
+// $Revision: 11 $
+//
+// $Date: 9/10/14 2:59a $
+//
+//*****************************************************************************
+// Revision History
+// ----------------
+// $Log: /Alaska/SOURCE/Modules/HddSecurity/HddPassword/HddPassword.h $
+//
+// 11 9/10/14 2:59a Divyac
+// [TAG] EIP181548
+// [Category] Improvement
+// [Description] Implement event signaling during HDD Passwords Prompt.
+// [Files] HddPassword.c
+// HddPassword.h
+//
+// 10 4/29/13 2:30a Kapilporwal
+// fixing build errors, when tse soruce is not present, from last check-in
+//
+// 9 4/25/13 9:28a Kapilporwal
+// [TAG] EIP108583
+// [Category] New Feature
+// [Description] support set HDD password in same page
+// [Files] IdeSecurity.cif, IdeSecurity.mak, IdeSecurity.sdl,
+// IdeSecurity.uni, IdeSecurityCommon.sd, IdeSecuritySetup.c,
+// HddPassword.c, HddPassword.h, HddPassword.mak, HddPassword.sdl
+//
+// 8 6/28/11 6:24a Anandv
+// [TAG] EIP62381
+// [Category] Improvement
+// [Description] In IdeSecurity Module, display HDD number in Setup
+// based
+// on results from WhichIde() function of
+// DiskInfo Protocol.
+//
+// [Files] HddPassword.c, HddPassword.h, SBDxe.c, PIDEController.h
+//
+// 7 5/21/10 2:58p Aaronp
+// Fix for EIP 38473 - Device names are not displayed when built in UEFI
+// 2.1 mode
+//
+// 6 3/11/10 3:50a Rameshr
+// Issue: Same Structure definied in Hddpassword and Amitse.
+// Solution: Amitse created tsecommon.h with all the common definition.
+// EIP: 27339
+//
+// 5 1/15/10 10:11a Yul
+// Coding Standard
+//
+// 4 9/28/09 4:59p Rameshr
+//
+// 3 9/21/09 3:48p Rameshr
+// The data structure AMI_IFR_MSGBOX in HddPassword.h and MessageBox.h are
+// not the same
+// EIP 27157
+//
+// 2 7/27/09 5:37p Pats
+// EIP 22925: Request to set HDD password length by token.
+// Solution: Token added to IdeSecurity.sdl, and definition removed from
+// HddPassword.h
+//
+// 1 5/01/09 11:09a Rameshr
+// Initial Check-in
+//*****************************************************************************//
+
+//<AMI_FHDR_START>
+//---------------------------------------------------------------------------
+//
+// Name: HddPassword.h
+//
+// Description: Header file for the HddPassword
+//
+//---------------------------------------------------------------------------
+//<AMI_FHDR_END>
+
+#ifndef _IDEPASSWORD_H_
+#define _IDEPASSWORD_H_
+
+#include "AmiStatusCodes.h"
+
+#define IDE_SECURITY_INTERFACE_GUID \
+ { 0xF4F63529, 0x281E, 0x4040, 0xA3, 0x13, 0xC1, 0xD6, 0x76, 0x63, 0x84,\
+ 0xBE }
+
+#define HDD_SECURITY_END_PROTOCOL_GUID \
+ { 0xad77ae29, 0x4c20, 0x4fdd, 0x85, 0x04, 0x81, 0x76, 0x61, 0x9b, 0x67,\
+ 0x6a }
+
+#define HDD_UNLOCKED_GUID \
+ { 0x1fd29be6, 0x70d0, 0x42a4, 0xa6, 0xe7, 0xe5, 0xd1, 0xe, 0x6a, 0xc3, 0x76};
+
+#define HDD_PASSWORD_PROMPT_ENTER_GUID \
+ { 0x8e8d584a, 0x6e32, 0x44bf, { 0xb9, 0x6e, 0x1d, 0x27, 0x7, 0xc4, 0xeb, 0x5c } }
+
+#define HDD_PASSWORD_PROMPT_EXIT_GUID \
+ { 0xe22af903, 0xfd6f, 0x4d22, { 0x94, 0xce, 0xf8, 0x49, 0xc6, 0x14, 0xc3, 0x45 } }
+
+#define SECURITY_SET_PASSWORD 0xF1
+#define SECURITY_UNLOCK 0xF2
+#define SECURITY_ERASE_PREPARE 0xF3
+#define SECURITY_ERASE_UNIT 0xF4
+#define SECURITY_FREEZE_LOCK 0xF5
+#define SECURITY_DISABLE_PASSWORD 0xF6
+#define SECURITY_BUFFER_LENGTH 512 // Bytes
+
+#define SecuritySupportedMask 0x0001
+#define SecurityEnabledMask 0x0002
+#define SecurityLockedMask 0x0004
+#define SecurityFrozenMask 0x0008
+
+
+#ifndef AMI_DXE_BS_EC_INVALID_IDE_PASSWORD
+ #define AMI_DXE_BS_EC_INVALID_IDE_PASSWORD (AMI_STATUS_CODE_CLASS\
+ | 0x00000005)
+#endif
+
+#ifndef DXE_INVALID_IDE_PASSWORD
+ #define DXE_INVALID_IDE_PASSWORD (EFI_SOFTWARE_DXE_BS_DRIVER\
+ | AMI_DXE_BS_EC_INVALID_IDE_PASSWORD)
+#endif
+
+#define NG_SIZE 19
+#define VARIABLE_ID_AMITSESETUP 5
+#if !defined(SECUITY_SETUP_ON_SAME_PAGE) || SECUITY_SETUP_ON_SAME_PAGE == 0
+#define INVALID_HANDLE ((VOID*)-1)
+#endif
+#include "tsecommon.h"
+
+#define EFI_DP_TYPE_MASK 0x7F
+#define EFI_DP_TYPE_UNPACKED 0x80
+#if !defined(SECUITY_SETUP_ON_SAME_PAGE) || SECUITY_SETUP_ON_SAME_PAGE == 0
+#define END_DEVICE_PATH_TYPE 0x7f
+#define END_ENTIRE_DEVICE_PATH_SUBTYPE 0xff
+
+#define DevicePathType( a ) (((a)->Type) & EFI_DP_TYPE_MASK)
+#define DevicePathSubType( a ) ((a)->SubType)
+#define DevicePathNodeLength( a ) (((a)->Length[0]) | ((a)->Length[1] << 8))
+#define NextDevicePathNode( a ) ((EFI_DEVICE_PATH_PROTOCOL*) (((UINT8*) (\
+ a))\
+ +\
+ DevicePathNodeLength( a )))
+#define IsDevicePathEndType( a ) (\
+ DevicePathType( \
+ a ) == END_DEVICE_PATH_TYPE)
+#define IsDevicePathEndSubType( a ) ((a)->SubType ==\
+ END_ENTIRE_DEVICE_PATH_SUBTYPE)
+#define IsDevicePathEnd( a ) (IsDevicePathEndType( a )\
+ && IsDevicePathEndSubType( a ))
+VOID
+HddSecuritySignalProtocolEvent (
+ IN EFI_GUID *ProtocolGuid
+);
+
+#endif
+
+#endif /* _PASSWORD_H_ */
+
+//****************************************************************************
+//****************************************************************************
+//** **
+//** (C)Copyright 1985-2014, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Norcross, GA 30093 **
+//** **
+//** Phone (770)-246-8600 **
+//** **
+//****************************************************************************
+//****************************************************************************