]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/IndustryStandard/TcgStorageCore.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / TcgStorageCore.h
CommitLineData
79af8319
ED
1/** @file\r
2 TCG defined values and structures.\r
3\r
4d9e5274 4 (TCG Storage Architecture Core Specification, Version 2.01, Revision 1.00,\r
bc623a11 5 https://trustedcomputinggroup.org/tcg-storage-architecture-core-specification/)\r
4d9e5274
ED
6\r
7 Check http://trustedcomputinggroup.org for latest specification updates.\r
8\r
9Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>\r
9344f092 10SPDX-License-Identifier: BSD-2-Clause-Patent\r
79af8319
ED
11\r
12**/\r
13\r
14#ifndef _TCG_STORAGE_CORE_H_\r
15#define _TCG_STORAGE_CORE_H_\r
16\r
17#include <Base.h>\r
18\r
19#pragma pack(1)\r
20\r
21/// UID in host native byte order\r
22typedef UINT64 TCG_UID;\r
23\r
2f88bd3a 24#define TCG_TO_UID(b0, b1, b2, b3, b4, b5, b6, b7) (TCG_UID)(\\r
79af8319
ED
25 (UINT64)(b0) | \\r
26 ((UINT64)(b1) << 8) | \\r
27 ((UINT64)(b2) << 16) | \\r
28 ((UINT64)(b3) << 24) | \\r
29 ((UINT64)(b4) << 32) | \\r
30 ((UINT64)(b5) << 40) | \\r
31 ((UINT64)(b6) << 48) | \\r
32 ((UINT64)(b7) << 56))\r
33\r
34typedef struct {\r
2f88bd3a
MK
35 UINT32 ReservedBE;\r
36 UINT16 ComIDBE;\r
37 UINT16 ComIDExtensionBE;\r
38 UINT32 OutstandingDataBE;\r
39 UINT32 MinTransferBE;\r
40 UINT32 LengthBE;\r
41 UINT8 Payload[0];\r
79af8319
ED
42} TCG_COM_PACKET;\r
43\r
44typedef struct {\r
2f88bd3a
MK
45 UINT32 TperSessionNumberBE;\r
46 UINT32 HostSessionNumberBE;\r
47 UINT32 SequenceNumberBE;\r
48 UINT16 ReservedBE;\r
49 UINT16 AckTypeBE;\r
50 UINT32 AcknowledgementBE;\r
51 UINT32 LengthBE;\r
52 UINT8 Payload[0];\r
79af8319
ED
53} TCG_PACKET;\r
54\r
2f88bd3a 55#define TCG_SUBPACKET_ALIGNMENT 4// 4-byte alignment per spec\r
79af8319
ED
56\r
57typedef struct {\r
2f88bd3a
MK
58 UINT8 ReservedBE[6];\r
59 UINT16 KindBE;\r
60 UINT32 LengthBE;\r
61 UINT8 Payload[0];\r
79af8319
ED
62} TCG_SUB_PACKET;\r
63\r
2f88bd3a
MK
64#define SUBPACKET_KIND_DATA 0x0000\r
65#define SUBPACKET_KIND_CREDIT_CONTROL 0x8001\r
79af8319 66\r
2f88bd3a
MK
67#define TCG_ATOM_TYPE_INTEGER 0x0\r
68#define TCG_ATOM_TYPE_BYTE 0x1\r
79af8319 69typedef struct {\r
2f88bd3a
MK
70 UINT8 Data : 6;\r
71 UINT8 Sign : 1;\r
72 UINT8 IsZero : 1;\r
79af8319
ED
73} TCG_TINY_ATOM_BITS;\r
74\r
75typedef union {\r
2f88bd3a
MK
76 UINT8 Raw;\r
77 TCG_TINY_ATOM_BITS TinyAtomBits;\r
79af8319
ED
78} TCG_SIMPLE_TOKEN_TINY_ATOM;\r
79\r
79af8319 80typedef struct {\r
2f88bd3a
MK
81 UINT8 Length : 4;\r
82 UINT8 SignOrCont : 1;\r
83 UINT8 ByteOrInt : 1;\r
84 UINT8 IsZero : 1;\r
85 UINT8 IsOne : 1;\r
79af8319
ED
86} TCG_SHORT_ATOM_BITS;\r
87\r
88typedef union {\r
2f88bd3a
MK
89 UINT8 RawHeader;\r
90 TCG_SHORT_ATOM_BITS ShortAtomBits;\r
79af8319
ED
91} TCG_SIMPLE_TOKEN_SHORT_ATOM;\r
92\r
2f88bd3a
MK
93#define TCG_MEDIUM_ATOM_LENGTH_HIGH_SHIFT 0x8\r
94#define TCG_MEDIUM_ATOM_LENGTH_HIGH_MASK 0x7\r
79af8319
ED
95\r
96typedef struct {\r
2f88bd3a
MK
97 UINT8 LengthHigh : 3;\r
98 UINT8 SignOrCont : 1;\r
99 UINT8 ByteOrInt : 1;\r
100 UINT8 IsZero : 1;\r
101 UINT8 IsOne1 : 1;\r
102 UINT8 IsOne2 : 1;\r
103 UINT8 LengthLow;\r
79af8319
ED
104} TCG_MEDIUM_ATOM_BITS;\r
105\r
106typedef union {\r
2f88bd3a
MK
107 UINT16 RawHeader;\r
108 TCG_MEDIUM_ATOM_BITS MediumAtomBits;\r
79af8319
ED
109} TCG_SIMPLE_TOKEN_MEDIUM_ATOM;\r
110\r
2f88bd3a
MK
111#define TCG_LONG_ATOM_LENGTH_HIGH_SHIFT 16\r
112#define TCG_LONG_ATOM_LENGTH_MID_SHIFT 8\r
79af8319
ED
113\r
114typedef struct {\r
2f88bd3a
MK
115 UINT8 SignOrCont : 1;\r
116 UINT8 ByteOrInt : 1;\r
117 UINT8 Reserved : 2;\r
118 UINT8 IsZero : 1;\r
119 UINT8 IsOne1 : 1;\r
120 UINT8 IsOne2 : 1;\r
121 UINT8 IsOne3 : 1;\r
122 UINT8 LengthHigh;\r
123 UINT8 LengthMid;\r
124 UINT8 LengthLow;\r
79af8319
ED
125} TCG_LONG_ATOM_BITS;\r
126\r
127typedef union {\r
2f88bd3a
MK
128 UINT32 RawHeader;\r
129 TCG_LONG_ATOM_BITS LongAtomBits;\r
79af8319
ED
130} TCG_SIMPLE_TOKEN_LONG_ATOM;\r
131\r
79af8319
ED
132// TCG Core Spec v2 - Table 04 - Token Types\r
133typedef enum {\r
134 TcgTokenTypeReserved,\r
135 TcgTokenTypeTinyAtom,\r
136 TcgTokenTypeShortAtom,\r
137 TcgTokenTypeMediumAtom,\r
138 TcgTokenTypeLongAtom,\r
139 TcgTokenTypeStartList,\r
140 TcgTokenTypeEndList,\r
141 TcgTokenTypeStartName,\r
142 TcgTokenTypeEndName,\r
143 TcgTokenTypeCall,\r
144 TcgTokenTypeEndOfData,\r
145 TcgTokenTypeEndOfSession,\r
146 TcgTokenTypeStartTransaction,\r
147 TcgTokenTypeEndTransaction,\r
148 TcgTokenTypeEmptyAtom,\r
149} TCG_TOKEN_TYPE;\r
150\r
151#pragma pack()\r
152\r
153#define TCG_TOKEN_SHORTATOM_MAX_BYTE_SIZE 0x0F\r
154#define TCG_TOKEN_MEDIUMATOM_MAX_BYTE_SIZE 0x7FF\r
155#define TCG_TOKEN_LONGATOM_MAX_BYTE_SIZE 0xFFFFFF\r
156\r
2f88bd3a
MK
157#define TCG_TOKEN_TINYATOM_UNSIGNED_MAX_VALUE 0x3F\r
158#define TCG_TOKEN_TINYATOM_SIGNED_MAX_VALUE 0x1F\r
159#define TCG_TOKEN_TINYATOM_SIGNED_MIN_VALUE -32\r
79af8319
ED
160\r
161// TOKEN TYPES\r
162#define TCG_TOKEN_TINYATOM 0x00\r
163#define TCG_TOKEN_TINYSIGNEDATOM 0x40\r
164#define TCG_TOKEN_SHORTATOM 0x80\r
165#define TCG_TOKEN_SHORTSIGNEDATOM 0x90\r
166#define TCG_TOKEN_SHORTBYTESATOM 0xA0\r
167#define TCG_TOKEN_MEDIUMATOM 0xC0\r
168#define TCG_TOKEN_MEDIUMSIGNEDATOM 0xC8\r
169#define TCG_TOKEN_MEDIUMBYTESATOM 0xD0\r
170#define TCG_TOKEN_LONGATOM 0xE0\r
171#define TCG_TOKEN_LONGSIGNEDATOM 0xE1\r
172#define TCG_TOKEN_LONGBYTESATOM 0xE2\r
173#define TCG_TOKEN_STARTLIST 0xF0\r
174#define TCG_TOKEN_ENDLIST 0xF1\r
175#define TCG_TOKEN_STARTNAME 0xF2\r
176#define TCG_TOKEN_ENDNAME 0xF3\r
177// 0xF4 - 0xF7 TCG Reserved\r
178#define TCG_TOKEN_CALL 0xF8\r
179#define TCG_TOKEN_ENDDATA 0xF9\r
180#define TCG_TOKEN_ENDSESSION 0xFA\r
181#define TCG_TOKEN_STARTTRANSACTION 0xFB\r
182#define TCG_TOKEN_ENDTRANSACTION 0xFC\r
183// 0xFD - 0xFE TCG Reserved\r
2f88bd3a 184#define TCG_TOKEN_EMPTY 0xFF\r
79af8319
ED
185\r
186// CELLBLOCK reserved Names\r
2f88bd3a
MK
187#define TCG_CELL_BLOCK_TABLE_NAME (UINT8)0x00\r
188#define TCG_CELL_BLOCK_START_ROW_NAME (UINT8)0x01\r
189#define TCG_CELL_BLOCK_END_ROW_NAME (UINT8)0x02\r
190#define TCG_CELL_BLOCK_START_COLUMN_NAME (UINT8)0x03\r
191#define TCG_CELL_BLOCK_END_COLUMN_NAME (UINT8)0x04\r
79af8319
ED
192\r
193// METHOD STATUS CODES\r
2f88bd3a
MK
194#define TCG_METHOD_STATUS_CODE_SUCCESS 0x00\r
195#define TCG_METHOD_STATUS_CODE_NOT_AUTHORIZED 0x01\r
196#define TCG_METHOD_STATUS_CODE_OBSOLETE 0x02\r
197#define TCG_METHOD_STATUS_CODE_SP_BUSY 0x03\r
198#define TCG_METHOD_STATUS_CODE_SP_FAILED 0x04\r
199#define TCG_METHOD_STATUS_CODE_SP_DISABLED 0x05\r
200#define TCG_METHOD_STATUS_CODE_SP_FROZEN 0x06\r
201#define TCG_METHOD_STATUS_CODE_NO_SESSIONS_AVAILABLE 0x07\r
202#define TCG_METHOD_STATUS_CODE_UNIQUENESS_CONFLICT 0x08\r
203#define TCG_METHOD_STATUS_CODE_INSUFFICIENT_SPACE 0x09\r
204#define TCG_METHOD_STATUS_CODE_INSUFFICIENT_ROWS 0x0A\r
205#define TCG_METHOD_STATUS_CODE_INVALID_PARAMETER 0x0C\r
206#define TCG_METHOD_STATUS_CODE_OBSOLETE2 0x0D\r
207#define TCG_METHOD_STATUS_CODE_OBSOLETE3 0x0E\r
208#define TCG_METHOD_STATUS_CODE_TPER_MALFUNCTION 0x0F\r
209#define TCG_METHOD_STATUS_CODE_TRANSACTION_FAILURE 0x10\r
210#define TCG_METHOD_STATUS_CODE_RESPONSE_OVERFLOW 0x11\r
211#define TCG_METHOD_STATUS_CODE_AUTHORITY_LOCKED_OUT 0x12\r
212#define TCG_METHOD_STATUS_CODE_FAIL 0x3F\r
79af8319
ED
213\r
214// Feature Codes\r
215#define TCG_FEATURE_INVALID (UINT16)0x0000\r
216#define TCG_FEATURE_TPER (UINT16)0x0001\r
217#define TCG_FEATURE_LOCKING (UINT16)0x0002\r
218#define TCG_FEATURE_GEOMETRY_REPORTING (UINT16)0x0003\r
219#define TCG_FEATURE_SINGLE_USER_MODE (UINT16)0x0201\r
220#define TCG_FEATURE_DATASTORE_TABLE (UINT16)0x0202\r
221#define TCG_FEATURE_OPAL_SSC_V1_0_0 (UINT16)0x0200\r
222#define TCG_FEATURE_OPAL_SSC_V2_0_0 (UINT16)0x0203\r
223#define TCG_FEATURE_OPAL_SSC_LITE (UINT16)0x0301\r
224#define TCG_FEATURE_PYRITE_SSC (UINT16)0x0302\r
45df1841 225#define TCG_FEATURE_PYRITE_SSC_V2_0_0 (UINT16)0x0303\r
19d539af 226#define TCG_FEATURE_BLOCK_SID (UINT16)0x0402\r
45df1841 227#define TCG_FEATURE_DATA_REMOVAL (UINT16)0x0404\r
79af8319
ED
228\r
229// ACE Expression values\r
2f88bd3a
MK
230#define TCG_ACE_EXPRESSION_AND 0x0\r
231#define TCG_ACE_EXPRESSION_OR 0x1\r
79af8319
ED
232\r
233/****************************************************************************\r
234TRUSTED RECEIVE - supported security protocols list (SP_Specific = 0000h)\r
235ATA 8 Rev6a Table 68 7.57.6.2\r
236****************************************************************************/\r
237// Security Protocol IDs\r
2f88bd3a
MK
238#define TCG_SECURITY_PROTOCOL_INFO 0x00\r
239#define TCG_OPAL_SECURITY_PROTOCOL_1 0x01\r
240#define TCG_OPAL_SECURITY_PROTOCOL_2 0x02\r
241#define TCG_SECURITY_PROTOCOL_TCG3 0x03\r
242#define TCG_SECURITY_PROTOCOL_TCG4 0x04\r
243#define TCG_SECURITY_PROTOCOL_TCG5 0x05\r
244#define TCG_SECURITY_PROTOCOL_TCG6 0x06\r
245#define TCG_SECURITY_PROTOCOL_CBCS 0x07\r
246#define TCG_SECURITY_PROTOCOL_TAPE_DATA 0x20\r
247#define TCG_SECURITY_PROTOCOL_DATA_ENCRYPT_CONFIG 0x21\r
248#define TCG_SECURITY_PROTOCOL_SA_CREATION_CAPS 0x40\r
249#define TCG_SECURITY_PROTOCOL_IKEV2_SCSI 0x41\r
250#define TCG_SECURITY_PROTOCOL_JEDEC_UFS 0xEC\r
251#define TCG_SECURITY_PROTOCOL_SDCARD_SECURITY 0xED\r
252#define TCG_SECURITY_PROTOCOL_IEEE_1667 0xEE\r
253#define TCG_SECURITY_PROTOCOL_ATA_DEVICE_SERVER_PASS 0xEF\r
79af8319
ED
254\r
255// Security Protocol Specific IDs\r
2f88bd3a
MK
256#define TCG_SP_SPECIFIC_PROTOCOL_LIST 0x0000\r
257#define TCG_SP_SPECIFIC_PROTOCOL_LEVEL0_DISCOVERY 0x0001\r
79af8319 258\r
2f88bd3a 259#define TCG_RESERVED_COMID 0x0000\r
79af8319 260\r
81c1b6df
ED
261// Defined in TCG Storage Feature Set:Block SID Authentication spec,\r
262// ComId used for BlockSid command is hardcode 0x0005.\r
2f88bd3a 263#define TCG_BLOCKSID_COMID 0x0005\r
81c1b6df 264\r
79af8319
ED
265#pragma pack(1)\r
266typedef struct {\r
2f88bd3a
MK
267 UINT8 Reserved[6];\r
268 UINT16 ListLength_BE; // 6 - 7\r
269 UINT8 List[504]; // 8...\r
79af8319
ED
270} TCG_SUPPORTED_SECURITY_PROTOCOLS;\r
271\r
79af8319
ED
272// Level 0 Discovery\r
273typedef struct {\r
2f88bd3a
MK
274 UINT32 LengthBE; // number of valid bytes in discovery response, not including length field\r
275 UINT16 VerMajorBE;\r
276 UINT16 VerMinorBE;\r
277 UINT8 Reserved[8];\r
278 UINT8 VendorUnique[32];\r
79af8319
ED
279} TCG_LEVEL0_DISCOVERY_HEADER;\r
280\r
281typedef struct _TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER {\r
2f88bd3a
MK
282 UINT16 FeatureCode_BE;\r
283 UINT8 Reserved : 4;\r
284 UINT8 Version : 4;\r
285 UINT8 Length; // length of feature dependent data in bytes\r
79af8319
ED
286} TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER;\r
287\r
79af8319 288typedef struct {\r
2f88bd3a
MK
289 TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;\r
290 UINT8 LockingSupported : 1;\r
291 UINT8 LockingEnabled : 1; // means the locking security provider (SP) is enabled\r
292 UINT8 Locked : 1; // means at least 1 locking range is enabled\r
293 UINT8 MediaEncryption : 1;\r
294 UINT8 MbrEnabled : 1;\r
295 UINT8 MbrDone : 1;\r
296 UINT8 Reserved : 2;\r
297 UINT8 Reserved515[11];\r
79af8319
ED
298} TCG_LOCKING_FEATURE_DESCRIPTOR;\r
299\r
19d539af 300typedef struct {\r
2f88bd3a
MK
301 TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;\r
302 UINT8 SIDValueState : 1;\r
303 UINT8 SIDBlockedState : 1;\r
304 UINT8 Reserved4 : 6;\r
305 UINT8 HardwareReset : 1;\r
306 UINT8 Reserved5 : 7;\r
307 UINT8 Reserved615[10];\r
19d539af
ED
308} TCG_BLOCK_SID_FEATURE_DESCRIPTOR;\r
309\r
79af8319 310typedef struct {\r
2f88bd3a
MK
311 TCG_LEVEL0_FEATURE_DESCRIPTOR_HEADER Header;\r
312 UINT8 SyncSupported : 1;\r
313 UINT8 AsyncSupported : 1;\r
314 UINT8 AckNakSupported : 1;\r
315 UINT8 BufferMgmtSupported : 1;\r
316 UINT8 StreamingSupported : 1;\r
317 UINT8 Reserved4b5 : 1;\r
318 UINT8 ComIdMgmtSupported : 1;\r
319 UINT8 Reserved4b7 : 1;\r
320 UINT8 Reserved515[11];\r
79af8319
ED
321} TCG_TPER_FEATURE_DESCRIPTOR;\r
322\r
323#pragma pack()\r
324\r
325// Special Purpose UIDs\r
2f88bd3a
MK
326#define TCG_UID_NULL TCG_TO_UID(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)\r
327#define TCG_UID_THIS_SP TCG_TO_UID(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01)\r
328#define TCG_UID_SMUID TCG_TO_UID(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF)\r
79af8319
ED
329\r
330// Session Manager Method UIDS\r
2f88bd3a
MK
331#define TCG_UID_SM_PROPERTIES TCG_TO_UID(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01)\r
332#define TCG_UID_SM_START_SESSION TCG_TO_UID(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x02)\r
333#define TCG_UID_SM_SYNC_SESSION TCG_TO_UID(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x03)\r
334#define TCG_UID_SM_START_TRUSTED_SESSION TCG_TO_UID(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x04)\r
335#define TCG_UID_SM_SYNC_TRUSTED_SESSION TCG_TO_UID(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x05)\r
336#define TCG_UID_SM_CLOSE_SESSION TCG_TO_UID(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x06)\r
79af8319
ED
337\r
338// MethodID UIDs\r
2f88bd3a
MK
339#define TCG_UID_METHOD_DELETE_SP TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01)\r
340#define TCG_UID_METHOD_CREATE_TABLE TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02)\r
341#define TCG_UID_METHOD_DELETE TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03)\r
342#define TCG_UID_METHOD_CREATE_ROW TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04)\r
343#define TCG_UID_METHOD_DELETE_ROW TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05)\r
344#define TCG_UID_METHOD_NEXT TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08)\r
345#define TCG_UID_METHOD_GET_FREE_SPACE TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09)\r
346#define TCG_UID_METHOD_GET_FREE_ROWS TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0A)\r
347#define TCG_UID_METHOD_DELETE_METHOD TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0B)\r
348#define TCG_UID_METHOD_GET_ACL TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D)\r
349#define TCG_UID_METHOD_ADD_ACE TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0E)\r
350#define TCG_UID_METHOD_REMOVE_ACE TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0F)\r
351#define TCG_UID_METHOD_GEN_KEY TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10)\r
352#define TCG_UID_METHOD_GET_PACKAGE TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x12)\r
353#define TCG_UID_METHOD_SET_PACKAGE TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x13)\r
354#define TCG_UID_METHOD_GET TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x16)\r
355#define TCG_UID_METHOD_SET TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x17)\r
356#define TCG_UID_METHOD_AUTHENTICATE TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C)\r
357#define TCG_UID_METHOD_ISSUE_SP TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x02, 0x01)\r
358#define TCG_UID_METHOD_GET_CLOCK TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x04, 0x01)\r
359#define TCG_UID_METHOD_RESET_CLOCK TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x04, 0x02)\r
360#define TCG_UID_METHOD_SET_CLOCK_HIGH TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x04, 0x03)\r
361#define TCG_UID_METHOD_SET_LAG_HIGH TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x04, 0x04)\r
362#define TCG_UID_METHOD_SET_CLOCK_LOW TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x04, 0x05)\r
363#define TCG_UID_METHOD_SET_LAG_LOW TCG_TO_UID(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x06)\r
364#define TCG_UID_METHOD_INCREMENT_COUNTER TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x04, 0x07)\r
365#define TCG_UID_METHOD_RANDOM TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x01)\r
366#define TCG_UID_METHOD_SALT TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x02)\r
367#define TCG_UID_METHOD_DECRYPT_INIT TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x03)\r
368#define TCG_UID_METHOD_DECRYPT TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x04)\r
369#define TCG_UID_METHOD_DECRYPT_FINALIZE TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x05)\r
370#define TCG_UID_METHOD_ENCRYPT_INIT TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x06)\r
371#define TCG_UID_METHOD_ENCRYPT TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x07)\r
372#define TCG_UID_METHOD_ENCRYPT_FINALIZE TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x08)\r
373#define TCG_UID_METHOD_HMAC_INIT TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x09)\r
374#define TCG_UID_METHOD_HMAC TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x0A)\r
375#define TCG_UID_METHOD_HMAC_FINALIZE TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x0B)\r
376#define TCG_UID_METHOD_HASH_INIT TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x0C)\r
377#define TCG_UID_METHOD_HASH TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x0D)\r
378#define TCG_UID_METHOD_HASH_FINALIZE TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x0E)\r
379#define TCG_UID_METHOD_SIGN TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x0F)\r
380#define TCG_UID_METHOD_VERIFY TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x10)\r
381#define TCG_UID_METHOD_XOR TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x11)\r
382#define TCG_UID_METHOD_ADD_LOG TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0A, 0x01)\r
383#define TCG_UID_METHOD_CREATE_LOG TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0A, 0x02)\r
384#define TCG_UID_METHOD_CLEAR_LOG TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0A, 0x03)\r
385#define TCG_UID_METHOD_FLUSH_LOG TCG_TO_UID(0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0A, 0x04)\r
79af8319
ED
386\r
387#endif // TCG_H_\r