#include "OpalPasswordCommon.h"\r
#include "OpalHiiFormValues.h"\r
\r
-#define EFI_DRIVER_NAME_UNICODE L"1.0 UEFI Opal Driver"\r
+#define EFI_DRIVER_NAME_UNICODE L"1.0 UEFI Opal Driver"\r
\r
// UEFI 2.1\r
-#define LANGUAGE_RFC_3066_ENGLISH ((CHAR8*)"en")\r
+#define LANGUAGE_RFC_3066_ENGLISH ((CHAR8*)"en")\r
\r
// UEFI/EFI < 2.1\r
-#define LANGUAGE_ISO_639_2_ENGLISH ((CHAR8*)"eng")\r
+#define LANGUAGE_ISO_639_2_ENGLISH ((CHAR8*)"eng")\r
\r
-#define CONCAT_(x, y) x ## y\r
-#define CONCAT(x, y) CONCAT_(x, y)\r
+#define CONCAT_(x, y) x ## y\r
+#define CONCAT(x, y) CONCAT_(x, y)\r
\r
-#define UNICODE_STR(x) CONCAT( L, x )\r
+#define UNICODE_STR(x) CONCAT( L, x )\r
\r
extern EFI_DRIVER_BINDING_PROTOCOL gOpalDriverBinding;\r
extern EFI_COMPONENT_NAME_PROTOCOL gOpalComponentName;\r
extern EFI_COMPONENT_NAME2_PROTOCOL gOpalComponentName2;\r
\r
-#define OPAL_MSID_LENGTH 128\r
+#define OPAL_MSID_LENGTH 128\r
\r
#define MAX_PASSWORD_TRY_COUNT 5\r
\r
// PSID Length\r
-#define PSID_CHARACTER_LENGTH 0x20\r
-#define MAX_PSID_TRY_COUNT 5\r
+#define PSID_CHARACTER_LENGTH 0x20\r
+#define MAX_PSID_TRY_COUNT 5\r
\r
//\r
// The max timeout value assume the user can wait for the revert action. The unit of this macro is second.\r
// If the revert time value bigger than this one, driver needs to popup a dialog to let user confirm the\r
// revert action.\r
//\r
-#define MAX_ACCEPTABLE_REVERTING_TIME 10\r
+#define MAX_ACCEPTABLE_REVERTING_TIME 10\r
\r
#pragma pack(1)\r
\r
// by the consumer of this library.\r
//\r
typedef struct {\r
- //\r
- // Indicates if the disk can support PSID Revert action. should verify disk supports PSID authority\r
- //\r
- UINT16 PsidRevert : 1;\r
-\r
- //\r
- // Indicates if the disk can support Revert action\r
- //\r
- UINT16 Revert : 1;\r
-\r
- //\r
- // Indicates if the user must keep data for revert action. It is true if no media encryption is supported.\r
- //\r
- UINT16 RevertKeepDataForced : 1;\r
-\r
- //\r
- // Indicates if the disk can support set Admin password\r
- //\r
- UINT16 AdminPass : 1;\r
-\r
- //\r
- // Indicates if the disk can support set User password. This action requires that a user\r
- // password is first enabled.\r
- //\r
- UINT16 UserPass : 1;\r
-\r
- //\r
- // Indicates if unlock action is available. Requires disk to be currently locked.\r
- //\r
- UINT16 Unlock : 1;\r
-\r
- //\r
- // Indicates if Secure Erase action is available. Action requires admin credentials and media encryption support.\r
- //\r
- UINT16 SecureErase : 1;\r
-\r
- //\r
- // Indicates if Disable User action is available. Action requires admin credentials.\r
- //\r
- UINT16 DisableUser : 1;\r
+ //\r
+ // Indicates if the disk can support PSID Revert action. should verify disk supports PSID authority\r
+ //\r
+ UINT16 PsidRevert : 1;\r
+\r
+ //\r
+ // Indicates if the disk can support Revert action\r
+ //\r
+ UINT16 Revert : 1;\r
+\r
+ //\r
+ // Indicates if the user must keep data for revert action. It is true if no media encryption is supported.\r
+ //\r
+ UINT16 RevertKeepDataForced : 1;\r
+\r
+ //\r
+ // Indicates if the disk can support set Admin password\r
+ //\r
+ UINT16 AdminPass : 1;\r
+\r
+ //\r
+ // Indicates if the disk can support set User password. This action requires that a user\r
+ // password is first enabled.\r
+ //\r
+ UINT16 UserPass : 1;\r
+\r
+ //\r
+ // Indicates if unlock action is available. Requires disk to be currently locked.\r
+ //\r
+ UINT16 Unlock : 1;\r
+\r
+ //\r
+ // Indicates if Secure Erase action is available. Action requires admin credentials and media encryption support.\r
+ //\r
+ UINT16 SecureErase : 1;\r
+\r
+ //\r
+ // Indicates if Disable User action is available. Action requires admin credentials.\r
+ //\r
+ UINT16 DisableUser : 1;\r
} OPAL_DISK_ACTIONS;\r
\r
//\r
// Structure that is used to represent an OPAL_DISK.\r
//\r
typedef struct {\r
- UINT32 MsidLength; // Byte length of MSID Pin for device\r
- UINT8 Msid[OPAL_MSID_LENGTH]; // MSID Pin for device\r
- EFI_STORAGE_SECURITY_COMMAND_PROTOCOL *Sscp;\r
- UINT32 MediaId; // MediaId is used by Ssc Protocol.\r
- EFI_DEVICE_PATH_PROTOCOL *OpalDevicePath;\r
- UINT16 OpalBaseComId; // Opal SSC 1 base com id.\r
- OPAL_OWNER_SHIP Owner;\r
- OPAL_DISK_SUPPORT_ATTRIBUTE SupportedAttributes;\r
- TCG_LOCKING_FEATURE_DESCRIPTOR LockingFeature; // Locking Feature Descriptor retrieved from performing a Level 0 Discovery\r
- UINT8 PasswordLength;\r
- UINT8 Password[OPAL_MAX_PASSWORD_SIZE];\r
-\r
- UINT32 EstimateTimeCost;\r
- BOOLEAN SentBlockSID; // Check whether BlockSid command has been sent.\r
+ UINT32 MsidLength; // Byte length of MSID Pin for device\r
+ UINT8 Msid[OPAL_MSID_LENGTH]; // MSID Pin for device\r
+ EFI_STORAGE_SECURITY_COMMAND_PROTOCOL *Sscp;\r
+ UINT32 MediaId; // MediaId is used by Ssc Protocol.\r
+ EFI_DEVICE_PATH_PROTOCOL *OpalDevicePath;\r
+ UINT16 OpalBaseComId; // Opal SSC 1 base com id.\r
+ OPAL_OWNER_SHIP Owner;\r
+ OPAL_DISK_SUPPORT_ATTRIBUTE SupportedAttributes;\r
+ TCG_LOCKING_FEATURE_DESCRIPTOR LockingFeature; // Locking Feature Descriptor retrieved from performing a Level 0 Discovery\r
+ UINT8 PasswordLength;\r
+ UINT8 Password[OPAL_MAX_PASSWORD_SIZE];\r
+\r
+ UINT32 EstimateTimeCost;\r
+ BOOLEAN SentBlockSID; // Check whether BlockSid command has been sent.\r
} OPAL_DISK;\r
\r
//\r
typedef struct _OPAL_DRIVER_DEVICE OPAL_DRIVER_DEVICE;\r
\r
struct _OPAL_DRIVER_DEVICE {\r
- OPAL_DRIVER_DEVICE *Next; ///< Linked list pointer\r
- EFI_HANDLE Handle; ///< Device handle\r
- OPAL_DISK OpalDisk; ///< User context\r
- CHAR16 *Name16; ///< Allocated/freed by UEFI Filter Driver at device creation/removal\r
- CHAR8 *NameZ; ///< Allocated/freed by UEFI Filter Driver at device creation/removal\r
- UINT32 MediaId; ///< Required parameter for EFI_STORAGE_SECURITY_COMMAND_PROTOCOL, from BLOCK_IO_MEDIA\r
-\r
- EFI_STORAGE_SECURITY_COMMAND_PROTOCOL *Sscp; /// Device protocols consumed\r
- EFI_DEVICE_PATH_PROTOCOL *OpalDevicePath;\r
+ OPAL_DRIVER_DEVICE *Next; ///< Linked list pointer\r
+ EFI_HANDLE Handle; ///< Device handle\r
+ OPAL_DISK OpalDisk; ///< User context\r
+ CHAR16 *Name16; ///< Allocated/freed by UEFI Filter Driver at device creation/removal\r
+ CHAR8 *NameZ; ///< Allocated/freed by UEFI Filter Driver at device creation/removal\r
+ UINT32 MediaId; ///< Required parameter for EFI_STORAGE_SECURITY_COMMAND_PROTOCOL, from BLOCK_IO_MEDIA\r
+\r
+ EFI_STORAGE_SECURITY_COMMAND_PROTOCOL *Sscp; /// Device protocols consumed\r
+ EFI_DEVICE_PATH_PROTOCOL *OpalDevicePath;\r
};\r
\r
//\r
// Opal Driver UEFI Driver Model\r
//\r
typedef struct {\r
- EFI_HANDLE Handle; ///< Driver image handle\r
- OPAL_DRIVER_DEVICE *DeviceList; ///< Linked list of controllers owned by this Driver\r
+ EFI_HANDLE Handle; ///< Driver image handle\r
+ OPAL_DRIVER_DEVICE *DeviceList; ///< Linked list of controllers owned by this Driver\r
} OPAL_DRIVER;\r
\r
#pragma pack()\r
//\r
// Retrieves a OPAL_DRIVER_DEVICE based on the pointer to its StorageSecurity protocol.\r
//\r
-#define DRIVER_DEVICE_FROM_OPALDISK(OpalDiskPointer) (OPAL_DRIVER_DEVICE*)(BASE_CR(OpalDiskPointer, OPAL_DRIVER_DEVICE, OpalDisk))\r
+#define DRIVER_DEVICE_FROM_OPALDISK(OpalDiskPointer) (OPAL_DRIVER_DEVICE*)(BASE_CR(OpalDiskPointer, OPAL_DRIVER_DEVICE, OpalDisk))\r
\r
/**\r
Get devcie list info.\r
\r
@retval return the device list pointer.\r
**/\r
-OPAL_DRIVER_DEVICE*\r
-OpalDriverGetDeviceList(\r
+OPAL_DRIVER_DEVICE *\r
+OpalDriverGetDeviceList (\r
VOID\r
);\r
\r
@retval FALSE Not found the name for this device.\r
**/\r
BOOLEAN\r
-OpalDriverGetDriverDeviceName(\r
- OPAL_DRIVER_DEVICE *Dev\r
+OpalDriverGetDriverDeviceName (\r
+ OPAL_DRIVER_DEVICE *Dev\r
);\r
\r
/**\r
**/\r
VOID\r
OpalSupportUpdatePassword (\r
- IN OUT OPAL_DISK *OpalDisk,\r
- IN VOID *Password,\r
- IN UINT32 PasswordLength\r
+ IN OUT OPAL_DISK *OpalDisk,\r
+ IN VOID *Password,\r
+ IN UINT32 PasswordLength\r
);\r
\r
/**\r
**/\r
TCG_RESULT\r
EFIAPI\r
-OpalSupportGetAvailableActions(\r
- IN OPAL_DISK_SUPPORT_ATTRIBUTE *SupportedAttributes,\r
- IN TCG_LOCKING_FEATURE_DESCRIPTOR *LockingFeature,\r
- IN UINT16 OwnerShip,\r
- OUT OPAL_DISK_ACTIONS *AvalDiskActions\r
+OpalSupportGetAvailableActions (\r
+ IN OPAL_DISK_SUPPORT_ATTRIBUTE *SupportedAttributes,\r
+ IN TCG_LOCKING_FEATURE_DESCRIPTOR *LockingFeature,\r
+ IN UINT16 OwnerShip,\r
+ OUT OPAL_DISK_ACTIONS *AvalDiskActions\r
);\r
\r
/**\r
TCG_RESULT\r
EFIAPI\r
OpalSupportEnableOpalFeature (\r
- IN OPAL_SESSION *Session,\r
- IN VOID *Msid,\r
- IN UINT32 MsidLength,\r
- IN VOID *Password,\r
- IN UINT32 PassLength\r
+ IN OPAL_SESSION *Session,\r
+ IN VOID *Msid,\r
+ IN UINT32 MsidLength,\r
+ IN VOID *Password,\r
+ IN UINT32 PassLength\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiDriverUnload(\r
- EFI_HANDLE ImageHandle\r
+EfiDriverUnload (\r
+ EFI_HANDLE ImageHandle\r
);\r
\r
-\r
/**\r
Test to see if this driver supports Controller.\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-OpalEfiDriverBindingSupported(\r
- EFI_DRIVER_BINDING_PROTOCOL* This,\r
- EFI_HANDLE Controller,\r
- EFI_DEVICE_PATH_PROTOCOL* RemainingDevicePath\r
+OpalEfiDriverBindingSupported (\r
+ EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ EFI_HANDLE Controller,\r
+ EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-OpalEfiDriverBindingStart(\r
- EFI_DRIVER_BINDING_PROTOCOL* This,\r
- EFI_HANDLE Controller,\r
- EFI_DEVICE_PATH_PROTOCOL* RemainingDevicePath\r
+OpalEfiDriverBindingStart (\r
+ EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ EFI_HANDLE Controller,\r
+ EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-OpalEfiDriverBindingStop(\r
- EFI_DRIVER_BINDING_PROTOCOL* This,\r
- EFI_HANDLE Controller,\r
- UINTN NumberOfChildren,\r
- EFI_HANDLE* ChildHandleBuffer\r
+OpalEfiDriverBindingStop (\r
+ EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ EFI_HANDLE Controller,\r
+ UINTN NumberOfChildren,\r
+ EFI_HANDLE *ChildHandleBuffer\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-OpalEfiDriverComponentNameGetDriverName(\r
- EFI_COMPONENT_NAME_PROTOCOL* This,\r
- CHAR8* Language,\r
- CHAR16** DriverName\r
+OpalEfiDriverComponentNameGetDriverName (\r
+ EFI_COMPONENT_NAME_PROTOCOL *This,\r
+ CHAR8 *Language,\r
+ CHAR16 **DriverName\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-OpalEfiDriverComponentNameGetControllerName(\r
- EFI_COMPONENT_NAME_PROTOCOL* This,\r
- EFI_HANDLE ControllerHandle,\r
- EFI_HANDLE ChildHandle,\r
- CHAR8* Language,\r
- CHAR16** ControllerName\r
+OpalEfiDriverComponentNameGetControllerName (\r
+ EFI_COMPONENT_NAME_PROTOCOL *This,\r
+ EFI_HANDLE ControllerHandle,\r
+ EFI_HANDLE ChildHandle,\r
+ CHAR8 *Language,\r
+ CHAR16 **ControllerName\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-OpalEfiDriverComponentName2GetDriverName(\r
- EFI_COMPONENT_NAME2_PROTOCOL* This,\r
- CHAR8* Language,\r
- CHAR16** DriverName\r
+OpalEfiDriverComponentName2GetDriverName (\r
+ EFI_COMPONENT_NAME2_PROTOCOL *This,\r
+ CHAR8 *Language,\r
+ CHAR16 **DriverName\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-OpalEfiDriverComponentName2GetControllerName(\r
- EFI_COMPONENT_NAME2_PROTOCOL* This,\r
- EFI_HANDLE ControllerHandle,\r
- EFI_HANDLE ChildHandle,\r
- CHAR8* Language,\r
- CHAR16** ControllerName\r
+OpalEfiDriverComponentName2GetControllerName (\r
+ EFI_COMPONENT_NAME2_PROTOCOL *This,\r
+ EFI_HANDLE ControllerHandle,\r
+ EFI_HANDLE ChildHandle,\r
+ CHAR8 *Language,\r
+ CHAR16 **ControllerName\r
);\r
\r
#endif //_OPAL_DRIVER_H_\r