MdePkg: Apply uncrustify changes

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the MdePkg package

Cc: Andrew Fish <afish@apple.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
Michael Kubacki
2021-12-05 14:54:05 -08:00
committed by mergify[bot]
parent 1436aea4d5
commit 2f88bd3a12
975 changed files with 55681 additions and 57790 deletions

View File

@@ -25,22 +25,22 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include <IndustryStandard/TcgStorageCore.h>
#define OPAL_UID_ADMIN_SP TCG_TO_UID(0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0x00, 0x01)
#define OPAL_UID_ADMIN_SP_C_PIN_MSID TCG_TO_UID(0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x84, 0x02)
#define OPAL_UID_ADMIN_SP_C_PIN_SID TCG_TO_UID(0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01)
#define OPAL_UID_LOCKING_SP TCG_TO_UID(0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0x00, 0x02)
#define OPAL_UID_ADMIN_SP TCG_TO_UID(0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0x00, 0x01)
#define OPAL_UID_ADMIN_SP_C_PIN_MSID TCG_TO_UID(0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x84, 0x02)
#define OPAL_UID_ADMIN_SP_C_PIN_SID TCG_TO_UID(0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01)
#define OPAL_UID_LOCKING_SP TCG_TO_UID(0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0x00, 0x02)
// ADMIN_SP
// Authorities
#define OPAL_ADMIN_SP_ANYBODY_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01)
#define OPAL_ADMIN_SP_ADMINS_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02)
#define OPAL_ADMIN_SP_MAKERS_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03)
#define OPAL_ADMIN_SP_SID_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06)
#define OPAL_ADMIN_SP_ADMIN1_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x02, 0x01)
#define OPAL_ADMIN_SP_PSID_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x01, 0xFF, 0x01)
#define OPAL_ADMIN_SP_ANYBODY_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01)
#define OPAL_ADMIN_SP_ADMINS_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02)
#define OPAL_ADMIN_SP_MAKERS_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03)
#define OPAL_ADMIN_SP_SID_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06)
#define OPAL_ADMIN_SP_ADMIN1_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x02, 0x01)
#define OPAL_ADMIN_SP_PSID_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x01, 0xFF, 0x01)
#define OPAL_ADMIN_SP_ACTIVATE_METHOD TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x02, 0x03)
#define OPAL_ADMIN_SP_REVERT_METHOD TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x02, 0x02)
#define OPAL_ADMIN_SP_ACTIVATE_METHOD TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x02, 0x03)
#define OPAL_ADMIN_SP_REVERT_METHOD TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x02, 0x02)
// ADMIN_SP
// Data Removal mechanism
@@ -48,61 +48,59 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
// LOCKING SP
// Authorities
#define OPAL_LOCKING_SP_ANYBODY_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01)
#define OPAL_LOCKING_SP_ADMINS_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02)
#define OPAL_LOCKING_SP_ADMIN1_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x01, 0x00, 0x01)
#define OPAL_LOCKING_SP_USERS_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00, 0x00)
#define OPAL_LOCKING_SP_USER1_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00, 0x01)
#define OPAL_LOCKING_SP_ANYBODY_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01)
#define OPAL_LOCKING_SP_ADMINS_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02)
#define OPAL_LOCKING_SP_ADMIN1_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x01, 0x00, 0x01)
#define OPAL_LOCKING_SP_USERS_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00, 0x00)
#define OPAL_LOCKING_SP_USER1_AUTHORITY TCG_TO_UID(0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00, 0x01)
#define OPAL_LOCKING_SP_REVERTSP_METHOD TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11)
#define OPAL_LOCKING_SP_REVERTSP_METHOD TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11)
// C_PIN Table Rows
#define OPAL_LOCKING_SP_C_PIN_ADMIN1 TCG_TO_UID( 0x00, 0x00, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x01 )
#define OPAL_LOCKING_SP_C_PIN_USER1 TCG_TO_UID( 0x00, 0x00, 0x00, 0x0B, 0x00, 0x03, 0x00, 0x01 )
#define OPAL_LOCKING_SP_C_PIN_ADMIN1 TCG_TO_UID( 0x00, 0x00, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x01 )
#define OPAL_LOCKING_SP_C_PIN_USER1 TCG_TO_UID( 0x00, 0x00, 0x00, 0x0B, 0x00, 0x03, 0x00, 0x01 )
// Locking Table
#define OPAL_LOCKING_SP_LOCKING_GLOBALRANGE TCG_TO_UID( 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x01 )
#define OPAL_LOCKING_SP_LOCKING_RANGE1 TCG_TO_UID( 0x00, 0x00, 0x08, 0x02, 0x00, 0x03, 0x00, 0x01 )
#define OPAL_LOCKING_SP_LOCKING_GLOBALRANGE TCG_TO_UID( 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x01 )
#define OPAL_LOCKING_SP_LOCKING_RANGE1 TCG_TO_UID( 0x00, 0x00, 0x08, 0x02, 0x00, 0x03, 0x00, 0x01 )
// LOCKING SP ACE Table Preconfiguration
#define OPAL_LOCKING_SP_ACE_LOCKING_GLOBALRANGE_GET_ALL TCG_TO_UID( 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0xD0, 0x00 )
#define OPAL_LOCKING_SP_ACE_LOCKING_GLOBALRANGE_SET_RDLOCKED TCG_TO_UID( 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0xE0, 0x00 )
#define OPAL_LOCKING_SP_ACE_LOCKING_GLOBALRANGE_SET_WRLOCKED TCG_TO_UID( 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0xE8, 0x00 )
#define OPAL_LOCKING_SP_ACE_K_AES_256_GLOBALRANGE_GENKEY TCG_TO_UID( 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0xB8, 0x00 )
#define OPAL_LOCKING_SP_ACE_K_AES_128_GLOBALRANGE_GENKEY TCG_TO_UID( 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0xB0, 0x00 )
#define OPAL_LOCKING_SP_ACE_LOCKING_GLOBALRANGE_GET_ALL TCG_TO_UID( 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0xD0, 0x00 )
#define OPAL_LOCKING_SP_ACE_LOCKING_GLOBALRANGE_SET_RDLOCKED TCG_TO_UID( 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0xE0, 0x00 )
#define OPAL_LOCKING_SP_ACE_LOCKING_GLOBALRANGE_SET_WRLOCKED TCG_TO_UID( 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0xE8, 0x00 )
#define OPAL_LOCKING_SP_ACE_K_AES_256_GLOBALRANGE_GENKEY TCG_TO_UID( 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0xB8, 0x00 )
#define OPAL_LOCKING_SP_ACE_K_AES_128_GLOBALRANGE_GENKEY TCG_TO_UID( 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0xB0, 0x00 )
// LOCKING SP LockingInfo Table Preconfiguration
#define OPAL_LOCKING_SP_LOCKING_INFO TCG_TO_UID( 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x01 )
#define OPAL_LOCKING_SP_LOCKING_INFO TCG_TO_UID( 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x01 )
#define OPAL_LOCKING_SP_LOCKINGINFO_ALIGNMENTREQUIRED_COL 0x7
#define OPAL_LOCKING_SP_LOCKINGINFO_LOGICALBLOCKSIZE_COL 0x8
#define OPAL_LOCKING_SP_LOCKINGINFO_ALIGNMENTGRANULARITY_COL 0x9
#define OPAL_LOCKING_SP_LOCKINGINFO_LOWESTALIGNEDLBA_COL 0xA
#define OPAL_LOCKING_SP_LOCKINGINFO_ALIGNMENTREQUIRED_COL 0x7
#define OPAL_LOCKING_SP_LOCKINGINFO_LOGICALBLOCKSIZE_COL 0x8
#define OPAL_LOCKING_SP_LOCKINGINFO_ALIGNMENTGRANULARITY_COL 0x9
#define OPAL_LOCKING_SP_LOCKINGINFO_LOWESTALIGNEDLBA_COL 0xA
// K_AES_256 Table Preconfiguration
#define OPAL_LOCKING_SP_K_AES_256_GLOBALRANGE_KEY TCG_TO_UID( 0x00, 0x00, 0x08, 0x06, 0x00, 0x00, 0x00, 0x01 )
#define OPAL_LOCKING_SP_K_AES_256_GLOBALRANGE_KEY TCG_TO_UID( 0x00, 0x00, 0x08, 0x06, 0x00, 0x00, 0x00, 0x01 )
// K_AES_128 Table Preconfiguration
#define OPAL_LOCKING_SP_K_AES_128_GLOBALRANGE_KEY TCG_TO_UID( 0x00, 0x00, 0x08, 0x05, 0x00, 0x00, 0x00, 0x01 )
#define OPAL_LOCKING_SP_K_AES_128_GLOBALRANGE_KEY TCG_TO_UID( 0x00, 0x00, 0x08, 0x05, 0x00, 0x00, 0x00, 0x01 )
// Minimum Properties that an Opal Compliant SD Shall support
#define OPAL_MIN_MAX_COM_PACKET_SIZE 2048
#define OPAL_MIN_MAX_REPONSE_COM_PACKET_SIZE 2048
#define OPAL_MIN_MAX_PACKET_SIZE 2028
#define OPAL_MIN_MAX_IND_TOKEN_SIZE 1992
#define OPAL_MIN_MAX_PACKETS 1
#define OPAL_MIN_MAX_SUBPACKETS 1
#define OPAL_MIN_MAX_METHODS 1
#define OPAL_MIN_MAX_SESSIONS 1
#define OPAL_MIN_MAX_AUTHENTICATIONS 2
#define OPAL_MIN_MAX_TRANSACTION_LIMIT 1
#define OPAL_MIN_MAX_COM_PACKET_SIZE 2048
#define OPAL_MIN_MAX_REPONSE_COM_PACKET_SIZE 2048
#define OPAL_MIN_MAX_PACKET_SIZE 2028
#define OPAL_MIN_MAX_IND_TOKEN_SIZE 1992
#define OPAL_MIN_MAX_PACKETS 1
#define OPAL_MIN_MAX_SUBPACKETS 1
#define OPAL_MIN_MAX_METHODS 1
#define OPAL_MIN_MAX_SESSIONS 1
#define OPAL_MIN_MAX_AUTHENTICATIONS 2
#define OPAL_MIN_MAX_TRANSACTION_LIMIT 1
#define OPAL_ADMIN_SP_PIN_COL 3
#define OPAL_LOCKING_SP_C_PIN_TRYLIMIT_COL 5
#define OPAL_RANDOM_METHOD_MAX_COUNT_SIZE 32
#define OPAL_ADMIN_SP_PIN_COL 3
#define OPAL_LOCKING_SP_C_PIN_TRYLIMIT_COL 5
#define OPAL_RANDOM_METHOD_MAX_COUNT_SIZE 32
// Data Removal Mechanism column.
#define OPAL_ADMIN_SP_ACTIVE_DATA_REMOVAL_MECHANISM_COL 1
@@ -124,118 +122,118 @@ typedef enum {
#pragma pack(1)
typedef struct _OPAL_GEOMETRY_REPORTING_FEATURE {
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT8 Reserved[8];
UINT32 LogicalBlockSizeBE;
UINT64 AlignmentGranularityBE;
UINT64 LowestAlignedLBABE;
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT8 Reserved[8];
UINT32 LogicalBlockSizeBE;
UINT64 AlignmentGranularityBE;
UINT64 LowestAlignedLBABE;
} OPAL_GEOMETRY_REPORTING_FEATURE;
typedef struct _OPAL_SINGLE_USER_MODE_FEATURE {
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT32 NumLockingObjectsSupportedBE;
UINT8 Any : 1;
UINT8 All : 1;
UINT8 Policy : 1;
UINT8 Reserved : 5;
UINT8 Reserved2[7];
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT32 NumLockingObjectsSupportedBE;
UINT8 Any : 1;
UINT8 All : 1;
UINT8 Policy : 1;
UINT8 Reserved : 5;
UINT8 Reserved2[7];
} OPAL_SINGLE_USER_MODE_FEATURE;
typedef struct _OPAL_DATASTORE_TABLE_FEATURE {
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT16 Reserved;
UINT16 MaxNumTablesBE;
UINT32 MaxTotalSizeBE;
UINT32 SizeAlignmentBE;
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT16 Reserved;
UINT16 MaxNumTablesBE;
UINT32 MaxTotalSizeBE;
UINT32 SizeAlignmentBE;
} OPAL_DATASTORE_TABLE_FEATURE;
typedef struct _OPAL_SSCV1_FEATURE_DESCRIPTOR {
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT16 BaseComdIdBE;
UINT16 NumComIdsBE;
UINT8 RangeCrossing : 1;
UINT8 Reserved : 7;
UINT8 Future[11];
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT16 BaseComdIdBE;
UINT16 NumComIdsBE;
UINT8 RangeCrossing : 1;
UINT8 Reserved : 7;
UINT8 Future[11];
} OPAL_SSCV1_FEATURE_DESCRIPTOR;
typedef struct _OPAL_SSCV2_FEATURE_DESCRIPTOR {
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT16 BaseComdIdBE;
UINT16 NumComIdsBE;
UINT8 Reserved;
UINT16 NumLockingSpAdminAuthoritiesSupportedBE;
UINT16 NumLockingSpUserAuthoritiesSupportedBE;
UINT8 InitialCPINSIDPIN;
UINT8 CPINSIDPINRevertBehavior;
UINT8 Future[5];
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT16 BaseComdIdBE;
UINT16 NumComIdsBE;
UINT8 Reserved;
UINT16 NumLockingSpAdminAuthoritiesSupportedBE;
UINT16 NumLockingSpUserAuthoritiesSupportedBE;
UINT8 InitialCPINSIDPIN;
UINT8 CPINSIDPINRevertBehavior;
UINT8 Future[5];
} OPAL_SSCV2_FEATURE_DESCRIPTOR;
typedef struct _OPAL_SSCLITE_FEATURE_DESCRIPTOR {
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT16 BaseComdIdBE;
UINT16 NumComIdsBE;
UINT8 Reserved[5];
UINT8 InitialCPINSIDPIN;
UINT8 CPINSIDPINRevertBehavior;
UINT8 Future[5];
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT16 BaseComdIdBE;
UINT16 NumComIdsBE;
UINT8 Reserved[5];
UINT8 InitialCPINSIDPIN;
UINT8 CPINSIDPINRevertBehavior;
UINT8 Future[5];
} OPAL_SSCLITE_FEATURE_DESCRIPTOR;
typedef struct _PYRITE_SSC_FEATURE_DESCRIPTOR {
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT16 BaseComdIdBE;
UINT16 NumComIdsBE;
UINT8 Reserved[5];
UINT8 InitialCPINSIDPIN;
UINT8 CPINSIDPINRevertBehavior;
UINT8 Future[5];
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT16 BaseComdIdBE;
UINT16 NumComIdsBE;
UINT8 Reserved[5];
UINT8 InitialCPINSIDPIN;
UINT8 CPINSIDPINRevertBehavior;
UINT8 Future[5];
} PYRITE_SSC_FEATURE_DESCRIPTOR;
typedef struct _PYRITE_SSCV2_FEATURE_DESCRIPTOR {
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT16 BaseComdIdBE;
UINT16 NumComIdsBE;
UINT8 Reserved[5];
UINT8 InitialCPINSIDPIN;
UINT8 CPINSIDPINRevertBehavior;
UINT8 Future[5];
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT16 BaseComdIdBE;
UINT16 NumComIdsBE;
UINT8 Reserved[5];
UINT8 InitialCPINSIDPIN;
UINT8 CPINSIDPINRevertBehavior;
UINT8 Future[5];
} PYRITE_SSCV2_FEATURE_DESCRIPTOR;
typedef struct _DATA_REMOVAL_FEATURE_DESCRIPTOR {
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT8 Reserved;
UINT8 OperationProcessing : 1;
UINT8 Reserved2 : 7;
UINT8 RemovalMechanism;
UINT8 FormatBit0 : 1; // Data Removal Time Format for Bit 0
UINT8 FormatBit1 : 1; // Data Removal Time Format for Bit 1
UINT8 FormatBit2 : 1; // Data Removal Time Format for Bit 2
UINT8 FormatBit3 : 1; // Data Removal Time Format for Bit 3
UINT8 FormatBit4 : 1; // Data Removal Time Format for Bit 4
UINT8 FormatBit5 : 1; // Data Removal Time Format for Bit 5
UINT8 Reserved3 : 2;
UINT16 TimeBit0; // Data Removal Time for Supported Data Removal Mechanism Bit 0
UINT16 TimeBit1; // Data Removal Time for Supported Data Removal Mechanism Bit 1
UINT16 TimeBit2; // Data Removal Time for Supported Data Removal Mechanism Bit 2
UINT16 TimeBit3; // Data Removal Time for Supported Data Removal Mechanism Bit 3
UINT16 TimeBit4; // Data Removal Time for Supported Data Removal Mechanism Bit 4
UINT16 TimeBit5; // Data Removal Time for Supported Data Removal Mechanism Bit 5
UINT8 Future[16];
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;
UINT8 Reserved;
UINT8 OperationProcessing : 1;
UINT8 Reserved2 : 7;
UINT8 RemovalMechanism;
UINT8 FormatBit0 : 1; // Data Removal Time Format for Bit 0
UINT8 FormatBit1 : 1; // Data Removal Time Format for Bit 1
UINT8 FormatBit2 : 1; // Data Removal Time Format for Bit 2
UINT8 FormatBit3 : 1; // Data Removal Time Format for Bit 3
UINT8 FormatBit4 : 1; // Data Removal Time Format for Bit 4
UINT8 FormatBit5 : 1; // Data Removal Time Format for Bit 5
UINT8 Reserved3 : 2;
UINT16 TimeBit0; // Data Removal Time for Supported Data Removal Mechanism Bit 0
UINT16 TimeBit1; // Data Removal Time for Supported Data Removal Mechanism Bit 1
UINT16 TimeBit2; // Data Removal Time for Supported Data Removal Mechanism Bit 2
UINT16 TimeBit3; // Data Removal Time for Supported Data Removal Mechanism Bit 3
UINT16 TimeBit4; // Data Removal Time for Supported Data Removal Mechanism Bit 4
UINT16 TimeBit5; // Data Removal Time for Supported Data Removal Mechanism Bit 5
UINT8 Future[16];
} DATA_REMOVAL_FEATURE_DESCRIPTOR;
typedef union {
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER CommonHeader;
TCG_TPER_FEATURE_DESCRIPTOR Tper;
TCG_LOCKING_FEATURE_DESCRIPTOR Locking;
OPAL_GEOMETRY_REPORTING_FEATURE Geometry;
OPAL_SINGLE_USER_MODE_FEATURE SingleUser;
OPAL_DATASTORE_TABLE_FEATURE DataStore;
OPAL_SSCV1_FEATURE_DESCRIPTOR OpalSscV1;
OPAL_SSCV2_FEATURE_DESCRIPTOR OpalSscV2;
OPAL_SSCLITE_FEATURE_DESCRIPTOR OpalSscLite;
PYRITE_SSC_FEATURE_DESCRIPTOR PyriteSsc;
PYRITE_SSCV2_FEATURE_DESCRIPTOR PyriteSscV2;
TCG_BLOCK_SID_FEATURE_DESCRIPTOR BlockSid;
DATA_REMOVAL_FEATURE_DESCRIPTOR DataRemoval;
TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER CommonHeader;
TCG_TPER_FEATURE_DESCRIPTOR Tper;
TCG_LOCKING_FEATURE_DESCRIPTOR Locking;
OPAL_GEOMETRY_REPORTING_FEATURE Geometry;
OPAL_SINGLE_USER_MODE_FEATURE SingleUser;
OPAL_DATASTORE_TABLE_FEATURE DataStore;
OPAL_SSCV1_FEATURE_DESCRIPTOR OpalSscV1;
OPAL_SSCV2_FEATURE_DESCRIPTOR OpalSscV2;
OPAL_SSCLITE_FEATURE_DESCRIPTOR OpalSscLite;
PYRITE_SSC_FEATURE_DESCRIPTOR PyriteSsc;
PYRITE_SSCV2_FEATURE_DESCRIPTOR PyriteSscV2;
TCG_BLOCK_SID_FEATURE_DESCRIPTOR BlockSid;
DATA_REMOVAL_FEATURE_DESCRIPTOR DataRemoval;
} OPAL_LEVEL0_FEATURE_DESCRIPTOR;
#pragma pack()