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