]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/IndustryStandard/Tpm12.h
INF module description added
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Tpm12.h
CommitLineData
42eedea9 1/** @file \r
267669ba 2 TPM Specification data structures (TCG TPM Specification Version 1.2 Revision 94)\r
267669ba
LG
3 See http://trustedcomputinggroup.org for latest specification updates\r
4\r
4135253b 5 Copyright (c) 2006 - 2008, Intel Corporation\r
8069d49e
LG
6 All rights reserved. This program and the accompanying materials \r
7 are licensed and made available under the terms and conditions of the BSD License \r
8 which accompanies this distribution. The full text of the license may be found at \r
9 http://opensource.org/licenses/bsd-license.php \r
10\r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
13**/\r
14\r
267669ba
LG
15\r
16#ifndef _TPM12_H_\r
17#define _TPM12_H_\r
18\r
ec8432e5 19///\r
20/// The start of TPM return codes\r
21///\r
267669ba
LG
22#define TPM_BASE (EFI_MAX_BIT + (EFI_MAX_BIT >> 1))\r
23\r
24//\r
427987f5 25// All structures MUST be packed on a byte boundary.\r
267669ba 26//\r
766f4bc1 27\r
a04ad3f0 28#pragma pack (1)\r
267669ba
LG
29\r
30//\r
4135253b 31// Part 2, section 2.2.3: Helper redefinitions\r
267669ba 32//\r
cc078d72 33///\r
34/// Indicates the conditions where it is required that authorization be presented\r
35///\r
267669ba 36typedef UINT8 TPM_AUTH_DATA_USAGE;\r
cc078d72 37///\r
38/// The information as to what the payload is in an encrypted structure\r
39///\r
267669ba 40typedef UINT8 TPM_PAYLOAD_TYPE;\r
cc078d72 41///\r
42/// The version info breakdown\r
43///\r
267669ba 44typedef UINT8 TPM_VERSION_BYTE;\r
cc078d72 45///\r
46/// The request or response authorization type\r
47///\r
267669ba 48typedef UINT16 TPM_TAG;\r
cc078d72 49///\r
50/// The protocol in use\r
51///\r
267669ba 52typedef UINT16 TPM_PROTOCOL_ID;\r
cc078d72 53///\r
54/// Indicates the start state\r
55///\r
267669ba 56typedef UINT16 TPM_STARTUP_TYPE;\r
cc078d72 57///\r
58/// The definition of the encryption scheme\r
59///\r
267669ba 60typedef UINT16 TPM_ENC_SCHEME;\r
cc078d72 61///\r
62/// The definition of the signature scheme\r
63///\r
267669ba 64typedef UINT16 TPM_SIG_SCHEME;\r
cc078d72 65///\r
66/// The definition of the migration scheme\r
67///\r
267669ba 68typedef UINT16 TPM_MIGRATE_SCHEME;\r
cc078d72 69///\r
70/// Sets the state of the physical presence mechanism\r
71///\r
267669ba 72typedef UINT16 TPM_PHYSICAL_PRESENCE;\r
cc078d72 73///\r
74/// Indicates the types of entity that are supported by the TPM\r
75///\r
267669ba 76typedef UINT16 TPM_ENTITY_TYPE;\r
cc078d72 77///\r
78/// Indicates the permitted usage of the key\r
79///\r
267669ba 80typedef UINT16 TPM_KEY_USAGE;\r
cc078d72 81///\r
82/// The type of asymmetric encrypted structure in use by the endorsement key\r
83///\r
267669ba 84typedef UINT16 TPM_EK_TYPE;\r
cc078d72 85///\r
86/// The tag for the structure\r
87///\r
267669ba 88typedef UINT16 TPM_STRUCTURE_TAG;\r
cc078d72 89///\r
90/// The platform specific spec to which the information relates to\r
91///\r
267669ba 92typedef UINT16 TPM_PLATFORM_SPECIFIC;\r
cc078d72 93///\r
94/// The command ordinal\r
95///\r
267669ba 96typedef UINT32 TPM_COMMAND_CODE;\r
cc078d72 97///\r
98/// Identifies a TPM capability area\r
99///\r
267669ba 100typedef UINT32 TPM_CAPABILITY_AREA;\r
cc078d72 101///\r
102/// Indicates information regarding a key\r
103///\r
267669ba 104typedef UINT32 TPM_KEY_FLAGS;\r
cc078d72 105///\r
106/// Indicates the type of algorithm\r
107///\r
267669ba 108typedef UINT32 TPM_ALGORITHM_ID;\r
cc078d72 109///\r
110/// The locality modifier\r
111///\r
267669ba 112typedef UINT32 TPM_MODIFIER_INDICATOR;\r
cc078d72 113///\r
114/// The actual number of a counter\r
115///\r
267669ba 116typedef UINT32 TPM_ACTUAL_COUNT;\r
cc078d72 117///\r
118/// Attributes that define what options are in use for a transport session\r
119///\r
267669ba 120typedef UINT32 TPM_TRANSPORT_ATTRIBUTES;\r
cc078d72 121///\r
122/// Handle to an authorization session\r
123///\r
267669ba 124typedef UINT32 TPM_AUTHHANDLE;\r
cc078d72 125///\r
126/// Index to a DIR register\r
127///\r
267669ba 128typedef UINT32 TPM_DIRINDEX;\r
cc078d72 129///\r
130/// The area where a key is held assigned by the TPM\r
131///\r
267669ba 132typedef UINT32 TPM_KEY_HANDLE;\r
cc078d72 133///\r
134/// Index to a PCR register\r
135///\r
267669ba 136typedef UINT32 TPM_PCRINDEX;\r
cc078d72 137///\r
138/// The return code from a function\r
139///\r
267669ba 140typedef UINT32 TPM_RESULT;\r
cc078d72 141///\r
142/// The types of resources that a TPM may have using internal resources\r
143///\r
267669ba 144typedef UINT32 TPM_RESOURCE_TYPE;\r
cc078d72 145///\r
146/// Allows for controlling of the key when loaded and how to handle TPM_Startup issues\r
147///\r
267669ba 148typedef UINT32 TPM_KEY_CONTROL;\r
cc078d72 149///\r
150/// The index into the NV storage area\r
151///\r
267669ba 152typedef UINT32 TPM_NV_INDEX;\r
cc078d72 153///\r
154