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